/// 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); }
/// /// 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); } }