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