Esempio n. 1
0
    public override void OnInspectorGUI()
    {
        GUILayout.Space(15.0f);

        GUI.enabled = TargetMap.IsValid;
        _paintLayer = (PaintLayer)EditorGUILayout.MaskField("Painted layer: ", (int)_paintLayer, new[] { "Type", "Height" });

        // HexaType picker
        GUI.enabled  = TargetMap.IsValid && _paintLayer.Contain(PaintLayer.Type);
        _typeIdBrush = EditorGUILayout.Popup("Brush type: ", _typeIdBrush, GUI.enabled ? TargetMap.Types.GetNames() : new[] { "" });

        // Height picker
        GUI.enabled  = TargetMap.IsValid && _paintLayer.Contain(PaintLayer.Height);
        _heightBrush = EditorGUILayout.Slider("Brush height: ", _heightBrush, 0, 20);

        // Space
        GUILayout.Space(5.0f);

        // Enable edit mode buton
        GUI.enabled = TargetMap.IsValid;
        GUI.color   = IsEditModeEnabled ? Color.green : Color.yellow;
        if (GUILayout.Button(EditModeButtonString))
        {
            IsEditModeEnabled = !IsEditModeEnabled;
        }
        GUI.color = Color.white;
        GUILayout.Label(IsEditModeEnabled ? "Edit mode hide scene view handlers!" : "");

        // Rebuild button.
        if (GUILayout.Button("Force rebuild"))
        {
            TargetMap.ForceRebuild();
        }

        GUILayout.Space(15.0f);

        // Set Data
        GUI.enabled       = true;
        TargetMap.HexData = EditorGUILayout.ObjectField("HexTerrain data:", TargetMap.HexData,
                                                        typeof(HexTerrainData), false) as HexTerrainData;
        TargetMap.Types = EditorGUILayout.ObjectField("Types data:", TargetMap.Types,
                                                      typeof(HexagonTypeData), false) as HexagonTypeData;
    }