public static void AddPath(LinkedList <Vector2> path, SimplePriorityQueue <Node> openPositions, Dictionary <Axial, Node> closedPositions) { if (!isOn) { return; } PathEntry entry = new PathEntry(); foreach (Vector2 position in path) { Axial axialPosition = Axial.FromWorldPosition(position); Node node = closedPositions[axialPosition]; entry.Nodes.Add(axialPosition, (node, NodeType.Path)); } foreach (Node node in openPositions) { if (!entry.Nodes.ContainsKey(node.Position)) { entry.Nodes.Add(node.Position, (node, NodeType.Open)); } } foreach (var pair in closedPositions) { if (!entry.Nodes.ContainsKey(pair.Key)) { Node node = closedPositions[pair.Key]; entry.Nodes.Add(pair.Key, (node, NodeType.Closed)); } } entries.Add(entry); shouldUpdateText = true; }
public void Initialize(Node node) { worldPosition = Utility.AxialToWorldPosition(node.Position); costElement.text = GetText(node.Cost); heuristicElement.text = GetText(node.Heuristic); fullCostElement.text = GetText(node.FullValue); }