コード例 #1
0
    void CreateChunks(World.WorldType worldType)
    {
        chunks = new HexGridChunk[chunkCountX * chunkCountZ];
        for (int z = 0, i = 0; z < chunkCountZ; z++)
        {
            for (int x = 0; x < chunkCountX; x++)
            {
                HexGridChunk chunk = chunks[i++] = Instantiate(chunkPrefab);
                chunk.transform.SetParent(transform);

                if (i <= chunks.Length / 3)
                {
                    chunk.Initialize(HexGridChunk.ChunkElevationVariance.HILLY, HexGridChunk.ChunkMaterial.GRASS);
                }
                else if (i >= (chunks.Length / 3) * 2)
                {
                    chunk.Initialize(HexGridChunk.ChunkElevationVariance.FLAT, HexGridChunk.ChunkMaterial.GRASS);
                }
                else
                {
                    chunk.Initialize(HexGridChunk.ChunkElevationVariance.STEEP, HexGridChunk.ChunkMaterial.GRASS);
                }
            }
        }
    }
コード例 #2
0
    void AddCellToChunk(int x, int z, HexCell cell)
    {
        int          chunkX = x / HexMetrics.chunkSizeX;
        int          chunkZ = z / HexMetrics.chunkSizeZ;
        HexGridChunk chunk  = chunks[chunkX + chunkZ * chunkCountX];
        int          localX = x - chunkX * HexMetrics.chunkSizeX;
        int          localZ = z - chunkZ * HexMetrics.chunkSizeZ;

        chunk.AddCell(localX + localZ * HexMetrics.chunkSizeZ, cell);
    }
コード例 #3
0
ファイル: HexGrid.cs プロジェクト: GoForTheEyes/HexMap
    void AddCellToChunk(int x, int y, HexCell cell)
    {
        int          chunkX = x / chunkSizeX;
        int          chunkY = y / chunkSizeY;
        HexGridChunk chunk  = chunks[chunkX + chunkY * chunkCountX];
        int          localX = x - chunkX * chunkSizeX;
        int          localY = y - chunkY * chunkSizeY;

        chunk.AddCell(localX + localY * chunkSizeX, cell);
    }
コード例 #4
0
    /// <summary>
    /// 更新地图块
    /// </summary>
    /// <param name="chunkId">地图块编号</param>
    /// <param name="cellIndex">单元索引</param>
    /// <param name="color">颜色</param>
    /// <param name="elevation">海拔</param>
    /// <param name="affected">是否受影响</param>
    /// <param name="brushSize">刷子大小</param>
    public void UpdateChunk(int chunkId, int cellIndex, Color color, int elevation, bool affected = false, int brushSize = 0)
    {
        if (chunkId == int.MinValue)
        {
            return;
        }
        HexGridChunk chunk = chunks[chunkId];

        StartCoroutine(chunk.UpdateChunk(cellIndex, color, elevation, affected, brushSize));
    }
コード例 #5
0
    void AddToChunk(int x, int z, HexCell cell)
    {
        int chunkX = x / HexMetrics.chunkWidth;
        int chunkZ = z / HexMetrics.chunkHeight;

        HexGridChunk chunk  = chunks[chunkX + chunkZ * chunkCountX];
        int          localX = x - (chunkX * HexMetrics.chunkWidth);
        int          localZ = z - (chunkZ * HexMetrics.chunkHeight);

        chunk.AddCell(localX + localZ * HexMetrics.chunkWidth, cell);
    }
コード例 #6
0
    private void AddCellToChunk(int x, int z, HexCell cell)
    {
        int          chunkX = x / HexMetrics.CHUNK_SIZE_X;
        int          chunkZ = z / HexMetrics.CHUNK_SIZE_Z;
        HexGridChunk chunk  = chunks[chunkX + chunkZ * chunkCountX];

        int localX = x - chunkX * HexMetrics.CHUNK_SIZE_X;
        int localZ = z - chunkZ * HexMetrics.CHUNK_SIZE_Z;

        chunk.AddCell(localX + localZ * HexMetrics.CHUNK_SIZE_X, cell);
    }
