public IEnumerable<Neighbour> GetNeighbours(int nodeId)
{
var result = new List<Neighbour>();
var node = Graph.GetNode(nodeId);
var nodeInfo = node.Info;
foreach (var edge in node.Edges)
{
var targetNodeId = edge.TargetNodeId;
var targetNodeInfo = Graph.GetNodeInfo(targetNodeId);
if (CanJump(targetNodeInfo.Position, nodeInfo.Position) && !targetNodeInfo.IsObstacle)
result.Add(new Neighbour(targetNodeId, edge.Info.Cost));
}
return result;
}