private Node PrepareNewNodeFrom(Node n, int x, int y)
{
Node newNode = new Node(n.X + x, n.Y + y, 0, 0, 0, n, _map[n.X + x][n.Y + y]);
newNode.G = n.G + MovementCost(n, newNode);
newNode.H = Heuristic(newNode);
newNode.MoveCost = newNode.G + newNode.H;
newNode.Parent = n;
return newNode;
}