コード例 #7
0
    //新建地图
    public void NewMap(HexCell cellPrefab, Text cellLabelPrefab, HexGridChunk gridChunkPerfab, bool isNewMaterial = false, Texture2D[] terrainTexs = null, int chunkWidth = 0, int chunkHeight = 0)
    {
        if (!HexMetrics.instance.isEditor)
        {
            gridCanvas = (Instantiate(Resources.Load("Prefabs/UIPrefabs/Hex Grid Canvas") as GameObject)).GetComponent <Canvas>();
            gridCanvas.transform.SetParent(transform);
        }

        //chunks = new HexGridChunk[chunkCountX * chunkCountZ];

        chunks = new HexGridChunk[chunkCountX * chunkCountZ];
        if (chunkWidth == 0 || chunkHeight == 0)
        {
            width  = HexMetrics.instance.chunkWidth;
            height = HexMetrics.instance.chunkHeight;
        }
        else
        {
            width  = chunkWidth;
            height = chunkHeight;
        }
        cellCountWidth  = width * chunkCountX;
        cellCountHeight = height * chunkCountZ;

        cells = new HexCell[cellCountWidth * cellCountHeight];

        for (int j = 0, i = 0; j < chunkCountZ; j++)
        {
            for (int k = 0; k < chunkCountX; k++)
            {
                HexGridChunk chunk = chunks[i++] = Instantiate(gridChunkPerfab) as HexGridChunk;
                chunk.Init(chunkWidth, chunkHeight, terrainTexs);
                //chunk.transform.SetParent(GameObject.Find("Map").transform);
                chunk.name = "HexChunk_" + k.ToString("000") + "_" + j.ToString("000");
                chunk.transform.SetParent(transform);
                chunk.transform.localPosition = new Vector3(chunk.transform.localPosition.x, 0, chunk.transform.localPosition.z);
                if (isNewMaterial)
                {
                    chunk.CreateMaterial(terrainTexs);
                }
            }
        }


        for (int j = 0, i = 0; j < cellCountHeight; j++)
        {
            for (int k = 0; k < cellCountWidth; k++)
            {
                CreateCell(k, j, i++, cellPrefab, cellLabelPrefab);
            }
        }

        Refresh();
    }
コード例 #8
0
    void AddCellToChunk(int x, int z, HexCell cell)
    {
        int          chunkX = x / HexMetrics.chunkSizeX;//делением нацело находим координаты нужного чанка
        int          chunkZ = z / HexMetrics.chunkSizeZ;
        HexGridChunk chunk  = chunks[chunkX + chunkZ * chunkCountX];

        int localX = x - chunkX * HexMetrics.chunkSizeX;//нахождение локальных координат внутри конкретного чанка
        int localZ = z - chunkZ * HexMetrics.chunkSizeZ;

        chunk.AddCell(localX + localZ * HexMetrics.chunkSizeX, cell);
    }
コード例 #9
0
    void AddCellToChunk(int x, int z, HexCell cell)
    {
        int          chunkX = x / HexData.chunkSizeX;
        int          chunkZ = z / HexData.chunkSizeZ;
        HexGridChunk chunk  = chunks[chunkX + chunkZ * chunkCountX];

        int localX = x - chunkX * HexData.chunkSizeX;
        int localZ = z - chunkZ * HexData.chunkSizeZ;

        chunk.AddCell(localX + localZ * HexData.chunkSizeX, cell, AutoGenerate);
    }
