public static void DoToolbarShortcutKey(Editor owner) { var provider = new TProvider(); var toolbars = provider.toolbars; var shortcuts = provider.shortcuts; var evt = Event.current; if (evt.type != EventType.KeyDown || !evt.shift) { return; } if (shortcuts.TryGetValue(evt.keyCode, out ToolBar toolbar)) { bool used = false; foreach (ToolBar t in toolbars) { if ((t & toolbar) > 0) { used = true; break; } } if (!used) { return; } var targetMode = k_ToolbarMode[toolbar]; var mode = EditMode.editMode == targetMode ? EditMode.SceneViewEditMode.None : targetMode; EditMode.ChangeEditMode(mode, HDEditorUtils.GetBoundsGetter(owner)(), owner); evt.Use(); } }
// Tool bars public static void DrawToolbars(SerializedHDProbe serialized, Editor owner) { var provider = new TProvider(); GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); GUI.changed = false; for (int i = 0; i < k_ListModes.Length; ++i) { EditMode.DoInspectorToolbar(k_ListModes[i], k_ListContent[i], HDEditorUtils.GetBoundsGetter(owner), owner); } GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); }