public override void DrawGizmos(bool _draw)
        {
            if (!_draw || !this.enabled || Entity == null)
            {
                return;
            }

            CustomGizmos.Color(GizmoColor);
            Gizmos.DrawSphere(this.transform.position, GizmoSize);
            //Gizmos.DrawWireCube( this.transform.position, Vector3.one );

            if (Entity.EntityType == ICE.World.EnumTypes.EntityClassType.Waypoint)
            {
                ICECreatureWaypoint _waypoint = Entity as ICECreatureWaypoint;

                if (_waypoint != null && _waypoint.Links.Enabled)
                {
                    foreach (WaypointLinkObject _link in _waypoint.Links.Links)
                    {
                        if (_link.Enabled && _link.Waypoint != null)
                        {
                            float _dist = 0.25f;

                            Vector3 _pos_origin = this.transform.position;
                            Vector3 _pos_target = _link.Waypoint.transform.position;
                            Vector3 _dir        = (_pos_target - _pos_origin).normalized;
                            //_dir.y = 0;
                            Vector3 _rot_dir = _dir;
                            _rot_dir.y = 0;
                            _rot_dir   = Quaternion.Euler(0, 90, 0) * _rot_dir;

                            Gizmos.DrawLine(_pos_origin + (_rot_dir * _dist), _pos_target + (_rot_dir * _dist));
                            //CustomGizmos.Arrow( _pos_origin + ( _rot_dir * _dist ) + ( _dir * 2 ),  _dir );
                            CustomGizmos.ArrowHead(_pos_origin + (_rot_dir * _dist) + (_dir * 1.0f), _dir, _dist * 2, _dist * 100);
                            CustomGizmos.ArrowHead(_pos_origin + (_rot_dir * _dist) + (_dir * 1.5f), _dir, _dist * 2, _dist * 100);
                            CustomGizmos.ArrowHead(_pos_origin + (_rot_dir * _dist) + (_dir * 2.0f), _dir, _dist * 2, _dist * 100);
                            //CustomGizmos.Arrow( 0,  _pos_origin + ( _rot_dir * _dist ) + ( _dir * 1 ), Quaternion.LookRotation( _dir ), _dist * 10 );
                        }
                    }
                }
            }
        }