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(); } }