Exemple #1
0
        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);
 }