コード例 #10
0
    private void AddHexToChunk(int x, int z, HexObject hex)
    {
        int          chunkX = x / HexMetrics.Instance.chunkSizeX;
        int          chunkZ = z / HexMetrics.Instance.chunkSizeZ;
        HexGridChunk chunk  = chunks[chunkX + chunkZ * ChunkCountX];

        int localX = x - chunkX * HexMetrics.Instance.chunkSizeX;
        int localZ = z - chunkZ * HexMetrics.Instance.chunkSizeZ;

        chunk.AddHex(localX + localZ * HexMetrics.Instance.chunkSizeX, hex);
    }
コード例 #11
0
 void CreateChunks()
 {
     chunks = new HexGridChunk[chunkCountX * chunkCountY];
     for (int y = 0, i = 0; y < chunkCountY; y++)
     {
         for (int x = 0; x < chunkCountX; x++)
         {
             HexGridChunk chunk = chunks [i++] = Instantiate(chunkPrefab);
             chunk.transform.SetParent(transform);
         }
     }
 }
コード例 #12
0
ファイル: HexGrid.cs プロジェクト: 42kun/hexagon
 void CreateChunks()
 {
     chunks = new HexGridChunk[chunkCountX * chunkCountZ];
     for (int z = 0, i = 0; z < chunkCountZ; z++)
     {
         for (int x = 0; x < chunkCountX; x++)
         {
             HexGridChunk chunk = chunks[i++] = Instantiate(chunkPerfab);
             chunk.transform.SetParent(transform);
         }
     }
 }
コード例 #13
0
ファイル: HexGrid.cs プロジェクト: partytitan/Strategy-game
    private void CreateChunks()
    {
        _chunks = new HexGridChunk[_chunkCountX * _chunkCountZ];

        for (int z = 0, i = 0; z < _chunkCountZ; z++)
        {
            for (int x = 0; x < _chunkCountX; x++)
            {
                HexGridChunk chunk = _chunks[i++] = Instantiate(chunkPrefab);
                chunk.transform.SetParent(transform);
            }
        }
    }
コード例 #14
0
ファイル: HexGrid.cs プロジェクト: JackeyZ/HexMap
    /// <summary>
    /// 把六边形添加到对应的网格块下
    /// </summary>
    /// <param name="x"></param>
    /// <param name="z"></param>
    /// <param name="cell"></param>
    void AddCellToChunk(int x, int z, HexCell cell)
    {
        // 计算出这个六边形属于哪个网格块
        int          chunkX = x / HexMetrics.chunkSizeX;
        int          chunkZ = z / HexMetrics.chunkSizeZ;
        HexGridChunk chunk  = chunks[chunkX + chunkZ * chunkCountX];

        // 计算出这个六边形是该网格块中的第几个
        int localX = x - chunkX * HexMetrics.chunkSizeX;
        int localZ = z - chunkZ * HexMetrics.chunkSizeZ;

        chunk.AddCell(localX + localZ * HexMetrics.chunkSizeX, cell);
    }
コード例 #15
0
ファイル: HexGrid.cs プロジェクト: kirivasile/hexagon_rpg
    void CreateChunks()
    {
        chunks = new HexGridChunk[chunkCountZ * chunkCountX];

        for (int z = 0, i = 0; z < chunkCountZ; ++z)
        {
            for (int x = 0; x < chunkCountX; ++x)
            {
                HexGridChunk chunk = chunks[i++] = Instantiate(chunkPrefab);
                chunk.transform.SetParent(transform);
            }
        }
    }
コード例 #16
0
    private void AddCellToChunk(int x, int z, HexCell hexCell)
    {
        int chunkX = x / HexMetrics.ChunkSizeX;
        int chunkZ = z / HexMetrics.ChunkSizeZ;

        int index = (chunkZ * m_chunkCountX) + chunkX;

        HexGridChunk chunk = m_gridChunks[index];

        int localX = x - chunkX * HexMetrics.ChunkSizeX;
        int localZ = z - chunkZ * HexMetrics.ChunkSizeZ;

        chunk.AddCell((localZ * HexMetrics.ChunkSizeX) + localX, hexCell);
    }
