コード例 #1
0
 private void FinishPathfinding()
 {
     if (_currentTargetDelegate != null)
     {
         _currentTargetDelegate();
         _currentTargetDelegate = null;
     }
 }
コード例 #2
0
 private void UpdatePointTarget()
 {
     if (VectorFunctions.DistanceSquared(_navMeshAgent.destination, gameObject.transform.position) < TargetCompleteRadiusSquared)
     {
         _delegate();
         PlotCourse(gameObject.transform.position);
         _delegate = null;
     }
 }
コード例 #3
0
        public void SetTargetLocation(Vector3 targetLocation, OnPathfindingCompleteDelegate inDelegate)
        {
            var regions = _navigation.GetRegionPath(gameObject.transform.position, targetLocation);

            if (regions != null)
            {
                _currentTargetDelegate = inDelegate;
                _currentTargetLocation = targetLocation;

                _pathRegions = regions;

                UpdateRegionPathStatus();
            }
            else
            {
                inDelegate();
            }
        }
コード例 #4
0
 public void CancelPathfinding()
 {
     _followTarget = null;
     _delegate     = null;
 }
コード例 #5
0
 // IPathfindingInterface
 public void SetTargetLocation(Vector3 targetLocation, OnPathfindingCompleteDelegate inDelegate)
 {
     _followTarget = null;
     inDelegate    = null;
     PlotCourse(targetLocation);
 }
コード例 #6
0
 public void CancelPathfinding()
 {
     _followTarget = null;
     _pathNodes.Clear();
     _currentTargetDelegate = null;
 }
コード例 #7
0
 public void SetTargetLocation(Vector3 targetLocation, OnPathfindingCompleteDelegate inDelegate)
 {
     TargetLocation = targetLocation;
     _delegate      = inDelegate;
 }