private void AddNeighborNodesToOpenList(Node currentNode, List<Tile> neighborTiles)
{
bool openHasNeighbor = false;
Node neighborNode;
int openCount = openNodes.Count;
int openNodeSimilarIndex = 0;
for (int i = 0; i < neighborTiles.Count; i++)
{
openHasNeighbor = false;
if (openDict.ContainsKey(neighborTiles[i].ID))
{
openHasNeighbor = true;
for (int j = 0; j < openCount; j++)
{
if (openNodes[j].tile == neighborTiles[i])
{
//openHasNeighbor = true;
openNodeSimilarIndex = j;
break;
}
}
//openNodeSimilarIndex = neighborTiles[i].ID;
}
neighborNode = TransformToNode(neighborTiles[i], currentNode);
if (openHasNeighbor)
{
if (neighborNode.currentCost < openNodes[openNodeSimilarIndex].currentCost)
{
openNodes[openNodeSimilarIndex] = TransformToNode(openNodes[openNodeSimilarIndex].tile, currentNode);
}
}
else
{
openNodes.Add(neighborNode);
openDict.Add(neighborTiles[i].ID, neighborTiles[i]);
}
}
}