コード例 #17
0
    /// <summary>
    /// 创建地图块,并将创建的实例循环添加至数组chunks中
    /// </summary>
    private void CreateChunks()
    {
        //设置数组长宽
        chunks = new HexGridChunk[chunkCountX * chunkCountZ];

        //双循环,将创建的chunk实例添加到chunks数组中
        for (int z = 0, i = 0; z < chunkCountZ; z++)
        {
            for (int x = 0; x < chunkCountX; x++)
            {
                HexGridChunk chunk = chunks[i++] = Instantiate(chunkPrefab);
                chunk.transform.SetParent(transform);
            }
        }
    }
コード例 #18
0
ファイル: HexGrid.cs プロジェクト: Kenshkrix/HexMap-Generator
    void CreateChunks()
    {
        Chunks = new HexGridChunk[chunkCountX, chunkCountZ];

        for (int z = 0, i = 0; z < chunkCountZ; z++)
        {
            for (int x = 0; x < chunkCountX; x++, i++)
            {
                HexGridChunk chunk = Chunks[x, z] = Instantiate(chunkPrefab);
                chunk.transform.SetParent(transform);
                chunk.hexGrid = this;
                chunk.xIndex  = x;
                chunk.zIndex  = z;
            }
        }
    }
コード例 #19
0
    /// <summary>
    /// 通过cell在数组中的坐标计算后,将其分配到对应的chunk中
    /// </summary>
    /// <param name="x">cell在整体数组中的横坐标</param>
    /// <param name="z">cell在整体数组中的纵坐标</param>
    /// <param name="cell">cell自身的实例</param>
    private void AddCellToChunk(int x, int z, HexCell cell)
    {
        //通过cell整体数组的横纵坐标,计算出cell属于哪个chunk
        int chunkX = x / HexMetrics.chunkSizeX;
        int chunkZ = z / HexMetrics.chunkSizeZ;

        //通过计算得到的坐标,获取对应chunk的实例
        HexGridChunk chunk = chunks[chunkX + chunkZ * chunkCountX];

        //通过cell整体数组坐标,计算出其在对应chunk数组中的下标
        int localX = x - chunkX * HexMetrics.chunkSizeX;
        int localZ = z - chunkZ * HexMetrics.chunkSizeZ;

        //得到下标后,将cell实例添加到对应chunk的数组中
        chunk.AddCell(localX + localZ * HexMetrics.chunkSizeX, cell);
    }
コード例 #20
0
ファイル: HexGrid.cs プロジェクト: zhenyao2008/SLGMap
    void CellToChunk(int x, int z, HexCell cell)
    {
        int chunkX = x / width;
        int chunkZ = z / height;

        HexGridChunk tmpChunk = chunks[chunkZ * chunkCountX + chunkX];

        int cellOfChunkX = x - x / width * width;
        int cellOfChunkZ = z - z / height * height;

        if (cellOfChunkZ * width + cellOfChunkX == 0)
        {
            tmpChunk.transform.position = cell.transform.position;
        }
        tmpChunk.AddCell(cellOfChunkZ * width + cellOfChunkX, cell);
        cell.SetParentChunk(tmpChunk);
    }
コード例 #21
0
    void CreateChunks()
    {
        columns = new Transform[chunkCountX];
        for (int x = 0; x < chunkCountX; x++)
        {
            columns[x] = new GameObject("Column").transform;
            columns[x].SetParent(transform, false);
        }

        chunks = new HexGridChunk[chunkCountX * chunkCountZ];
        for (int z = 0, i = 0; z < chunkCountZ; z++)
        {
            for (int x = 0; x < chunkCountX; x++)
            {
                HexGridChunk chunk = chunks[i++] = Instantiate(chunkPrefab);
                chunk.transform.SetParent(columns[x], false);
            }
        }
    }
