public override void OnInspectorGUI() { this.Initialize(); if (TerrainInspector.styles == null) TerrainInspector.styles = new TerrainInspector.Styles(); if (!(bool) ((UnityEngine.Object) this.m_Terrain.terrainData)) { GUI.enabled = false; GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); GUILayout.Toolbar(-1, TerrainInspector.styles.toolIcons, TerrainInspector.styles.command, new GUILayoutOption[0]); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUI.enabled = true; GUILayout.BeginVertical(EditorStyles.helpBox, new GUILayoutOption[0]); GUILayout.Label("Terrain Asset Missing"); this.m_Terrain.terrainData = EditorGUILayout.ObjectField("Assign:", (UnityEngine.Object) this.m_Terrain.terrainData, typeof (TerrainData), false, new GUILayoutOption[0]) as TerrainData; GUILayout.EndVertical(); } else { GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); GUI.changed = false; int selectedTool = (int) this.selectedTool; this.selectedTool = (TerrainTool) GUILayout.Toolbar(selectedTool, TerrainInspector.styles.toolIcons, TerrainInspector.styles.command, new GUILayoutOption[0]); if (this.selectedTool != (TerrainTool) selectedTool && (UnityEngine.Object) Toolbar.get != (UnityEngine.Object) null) Toolbar.get.Repaint(); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); this.CheckKeys(); GUILayout.BeginVertical(EditorStyles.helpBox, new GUILayoutOption[0]); if (selectedTool >= 0 && selectedTool < TerrainInspector.styles.toolIcons.Length) { GUILayout.Label(TerrainInspector.styles.toolNames[selectedTool].text); GUILayout.Label(TerrainInspector.styles.toolNames[selectedTool].tooltip, EditorStyles.wordWrappedMiniLabel, new GUILayoutOption[0]); } else { GUILayout.Label("No tool selected"); GUILayout.Label("Please select a tool", EditorStyles.wordWrappedMiniLabel, new GUILayoutOption[0]); } GUILayout.EndVertical(); switch (selectedTool) { case 0: this.ShowRaiseHeight(); break; case 1: this.ShowSetHeight(); break; case 2: this.ShowSmoothHeight(); break; case 3: this.ShowTextures(); break; case 4: this.ShowTrees(); break; case 5: this.ShowDetails(); break; case 6: this.ShowSettings(); break; } GUILayout.Space(5f); } }