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