コード例 #22
0
    void OnGUI()
    {
        EditorGUILayout.Space();
        mapCell         = EditorGUILayout.ObjectField(mapCell, typeof(HexCell), true) as HexCell;
        cellLabelPrefab = EditorGUILayout.ObjectField(cellLabelPrefab, typeof(Text), true) as Text;
        chunkPrefab     = EditorGUILayout.ObjectField(chunkPrefab, typeof(HexGridChunk), true) as HexGridChunk;
        noiseSource     = EditorGUILayout.ObjectField(noiseSource, typeof(Texture), true) as Texture2D;
        mapSizeX        = EditorGUILayout.IntField("地图长:", mapSizeX);
        mapSizeY        = EditorGUILayout.IntField("地图宽:", mapSizeY);
        EditorGUILayout.Space();

        if (GUILayout.Button("生成地图预览"))
        {
            if (mapCell == null)
            {
                Debug.LogError("没有地图格子预制体");
                return;
            }
            GenerateMap();
            isCreate = true;
        }

        if (isCreate)
        {
            for (int i = 0; i < HexMapEditor.HexGrid.chunks.Length; i++)
            {
                HexMapEditor.HexGrid.chunks[i].LateRefresh();
            }
        }
        if (GUILayout.Button("打开怪物资源"))
        {
            SceneEditorWindow.CreateDungeonEditor();
        }
        if (GUILayout.Button("打开地图数据编辑"))
        {
            HexMapCellTypeWindow.CreateCellTypeEditor();
        }
        if (GUILayout.Button("保存当前场景数据到Json"))
        {
            MapEditorData.ExportJSON();
        }
    }
コード例 #23
0
ファイル: TerrainEditor.cs プロジェクト: zhenyao2008/SLGMap
    private void OnSceneGUI()
    {
        HandleUtility.AddDefaultControl(GUIUtility.GetControlID(FocusType.Keyboard));
        switch (editorType)
        {
        case EditorType.HeightEditor:
            currentBrush = heightBrush;
            MeshModifier.instance.m_brush = currentBrush;
            MeshModifier.instance.DoEvent();
            break;

        case EditorType.WaterEditor:
            currentBrush = waterBrush;
            MeshModifier.instance.m_brush = currentBrush;
            MeshModifier.instance.DoEvent();
            break;

        case EditorType.EdgeEditor:
            currentBrush = edgeBrush;
            MeshModifier.instance.m_brush = currentBrush;
            MeshModifier.instance.DoEvent();
            break;

        case EditorType.MaterialEditor:
            HexGridChunk preLockedChunk = MaterialModifier.instance.m_lockedChunk;
            currentBrush = materialBrush;
            MaterialModifier.instance.m_brush = currentBrush;
            MaterialModifier.instance.DoEvent();
            if (MaterialModifier.instance.m_lockedChunk != preLockedChunk)
            {
                Repaint();
            }
            break;

        case EditorType.SceneObjEditor:
            currentBrush = sceneObjBrush;
            SceneObjModifier.instance.m_brush = sceneObjBrush;
            SceneObjModifier.instance.DoEvent();
            break;
        }
        SceneView.currentDrawingSceneView.Repaint();
    }
