private MapMeshChunk[] GetHexMeshChunks( HexGrid <Hex> grid, float hexOuterRadius ) { MapMeshChunk[] result = new MapMeshChunk[ HexMeshChunkRows * HexMeshChunkColumns ]; for (int i = 0; i < result.Length; i++) { result[i] = MapMeshChunk.CreateEmpty(this.transform); } for (int hexRow = 0; hexRow < HexOffsetRows; hexRow++) { for (int hexColumn = 0; hexColumn < HexOffsetColumns; hexColumn++) { Hex hex = grid.GetElement(hexColumn, hexRow); int hexChunkColumn = hexColumn / HexMeshConstants.CHUNK_SIZE_Z; int hexChunkRow = hexRow / HexMeshConstants.CHUNK_SIZE_X; int hexLocalColumn = hexColumn % HexMeshConstants.CHUNK_SIZE_X; int hexLocalRow = hexRow % HexMeshConstants.CHUNK_SIZE_Z; result[ (hexChunkRow * HexMeshChunkColumns) + hexChunkColumn ].AddHex( (hexLocalRow * HexMeshConstants.CHUNK_SIZE_Z) + hexLocalColumn, hex ); } } return(result); }