Exemple #1
0
    private void DrawMaterialEditorGUI(string caption)
    {
        if (EditorUtils.DrawHeader("材质笔刷", "TerrainEditor"))
        {
            EditorUtils.BeginContents();
            materialBrush.brushRange = EditorGUILayout.IntSlider("笔刷范围", materialBrush.brushRange, 1, 5);
            EditorUtils.EndContents();
        }
        if (EditorUtils.DrawHeader("材质编辑", "TerrainEditor"))
        {
            EditorUtils.BeginContents();
            if (HexMetrics.instance.isEditorTexture)
            {
                //materialBrush.TerrainType = (TerrainTypes)EditorGUILayout.IntPopup("材质类型", (int)materialBrush.TerrainType, MATERIAL_TEXTURE_NAMES, MATERIAL_TEXTURE_VALUES);
                //materialBrush.EditColor = EditorGUILayout.ColorField(materialBrush.EditColor);
                if (MaterialModifier.instance.m_lockedChunk == null)
                {
                    Color oldColor = GUI.color;
                    GUI.color = Color.red;
                    EditorGUILayout.LabelField("在场景视图中用L键锁定地形块进行编辑!");
                    GUI.color = oldColor;
                }
                else
                {
                    DrawDiffuseLayerGUI(MaterialModifier.instance.m_lockedChunk);
                }
            }
            else
            {
                materialBrush.EditColor = EditorGUILayout.ColorField(materialBrush.EditColor);
            }

            EditorUtils.EndContents();
        }
    }
Exemple #2
0
    protected override bool DrawWizardGUI()
    {
        mapName           = EditorGUILayout.TextField("地形名称", mapName);
        chunkWidth        = EditorGUILayout.IntField("地形块宽度", chunkWidth);
        chunkHeight       = EditorGUILayout.IntField("地形块长度", chunkHeight);
        chunkCountX       = EditorGUILayout.IntField("地形宽度", chunkCountX);
        chunkCountZ       = EditorGUILayout.IntField("地形长度", chunkCountZ);
        isUseTexture      = EditorGUILayout.Toggle("地形是否使用纹理", isUseTexture);
        isSaveAfterCreate = EditorGUILayout.Toggle("创建完是否保存", isSaveAfterCreate);
        if (EditorUtils.DrawHeader("地形", "CreateWorld"))
        {
            EditorUtils.BeginContents();
            for (int i = 0; i < terrainTexCount; i++)
            {
                if (i == 0)
                {
                    defaultTerrainTexs[0] = EditorGUILayout.ObjectField("默认纹理", defaultTerrainTexs[0], typeof(Texture2D), false) as Texture2D;
                }
                else
                {
                    defaultTerrainTexs[i] = EditorGUILayout.ObjectField("纹理 " + (i + 1), defaultTerrainTexs[i], typeof(Texture2D), false) as Texture2D;
                }
            }

            if (terrainTexCount < 6)
            {
                if (GUILayout.Button(CONTENT_ADD_LAYER, GUILayout.MaxWidth(20)))
                {
                    terrainTexCount++;
                }
            }

            for (int i = terrainTexCount; i < defaultTerrainTexs.Length; i++)
            {
                defaultTerrainTexs[i] = null;
            }

            EditorUtils.EndContents();
        }


        return(true);
    }
Exemple #3
0
    private void DrawSceneObjEditorGUI(string caption)
    {
        if (EditorUtils.DrawHeader("笔刷编辑", "TerrainEditor"))
        {
            EditorUtils.BeginContents();
            sceneObjBrush.IsBrushSceneObject    = !EditorGUILayout.Toggle("是否单个编辑", !sceneObjBrush.IsBrushSceneObject);
            sceneObjBrush.brushRange            = EditorGUILayout.IntSlider("笔刷范围", sceneObjBrush.brushRange, 1, 5);
            sceneObjBrush.SceneObjectDensity    = EditorGUILayout.IntSlider("物体密度", sceneObjBrush.SceneObjectDensity, 1, 20);
            sceneObjBrush.SceneObjOperationType = (SceneObjBrush.OperationType)EditorGUILayout.IntPopup("操作", (int)sceneObjBrush.SceneObjOperationType,
                                                                                                        SCENEOBJ_OPERATION_NAMES, SCENEOBJ_OPERATION_VALUES);

            EditorUtils.EndContents();
        }

        if (EditorUtils.DrawHeader("场景物体编辑", "TerrainEditor"))
        {
            //EditorGUILayout.LabelField("场景物体选择");
            sceneObjBrush.SceneObj = EditorGUILayout.ObjectField("场景物体选择", sceneObjBrush.SceneObj, typeof(GameObject), false) as GameObject;
            sceneObjBrush.ObjSize  = EditorGUILayout.Slider("物体大小", sceneObjBrush.ObjSize, 0.0f, 10.0f);
        }
    }
Exemple #4
0
    private void DrawTerrainEditorGUI(string caption)
    {
        if (EditorUtils.DrawHeader("地形编辑", "TerrainEditor"))
        {
            string[] captions = { "地形高度", "水体高度", "地形边界" };

            if (editorType > EditorType.EdgeEditor)
            {
                editorType = EditorType.HeightEditor;
            }
            editorType = (EditorType)GUILayout.Toolbar((int)editorType, captions);

            switch (editorType)
            {
            case EditorType.HeightEditor:
                EditorUtils.BeginContents();
                heightBrush.brushRange = EditorGUILayout.IntSlider("笔刷范围", heightBrush.brushRange, 1, 5);
                heightBrush.Elevation  = EditorGUILayout.IntSlider("地形高度", heightBrush.Elevation, 0, 5);
                EditorUtils.EndContents();
                break;

            case EditorType.WaterEditor:
                EditorUtils.BeginContents();
                waterBrush.brushRange = EditorGUILayout.IntSlider("笔刷范围", waterBrush.brushRange, 1, 5);
                waterBrush.WaterLevel = EditorGUILayout.IntSlider("水体高度", waterBrush.WaterLevel, 0, 5);
                EditorUtils.EndContents();
                break;

            case EditorType.EdgeEditor:
                EditorUtils.BeginContents();
                edgeBrush.EditEdgeType  = (EdgeBrush.EditorEdgeType)EditorGUILayout.IntPopup("边界类型", (int)edgeBrush.EditEdgeType, EDGE_BRUSEH_NAMES, EDGE_BRUSH_VALUES);
                edgeBrush.IsWholeEditor = EditorGUILayout.Toggle("整个六边形编辑", edgeBrush.IsWholeEditor);
                edgeBrush.brushRange    = EditorGUILayout.IntSlider("笔刷范围", waterBrush.brushRange, 1, 5);
                EditorUtils.EndContents();
                break;
            }
        }
    }