/// PathfindNode(Vector3 position, Quaternion rotation)
        /// This is called by the First Path

        public static void PathfindFirst(Pathfinder pathfinder, PathfindNode pathfindnode, Vector3 position)
        {
            pathfindnode.position     = position;
            pathfindnode.positionEyes = new Vector3(Mathf.Floor(position.x), Mathf.Ceil(position.y) + 0.5f, Mathf.Floor(position.z));
            pathfindnode.H            = 0;
            pathfindnode.G            = 0;
            pathfindnode.F            = 0;
            pathfinder.AddToPriorityList(pathfindnode);
        }
Beispiel #2
0
 ///
 /// PathfindNode(PathfindNode parentnode, Vector3 position, bool diagonal)
 /// This is called by all new pathnodes
 public PathfindNode(Pathfinder pathfinder, PathfindNode parentnode, Vector3 position, bool diagonal)
 {
     this.pathfinder   = pathfinder;
     this.position     = position;
     this.positionEyes = new Vector3(position.x, Mathf.Ceil(position.y) + 0.5f, position.z);
     this.parentNode   = parentnode;
     CalculateManhattanDistance(this, pathfinder.targetNode);
     CalculateMovementCost(this, diagonal);
     this.F = this.H + this.G;
     pathfinder.AddToPriorityList(this);
 }
 ///
 /// PathfindNode(PathfindNode parentnode, Vector3 position, bool diagonal)
 /// This is called by all new pathnodes
 public PathfindNode(Pathfinder pathfinder, PathfindNode parentnode, Vector3 position, bool diagonal)
 {
     this.pathfinder   = pathfinder;
     this.position     = position;
     this.positionEyes = new Vector3(position.x, Mathf.Ceil(position.y) + 0.5f, position.z);
     this.parentNode   = parentnode;
     CalculateManhattanDistance(this, pathfinder.targetNode);
     CalculateMovementCost(this, diagonal);
     this.F = this.H + this.G;
     pathfinder.AddToPriorityList(this);
     if (this.pathfinder.player != null)
     {
         this.pathfinder.player.SendConsoleCommand("ddraw.box", 5f, UnityEngine.Color.green, position, 0.5f);
     }
 }