Пример #1
0
        /// <summary>
        /// 单元格添加到指定的块
        /// </summary>
        /// <param name="widthIndex"></param>
        /// <param name="heightIndex"></param>
        /// <param name="cell"></param>
        private void AddCellToChunk(int widthIndex, int heightIndex, HexagonCell cell)
        {
            int chunkX             = widthIndex / HexagonGrid.chunkSizeWidth;
            int chunkZ             = heightIndex / HexagonGrid.chunkSizeHeight;
            HexagonGridChunk chunk = this.chunks [chunkX + chunkZ * this.chunkCountWidth];

            int localX = widthIndex - chunkX * HexagonGrid.chunkSizeWidth;
            int localZ = heightIndex - chunkZ * HexagonGrid.chunkSizeHeight;

            chunk.AddCell(localX + localZ * HexagonGrid.chunkSizeWidth, cell);
        }
Пример #2
0
        /// <summary>
        ///
        /// </summary>
        private void CreateChunks()
        {
            this.chunks = new HexagonGridChunk[this.chunkCountWidth * this.chunkCountHeight];

            for (int z = 0, i = 0; z < this.chunkCountHeight; z++)
            {
                for (int x = 0; x < this.chunkCountWidth; x++)
                {
                    HexagonGridChunk chunk = chunks [i++] = Instantiate <HexagonGridChunk> (chunkPrefab);
                    chunk.transform.SetParent(transform);
                }
            }
        }