private void AddAllWalkableNeighbours(PathNode p) { if (!m_logicGrid.Grid[p.x, p.y].IsWalkable) { return; } p.AddNeighbour(GetNodeIfWalkable(p.x - 1, p.y)); p.AddNeighbour(GetNodeIfWalkable(p.x - 1, p.y - 1)); p.AddNeighbour(GetNodeIfWalkable(p.x - 1, p.y + 1)); p.AddNeighbour(GetNodeIfWalkable(p.x + 1, p.y)); p.AddNeighbour(GetNodeIfWalkable(p.x + 1, p.y - 1)); p.AddNeighbour(GetNodeIfWalkable(p.x + 1, p.y + 1)); p.AddNeighbour(GetNodeIfWalkable(p.x, p.y - 1)); p.AddNeighbour(GetNodeIfWalkable(p.x, p.y + 1)); foreach (PathNode n in p.GetNeighbourList()) { n.AddNeighbour(p); } }