public void SetAvailableNeighbours(PathNetwork pathingNetwork) { int count = 0; Connections = new List <int>(); for (int x = -1; x <= 1; x++) { for (int y = -1; y <= 1; y++) { if (x == 0 && y == 0) { continue; } Vector3Int gridPosition = NetworkPosition; gridPosition.x += x; gridPosition.y += y; if (pathingNetwork.TryGetNodeForNodePosition(gridPosition, out Node neighbour)) { Connections.Add(neighbour.GetHashCode()); count++; } } } Debug.Log("Neighbour count: " + count); }
public Region(PathNetwork pathNetwork, Vector3 worldPosition, Vector3 regionSize, float gridSpacing, PathAgent pathAgent) { _pathNetwork = pathNetwork; WorldPosition = worldPosition; _gridSpacing = gridSpacing; Extremes = _pathNetwork.GetExtremes(WorldPosition, regionSize); GenerateNodes(pathAgent, -Vector3.forward); }