private void ExamineNeighbors(List <Node> neighbors, Node currentNode, Vector3Int goalPos, NodeGrid grid) { foreach (Node neighbor in neighbors) { int gScore = DetermineGScore(neighbor.Position, currentNode.Position); if (!grid.CanMove(currentNode, neighbor)) { continue; } if (_OpenList.Contains(neighbor)) { if (currentNode.G + gScore < neighbor.G) { CalcValues(currentNode, neighbor, goalPos, gScore); } } else if (!_ClosedList.Contains(neighbor)) { CalcValues(currentNode, neighbor, goalPos, gScore); _OpenList.Add(neighbor); } } }