コード例 #24
0
ファイル: TerrainEditor.cs プロジェクト: zhenyao2008/SLGMap
    private void DrawDiffuseLayerGUI(HexGridChunk chunk)
    {
        int count = 0;

        HexGridChunk.TerrainLayer[] terrainLayers = chunk.terrainLayers;
        for (int i = 0; i < terrainLayers.Length; i++)
        {
            HexGridChunk.TerrainLayer curLayer = terrainLayers[i];
            if (curLayer == null || curLayer.terrainIndex == -1)
            {
                continue;
            }
            count++;
            EditorGUILayout.BeginHorizontal();
            Texture2D curTex = curLayer.albedoMap;
            Texture2D newTex = EditorGUILayout.ObjectField(curTex, typeof(Texture2D), false, GUILayout.Width(72), GUILayout.Height(72)) as Texture2D;
            EditorGUILayout.BeginVertical();
            EditorGUILayout.LabelField("Layer: " + (i + 1).ToString());
            EditorGUILayout.BeginHorizontal();
            if (EditorGUILayout.Toggle(materialBrush.TerrainType == (TerrainTypes)i, GUILayout.Width(18)))
            {
                materialBrush.TerrainType = (TerrainTypes)i;
            }
            EditorGUILayout.EndHorizontal();
            EditorGUILayout.EndVertical();
            EditorGUILayout.EndHorizontal();
            if (newTex != curTex)
            {
                chunk.ReplaceAlbedoMap(i, newTex);
            }
        }

        if (terrainLayers.Length < 6 || count < 6)
        {
            EditorGUILayout.BeginHorizontal();
            if (GUILayout.Button(CONTENT_ADD_LAYER, GUILayout.MaxWidth(20)))
            {
                chunk.AddTerrainLayer(null);
            }
            EditorGUILayout.EndHorizontal();
        }
    }
コード例 #25
0
    private void CreateChunks()
    {
        m_columns = new Transform[m_chunkCountX];
        for (int i = 0; i < m_columns.Length; ++i)
        {
            m_columns[i] = new GameObject("Column").transform;
            m_columns[i].SetParent(transform, false);
        }

        m_gridChunks = new HexGridChunk[m_chunkCountX * m_chunkCountZ];
        int count = 0;

        for (int z = 0; z < m_chunkCountZ; ++z)
        {
            for (int x = 0; x < m_chunkCountX; ++x)
            {
                HexGridChunk chunk = Instantiate(HexGridChunkPrefab);
                chunk.transform.SetParent(m_columns[x], false);
                m_gridChunks[count++] = chunk;
            }
        }
    }
コード例 #26
0
    void SetLockedChunk(Event e)
    {
        Ray        inputRay = HandleUtility.GUIPointToWorldRay(e.mousePosition);
        RaycastHit hit;
        HexCell    centerCell = null;

        if (Physics.Raycast(inputRay, out hit))
        {
            centerCell = HexGrid.instance.GetCell(hit.point);
            if (e.keyCode == KeyCode.L)
            {
                if (m_lockedChunk != null)
                {
                    m_brush.m_hexEdgeMesh.gameObject.SetActive(false);
                    m_lockedChunk = null;
                }
                else
                {
                    m_brush.m_hexEdgeMesh.gameObject.SetActive(true);
                    m_lockedChunk = centerCell.chunkParent;
                }
            }
        }
    }
コード例 #27
0
    /// <summary>
    /// 刷新地图块
    /// </summary>
    /// <param name="chunkId">地图块编号</param>
    public void Refresh(int chunkId)
    {
        HexGridChunk chunk = chunks[chunkId];

        chunk.Refresh();
    }
コード例 #28
0
ファイル: HexCell.cs プロジェクト: zhenyao2008/SLGMap
 //反向获取所在块
 public void SetParentChunk(HexGridChunk chunk)
 {
     chunkParent = chunk;
 }
コード例 #29
0
    IEnumerator WaitMesh(HexGridChunk chunk)
    {
        yield return(new WaitForSeconds(0.3f));

        chunk.sceneObjectMgr.Refresh();
    }
