示例#1
0
        public virtual void InitGrid(int cellsPerXAxis, int cellsPerYAxis, int cellsPerZAxis, float cellSize, CreateCellDelegate cellCreateFunc)
        {
            this.cellsPerXAxis  = cellsPerXAxis;
            this.cellsPerYAxis  = cellsPerYAxis;
            this.cellsPerZAxis  = cellsPerZAxis;
            this.cellSize       = cellSize;
            this.cellCreateFunc = cellCreateFunc;

            cells = new T[cellsPerXAxis, cellsPerYAxis, cellsPerZAxis];

            for (int y = 0; y < cellsPerYAxis; ++y)
            {
                for (int z = 0; z < cellsPerZAxis; ++z)
                {
                    for (int x = 0; x < cellsPerXAxis; ++x)
                    {
                        T cell = cellCreateFunc(this, x, y, z);
                        cells[x, y, z] = cell;
                    }
                }
            }

            bounds = BoundsExt.New(Vector3.zero, new Vector3(
                                       cellSize * (float)cellsPerXAxis,
                                       cellSize * (float)cellsPerYAxis,
                                       cellSize * (float)cellsPerZAxis));
        }
示例#2
0
 public void InitGrid(int cellsPerAxis, float cellSize, CreateCellDelegate cellCreateFunc)
 {
     InitGrid(cellsPerAxis, cellsPerAxis, cellsPerAxis, cellSize, cellCreateFunc);
 }