コード例 #1
0
ファイル: NavMeshLink.cs プロジェクト: DarthIt0/3DLite-source
        void AddLink()
        {
#if UNITY_EDITOR
            if (m_LinkInstance.valid)
            {
                Debug.LogError("Link is already added: " + this);
                return;
            }
#endif

            var link = new NavMeshLinkData();
            link.startPosition = m_StartPoint;
            link.endPosition   = m_EndPoint;
            link.width         = m_Width;
            link.costModifier  = m_CostModifier;
            link.bidirectional = m_Bidirectional;
            link.area          = m_Area;
            link.agentTypeID   = m_AgentTypeID;
            m_LinkInstance     = NavMesh.AddLink(link, transform.position, transform.rotation);
            if (m_LinkInstance.valid)
            {
                m_LinkInstance.owner = this;
            }

            m_LastPosition = transform.position;
            m_LastRotation = transform.rotation;
        }
コード例 #2
0
 public static NavMeshLinkInstance AddLink(NavMeshLinkData link, Vector3 position, Quaternion rotation)
 {
     return(new NavMeshLinkInstance
     {
         id = NavMesh.AddLinkInternal(link, position, rotation)
     });
 }
コード例 #3
0
        void AddLink()
        {
#if UNITY_EDITOR
            if (_mLinkInstance.valid)
            {
                Debug.LogError($"Link is already added: {this}");
                return;
            }
#endif

            var link = new NavMeshLinkData();
            link.startPosition = mStartPoint;
            link.endPosition   = mEndPoint;
            link.width         = mWidth;
            link.costModifier  = mCostModifier;
            link.bidirectional = mBidirectional;
            link.area          = mArea;
            link.agentTypeID   = mAgentTypeId;
            _mLinkInstance     = NavMesh.AddLink(link, transform.position, transform.rotation);
            if (_mLinkInstance.valid)
            {
                _mLinkInstance.owner = this;
            }

            _mLastPosition = transform.position;
            _mLastRotation = transform.rotation;
        }
コード例 #4
0
 public static NavMeshLinkInstance AddLink(NavMeshLinkData link)
 {
     return(new NavMeshLinkInstance
     {
         id = NavMesh.AddLinkInternal(link, Vector3.zero, Quaternion.identity)
     });
 }
コード例 #5
0
        public static NavMeshLinkInstance AddLink(NavMeshLinkData link)
        {
            var handle = new NavMeshLinkInstance();

            handle.id = AddLinkInternal(link, Vector3.zero, Quaternion.identity);
            return(handle);
        }
コード例 #6
0
        public static NavMeshLinkInstance AddLink(NavMeshLinkData link, Vector3 position, Quaternion rotation)
        {
            var handle = new NavMeshLinkInstance();

            handle.id = AddLinkInternal(link, position, rotation);
            return(handle);
        }
コード例 #7
0
 static public int constructor(IntPtr l)
 {
     try {
                     #if DEBUG
         var    method     = System.Reflection.MethodBase.GetCurrentMethod();
         string methodName = GetMethodName(method);
                     #if UNITY_5_5_OR_NEWER
         UnityEngine.Profiling.Profiler.BeginSample(methodName);
                     #else
         Profiler.BeginSample(methodName);
                     #endif
                     #endif
         UnityEngine.AI.NavMeshLinkData o;
         o = new UnityEngine.AI.NavMeshLinkData();
         pushValue(l, true);
         pushValue(l, o);
         return(2);
     }
     catch (Exception e) {
         return(error(l, e));
     }
             #if DEBUG
     finally {
                     #if UNITY_5_5_OR_NEWER
         UnityEngine.Profiling.Profiler.EndSample();
                     #else
         Profiler.EndSample();
                     #endif
     }
             #endif
 }
コード例 #8
0
        public static NavMeshLinkInstance AddLink(NavMeshLinkData link, Vector3 position, Quaternion rotation)
        {
            NavMeshLinkInstance result = default(NavMeshLinkInstance);

            result.id = AddLinkInternal(link, position, rotation);
            return(result);
        }
コード例 #9
0
        public static NavMeshLinkInstance AddLink(NavMeshLinkData link)
        {
            NavMeshLinkInstance result = default(NavMeshLinkInstance);

            result.id = AddLinkInternal(link, Vector3.zero, Quaternion.identity);
            return(result);
        }
	static public int constructor(IntPtr l) {
		try {
			UnityEngine.AI.NavMeshLinkData o;
			o=new UnityEngine.AI.NavMeshLinkData();
			pushValue(l,true);
			pushValue(l,o);
			return 2;
		}
		catch(Exception e) {
			return error(l,e);
		}
	}
コード例 #11
0
        private void AddLink()
        {
            NavMeshLinkData navMeshLinkData = (NavMeshLinkData)null;

            ((NavMeshLinkData) ref navMeshLinkData).set_startPosition(this.m_StartPoint);
            ((NavMeshLinkData) ref navMeshLinkData).set_endPosition(this.m_EndPoint);
            ((NavMeshLinkData) ref navMeshLinkData).set_width(this.m_Width);
            ((NavMeshLinkData) ref navMeshLinkData).set_costModifier((float)this.m_CostModifier);
            ((NavMeshLinkData) ref navMeshLinkData).set_bidirectional(this.m_Bidirectional);
            ((NavMeshLinkData) ref navMeshLinkData).set_area(this.m_Area);
            ((NavMeshLinkData) ref navMeshLinkData).set_agentTypeID(this.m_AgentTypeID);
            this.m_LinkInstance = NavMesh.AddLink(navMeshLinkData, ((Component)this).get_transform().get_position(), ((Component)this).get_transform().get_rotation());
            if (((NavMeshLinkInstance) ref this.m_LinkInstance).get_valid())
            {
                ((NavMeshLinkInstance) ref this.m_LinkInstance).set_owner((Object)this);
            }
            this.m_LastPosition = ((Component)this).get_transform().get_position();
            this.m_LastRotation = ((Component)this).get_transform().get_rotation();
        }
コード例 #12
0
 private static extern int INTERNAL_CALL_AddLinkInternal(ref NavMeshLinkData link, ref Vector3 position, ref Quaternion rotation);
コード例 #13
0
 internal static int AddLinkInternal(NavMeshLinkData link, Vector3 position, Quaternion rotation)
 {
     return(NavMesh.INTERNAL_CALL_AddLinkInternal(ref link, ref position, ref rotation));
 }
コード例 #14
0
 internal static extern int AddLinkInternal(NavMeshLinkData link, Vector3 position, Quaternion rotation);
コード例 #15
0
 private static extern int AddLinkInternal_Injected(ref NavMeshLinkData link, ref Vector3 position, ref Quaternion rotation);
コード例 #16
0
 internal static int AddLinkInternal(NavMeshLinkData link, Vector3 position, Quaternion rotation)
 {
     return(NavMesh.AddLinkInternal_Injected(ref link, ref position, ref rotation));
 }