コード例 #30
0
ファイル: HexGrid.cs プロジェクト: zhenyao2008/SLGMap
    //新建地图
    public void NewMap(string mapName = "Hex Map", bool isNewMaterial = false, Texture2D[] terrainTexs = null, int chunkWidth = 0, int chunkHeight = 0)
    {
        if (!HexMetrics.instance.isEditor)
        {
            gridCanvas = (Instantiate(Resources.Load("Prefabs/UIPrefabs/Hex Grid Canvas") as GameObject)).GetComponent <Canvas>();
            gridCanvas.transform.SetParent(transform);
        }
        mapPrefab            = (Instantiate(Resources.Load("Prefabs/Hex Map") as GameObject)).GetComponent <HexMap>();
        mapPrefab.name       = "HexMap";
        cellPrefab           = (Instantiate(Resources.Load("Prefabs/Hex Cell") as GameObject)).GetComponent <HexCell>();
        cellPrefab.name      = "HexCell";
        cellLabelPrefab      = (Instantiate(Resources.Load("Prefabs/UIPrefabs/Hex Cell Label") as GameObject)).GetComponent <Text>();
        cellLabelPrefab.name = "HexCellLabel";
        noiseSource          = Resources.Load("Texture/Noise") as Texture2D;

        //chunks = new HexGridChunk[chunkCountX * chunkCountZ];

        if (HexMetrics.instance.isEditorTexture)
        {
            gridChunkPerfab      = (Instantiate(Resources.Load("Prefabs/Hex Grid Chunk") as GameObject)).GetComponent <HexGridChunk>();
            gridChunkPerfab.name = "Hex Grid Chunk Prefab";
        }
        else
        {
            gridChunkPerfab      = (Instantiate(Resources.Load("Prefabs/Hex Grid Chunk Color") as GameObject)).GetComponent <HexGridChunk>();
            gridChunkPerfab.name = "Hex Grid Chunk Color Prefab";
        }

        for (int i = 0; i < oldCountX * oldCountZ; i++)
        {
            if (chunks[i] != null)
            {
                chunks[i].Clear();
                if (HexMetrics.instance.isEditor)
                {
                    DestroyImmediate(chunks[i].gameObject);
                }
                else
                {
                    Destroy(chunks[i].gameObject);
                }
            }
        }

        HexMetrics.instance.noiseSource = noiseSource;
        if (chunkWidth == 0 || chunkHeight == 0)
        {
            width  = HexMetrics.instance.chunkWidth;
            height = HexMetrics.instance.chunkHeight;
        }
        else
        {
            width  = chunkWidth;
            height = chunkHeight;
        }

        oldCountX       = chunkCountX;
        oldCountZ       = chunkCountZ;
        cellCountWidth  = width * chunkCountX;
        cellCountHeight = height * chunkCountZ;

        maps         = new HexMap[1];
        maps[0]      = Instantiate(mapPrefab) as HexMap;
        maps[0].name = mapName;
        maps[0].transform.localPosition = Vector3.zero;
        maps[0].transform.localRotation = Quaternion.Euler(0, 0, 0);
        maps[0].SetMapSize(chunkCountX, chunkCountZ);
        maps[0].NewMap(cellPrefab, cellLabelPrefab, gridChunkPerfab, isNewMaterial, terrainTexs, width, height);
        cells  = maps[0].cells;
        chunks = maps[0].chunks;

        //cells = new HexCell[cellCountWidth * cellCountHeight];

        //for (int j = 0, i = 0; j < chunkCountZ; j++)
        //{
        //    for (int k = 0; k < chunkCountX; k++)
        //    {
        //        HexGridChunk chunk = chunks[i++] = Instantiate(gridChunkPerfab) as HexGridChunk;
        //        //chunk.transform.SetParent(GameObject.Find("Map").transform);
        //        chunk.name = "HexChunk_" + k.ToString("000") + "_" + j.ToString("000");
        //        chunk.transform.SetParent(transform);
        //        chunk.transform.localPosition = new Vector3(chunk.transform.localPosition.x, 0, chunk.transform.localPosition.z);
        //    }
        //}


        //for (int j = 0, i = 0; j < cellCountHeight; j++)
        //{
        //    for (int k = 0; k < cellCountWidth; k++)
        //    {
        //        CreateCell(k, j, i++);
        //    }
        //}

        //Refresh();
    }