public override void OnInspectorGUI() { if (PlanetEditor == null) { PlanetEditor = target as PlanetTools; } if (Planet == null) { Planet = PlanetEditor.GetComponent <Hexsphere>(); } if (ToggleButtonStyleNormal == null) { ToggleButtonStyleNormal = "Button"; ToggleButtonStyleToggled = new GUIStyle(ToggleButtonStyleNormal); ToggleButtonStyleToggled.normal.background = ToggleButtonStyleToggled.active.background; } GUILayout.Label("Tile Tools", EditorStyles.boldLabel); GUILayout.BeginVertical(EditorStyles.helpBox); GUILayout.BeginHorizontal(); //if(GUILayout.Button("Select", Mode == ToolMode.Select ? ToggleButtonStyleToggled : ToggleButtonStyleNormal)) //{ // Mode = ToolMode.Select; //} //if (GUILayout.Button("Paint Material", Mode == ToolMode.PaintMaterial ? ToggleButtonStyleToggled : ToggleButtonStyleNormal)) //{ // Mode = ToolMode.PaintMaterial; //} if (GUILayout.Button("Paint Group ID", PlanetEditor.Mode == ToolMode.PaintGroupID ? ToggleButtonStyleToggled : ToggleButtonStyleNormal)) { PlanetEditor.Mode = ToolMode.PaintGroupID; } if (GUILayout.Button("Paint Height", PlanetEditor.Mode == ToolMode.PaintHeight ? ToggleButtonStyleToggled : ToggleButtonStyleNormal)) { PlanetEditor.Mode = ToolMode.PaintHeight; } if (GUILayout.Button("Paint Object", PlanetEditor.Mode == ToolMode.PaintObject ? ToggleButtonStyleToggled : ToggleButtonStyleNormal)) { PlanetEditor.Mode = ToolMode.PaintObject; } if (GUILayout.Button("Paint Nav Weight", PlanetEditor.Mode == ToolMode.PaintNavWeight ? ToggleButtonStyleToggled : ToggleButtonStyleNormal)) { PlanetEditor.Mode = ToolMode.PaintNavWeight; SelectedTileInfoOption = TileDisplayOptions.NavWeight; } GUILayout.EndHorizontal(); GUILayout.EndVertical(); switch (PlanetEditor.Mode) { case ToolMode.Select: break; case ToolMode.PaintMaterial: DrawPaintMaterialInspector(); break; case ToolMode.PaintHeight: DrawPaintHeightInspector(); break; case ToolMode.PaintGroupID: DrawPaintGroupInspector(); break; case ToolMode.PaintObject: DrawPaintObjectInspector(); break; case ToolMode.PaintNavWeight: DrawPaintNavWeightInspector(); break; } }
private void OnSceneGUI() { if (PlanetEditor == null) { PlanetEditor = target as PlanetTools; } if (Planet == null) { Planet = PlanetEditor.GetComponent <Hexsphere>(); } int controlId = GUIUtility.GetControlID(FocusType.Passive); // Shift to allow editing if (Event.current.shift) { IsEditing = true; if (Event.current.type == EventType.MouseDown) { MouseIsDown = true; GUIUtility.hotControl = controlId; // Use the event Event.current.Use(); } else if (Event.current.type == EventType.MouseUp) { MouseIsDown = false; GUIUtility.hotControl = 0; // Use the event Event.current.Use(); } if (Event.current.type == EventType.ScrollWheel && Event.current.control) { SetSelectCircleRadius(PlanetEditor.SelectRadius + Event.current.delta.y * 0.01f); GUIUtility.hotControl = controlId; Event.current.Use(); } else { GUIUtility.hotControl = 0; } //RaycastSelect(); CircleSelect(); } // Shift is released else if (IsEditing) { IsEditing = false; if (LastHilightedTile != null) { LastHilightedTile.SetHighlight(false); LastHilightedTile = null; } foreach (Tile lastT in LastHilightedTiles) { lastT.SetHighlight(false); } LastHilightedTiles.Clear(); AppliedActionTiles.Clear(); } }