示例#1
0
 void OnDestroy()
 {
     if (NavMesh2D.SceneHasNavmesh())
     {
         BreakLink();
     }
 }
示例#2
0
        void Update()
        {
            if (NavMesh2D.SceneHasNavmesh() == false)
            {
                PointA = null;
                PointB = null;
                return;
            }


            EnforceConnection();

            if (LinkEstablished && !LinkActive)
            {
                BreakLink();
            }
            else if (LinkEstablished == false && LinkActive)
            {
                EstablishLink();
            }
            else if (((Vector3)_lastPointAPos != transform.TransformPoint(PointAPos) || (Vector3)_lastPointBPos != transform.TransformPoint(PointBPos)) || (_lastBidirectional != Bidirectional))
            {
                BreakLink();
                EstablishLink();
            }
        }
示例#3
0
    void OnDrawGizmos()
    {
        Gizmos.DrawWireSphere(transform.position, 0.05f);
        if (LinkEstablished == false || NavMesh2D.SceneHasNavmesh() == false)
        {
            return;
        }

        Gizmos.color = Color.white;
        GizmosExtra.GizmosDrawArrow(NavMesh2D.GetNavMeshObject().GetNode(PointA).position + Vector3.back * 0.1f, NavMesh2D.GetNavMeshObject().GetNode(PointB).position + Vector3.back * 0.1f, 0.2f);
        if (Bidirectional)
        {
            GizmosExtra.GizmosDrawArrow(NavMesh2D.GetNavMeshObject().GetNode(PointB).position + Vector3.back * 0.1f, NavMesh2D.GetNavMeshObject().GetNode(PointA).position + Vector3.back * 0.1f, 0.2f);
        }
    }