protected void OnEditModeEnd(IToolModeOwner owner) { if (owner == this) { this.OnEditEnd(); } }
internal static void ChangeEditMode(SceneViewEditMode mode, Bounds bounds, IToolModeOwner owner) { IToolModeOwner oldOwner = InternalEditorUtility.GetObjectFromInstanceID(ownerID) as IToolModeOwner; editMode = mode; ownerID = mode != SceneViewEditMode.None ? owner.GetInstanceID() : 0; if (onEditModeEndDelegate != null && oldOwner is Editor) { onEditModeEndDelegate(oldOwner as Editor); } if (editModeEnded != null) { editModeEnded(oldOwner); } if (editMode != SceneViewEditMode.None) { if (onEditModeStartDelegate != null && owner is Editor) { onEditModeStartDelegate(owner as Editor, editMode); } if (editModeStarted != null) { editModeStarted(owner, editMode); } } EditModeChanged(bounds); InspectorWindow.RepaintAllInspectors(); }
protected void OnEditModeStart(IToolModeOwner owner, EditMode.SceneViewEditMode mode) { if (mode == EditMode.SceneViewEditMode.Collider && owner == this) { this.OnEditStart(); } }
void OnEditModeStart(IToolModeOwner owner, EditMode.SceneViewEditMode mode) { if (mode == EditMode.SceneViewEditMode.Collider && owner == (IToolModeOwner)this) { OnEditStart(); } }
private void OnEditModeStarted(IToolModeOwner owner, EditMode.SceneViewEditMode mode) { if (owner == (IToolModeOwner)this && mode == EditMode.SceneViewEditMode.LightProbeGroup) { StartEditProbes(); } }
internal static void ChangeEditMode(SceneViewEditMode mode, Bounds bounds, IToolModeOwner owner) { if (mode == SceneViewEditMode.None) { var activeToolIsEditModeTool = (EditorToolContext.activeTool is EditModeTool || EditorToolContext.activeTool is NoneTool); if (s_EditMode != SceneViewEditMode.None && activeToolIsEditModeTool) { EditorTools.RestorePreviousPersistentTool(); } EditModeToolStateChanged(owner, mode); return; } var tool = GetTool(owner, mode); if (tool != null) { EditorTools.SetActiveTool(tool); } else { // SceneViewEditModeTool doesn't exist, use old path EditorTools.SetActiveTool <NoneTool>(); } EditModeToolStateChanged(owner, mode); }
internal static void ChangeEditMode(EditMode.SceneViewEditMode mode, Bounds bounds, IToolModeOwner owner) { IToolModeOwner toolModeOwner = InternalEditorUtility.GetObjectFromInstanceID(EditMode.ownerID) as IToolModeOwner; EditMode.editMode = mode; EditMode.ownerID = ((mode == EditMode.SceneViewEditMode.None) ? 0 : owner.GetInstanceID()); if (EditMode.onEditModeEndDelegate != null && toolModeOwner is Editor) { EditMode.onEditModeEndDelegate(toolModeOwner as Editor); } if (EditMode.editModeEnded != null) { EditMode.editModeEnded(toolModeOwner); } if (EditMode.editMode != EditMode.SceneViewEditMode.None) { if (EditMode.onEditModeStartDelegate != null && owner is Editor) { EditMode.onEditModeStartDelegate(owner as Editor, EditMode.editMode); } if (EditMode.editModeStarted != null) { EditMode.editModeStarted(owner, EditMode.editMode); } } EditMode.EditModeChanged(bounds); InspectorWindow.RepaintAllInspectors(); }
private void OnEditModeEnded(IToolModeOwner owner) { if (owner == (IToolModeOwner)this) { EndEditProbes(); } }
void OnEditModeEnd(IToolModeOwner owner) { if (owner == (IToolModeOwner)this) { OnEditEnd(); } }
public void OnEditModeEnd(IToolModeOwner owner) { if (EditMode.editMode != EditMode.SceneViewEditMode.GridMove && EditMode.editMode != EditMode.SceneViewEditMode.GridSelect) { GridSelection.Clear(); } this.CallOnToolDeactivated(); base.Repaint(); }
public static void OnSelectionChange() { IToolModeOwner toolModeOwner = InternalEditorUtility.GetObjectFromInstanceID(EditMode.ownerID) as IToolModeOwner; if (toolModeOwner == null || !toolModeOwner.ModeSurvivesSelectionChange((int)EditMode.s_EditMode)) { EditMode.QuitEditMode(); } }
public static void OnSelectionChange() { IToolModeOwner owner = InternalEditorUtility.GetObjectFromInstanceID(ownerID) as IToolModeOwner; if (owner != null && owner.ModeSurvivesSelectionChange((int)s_EditMode)) { return; } QuitEditMode(); }
internal static void EditModeToolStateChanged(IToolModeOwner owner, SceneViewEditMode mode) { // In cases of domain reloads the EditorTool can be deserialized prior to the target Inspector being // created. The EditMode tools do not expect an editModeStarted callback on reloads. if (owner == null && mode != SceneViewEditMode.None) { editMode = mode; return; } IToolModeOwner oldOwner = InternalEditorUtility.GetObjectFromInstanceID(ownerID) as IToolModeOwner; editMode = mode; if (oldOwner != null) { if (onEditModeEndDelegate != null && oldOwner is Editor) { onEditModeEndDelegate(oldOwner as Editor); } if (editModeEnded != null) { editModeEnded(oldOwner); } } ownerID = mode != SceneViewEditMode.None ? owner.GetInstanceID() : k_OwnerIdNone; if (editMode != SceneViewEditMode.None) { if (onEditModeStartDelegate != null && owner is Editor) { onEditModeStartDelegate(owner as Editor, editMode); } if (editModeStarted != null) { editModeStarted(owner, editMode); } } FocusEditModeToolTarget((mode != SceneViewEditMode.None && owner != null) ? owner.GetWorldBoundsOfTargets() : new Bounds(Vector3.zero, Vector3.positiveInfinity)); InspectorWindow.RepaintAllInspectors(); }
public void OnEditModeStart(IToolModeOwner owner, EditMode.SceneViewEditMode editMode) { if (GridPaintingState.gridBrush != null && PaintableGrid.InGridEditMode() && GridPaintingState.activeBrushEditor != null) { GridBrushBase.Tool tool = PaintableGrid.EditModeToBrushTool(editMode); GridPaintingState.activeBrushEditor.OnToolActivated(tool); this.m_PreviousToolActivatedEditor = GridPaintingState.activeBrushEditor; this.m_PreviousToolActivated = tool; for (int i = 0; i < GridPaintPaletteWindow.Styles.sceneViewEditModes.Length; i++) { if (GridPaintPaletteWindow.Styles.sceneViewEditModes[i] == editMode) { Cursor.SetCursor(GridPaintPaletteWindow.Styles.mouseCursorTextures[i], (!(GridPaintPaletteWindow.Styles.mouseCursorTextures[i] != null)) ? Vector2.zero : GridPaintPaletteWindow.Styles.mouseCursorOSHotspot[(int)SystemInfo.operatingSystemFamily], CursorMode.Auto); break; } } } base.Repaint(); }
static EditorTool GetTool(IToolModeOwner owner, SceneViewEditMode mode) { var editor = owner as Editor; if (editor == null) { return(null); } var editorType = editor.GetType(); return(EditorToolContext.GetCustomEditorTool(x => { var tool = x as EditModeTool; return tool != null && tool.editorType == editorType && tool.target == editor.target; }, true)); }
internal static void ChangeEditMode(SceneViewEditMode mode, Bounds bounds, IToolModeOwner owner) { if (mode == SceneViewEditMode.None) { var activeToolIsEditModeTool = EditorToolManager.activeTool is NoneTool; if (s_EditMode != SceneViewEditMode.None && activeToolIsEditModeTool) { ToolManager.RestorePreviousTool(); } EditModeToolStateChanged(owner, mode); return; } ToolManager.SetActiveTool <NoneTool>(); EditModeToolStateChanged(owner, mode); }
public void OnEditModeStart(IToolModeOwner owner, EditMode.SceneViewEditMode editMode) { if (GridPaintingState.gridBrush != null && PaintableGrid.InGridEditMode() && GridPaintingState.activeBrushEditor != null) { GridBrushBase.Tool tool = PaintableGrid.EditModeToBrushTool(editMode); GridPaintingState.activeBrushEditor.OnToolActivated(tool); m_PreviousToolActivatedEditor = GridPaintingState.activeBrushEditor; m_PreviousToolActivated = tool; for (int i = 0; i < k_SceneViewEditModes.Length; ++i) { if (k_SceneViewEditModes[i] == editMode) { Cursor.SetCursor(MouseStyles.mouseCursorTextures[i], MouseStyles.mouseCursorTextures[i] != null ? MouseStyles.mouseCursorOSHotspot[(int)SystemInfo.operatingSystemFamily] : Vector2.zero, CursorMode.Auto); break; } } } Repaint(); }
private void OnEditModeStart(IToolModeOwner owner, EditMode.SceneViewEditMode editMode) { UpdateCache(); }
private static void DoEditModeInspectorModeButton(SceneViewEditMode mode, string label, GUIContent icon, Func <Bounds> getBoundsOfTargets, IToolModeOwner owner) { Rect rect = EditorGUILayout.GetControlRect(true, k_EditColliderbuttonHeight, Styles.singleButtonStyle); Rect buttonRect = new Rect(rect.xMin + EditorGUIUtility.labelWidth, rect.yMin, k_EditColliderbuttonWidth, k_EditColliderbuttonHeight); GUIContent labelContent = new GUIContent(label); Vector2 labelSize = GUI.skin.label.CalcSize(labelContent); Rect labelRect = new Rect( buttonRect.xMax + k_SpaceBetweenLabelAndButton, rect.yMin + (rect.height - labelSize.y) * .5f, labelSize.x, rect.height); bool modeEnabled = IsOwner(owner); EditorGUI.BeginChangeCheck(); bool toggleEnabled = false; using (new EditorGUI.DisabledScope(!owner.areToolModesAvailable)) { toggleEnabled = GUI.Toggle(buttonRect, modeEnabled, icon, Styles.singleButtonStyle); GUI.Label(labelRect, label); } if (EditorGUI.EndChangeCheck()) { ChangeEditMode(toggleEnabled ? mode : SceneViewEditMode.None, getBoundsOfTargets == null ? owner.GetWorldBoundsOfTargets() : getBoundsOfTargets(), owner); } }
private static void DoInspectorToolbar(SceneViewEditMode[] modes, GUIContent[] guiContents, Func <Bounds> getBoundsOfTargets, IToolModeOwner owner) { int callerID = owner.GetInstanceID(); int selectedIndex = ArrayUtility.IndexOf(modes, editMode); if (ownerID != callerID) { selectedIndex = -1; } EditorGUI.BeginChangeCheck(); int newSelectedIndex = selectedIndex; using (new EditorGUI.DisabledScope(!owner.areToolModesAvailable)) newSelectedIndex = GUILayout.Toolbar(selectedIndex, guiContents, Styles.multiButtonStyle); if (EditorGUI.EndChangeCheck()) { // Buttons can be toggled SceneViewEditMode newEditMode = newSelectedIndex == selectedIndex ? SceneViewEditMode.None : modes[newSelectedIndex]; ChangeEditMode(newEditMode, getBoundsOfTargets == null ? owner.GetWorldBoundsOfTargets() : getBoundsOfTargets(), owner); } }
internal static void ChangeEditMode(EditMode.SceneViewEditMode mode, IToolModeOwner owner) { EditMode.ChangeEditMode(mode, owner.GetWorldBoundsOfTargets(), owner); }
private static void DoInspectorToolbar(EditMode.SceneViewEditMode[] modes, GUIContent[] guiContents, Func <Bounds> getBoundsOfTargets, IToolModeOwner owner) { EditMode.DetectMainToolChange(); int instanceID = owner.GetInstanceID(); int num = ArrayUtility.IndexOf <EditMode.SceneViewEditMode>(modes, EditMode.editMode); if (EditMode.ownerID != instanceID) { num = -1; } EditorGUI.BeginChangeCheck(); int num2 = num; using (new EditorGUI.DisabledScope(!owner.areToolModesAvailable)) { num2 = GUILayout.Toolbar(num, guiContents, EditMode.Styles.multiButtonStyle, new GUILayoutOption[0]); } if (EditorGUI.EndChangeCheck()) { EditMode.SceneViewEditMode mode = (num2 != num) ? modes[num2] : EditMode.SceneViewEditMode.None; EditMode.ChangeEditMode(mode, (getBoundsOfTargets != null) ? getBoundsOfTargets() : owner.GetWorldBoundsOfTargets(), owner); } }
internal static void DoInspectorToolbar(EditMode.SceneViewEditMode[] modes, GUIContent[] guiContents, IToolModeOwner owner) { EditMode.DoInspectorToolbar(modes, guiContents, null, owner); }
private static void DoEditModeInspectorModeButton(EditMode.SceneViewEditMode mode, string label, GUIContent icon, Func <Bounds> getBoundsOfTargets, IToolModeOwner owner) { EditMode.DetectMainToolChange(); Rect controlRect = EditorGUILayout.GetControlRect(true, 23f, EditMode.Styles.singleButtonStyle, new GUILayoutOption[0]); Rect position = new Rect(controlRect.xMin + EditorGUIUtility.labelWidth, controlRect.yMin, 33f, 23f); GUIContent content = new GUIContent(label); Vector2 vector = GUI.skin.label.CalcSize(content); Rect position2 = new Rect(position.xMax + 5f, controlRect.yMin + (controlRect.height - vector.y) * 0.5f, vector.x, controlRect.height); int instanceID = owner.GetInstanceID(); bool value = EditMode.editMode == mode && EditMode.ownerID == instanceID; EditorGUI.BeginChangeCheck(); bool flag = false; using (new EditorGUI.DisabledScope(!owner.areToolModesAvailable)) { flag = GUI.Toggle(position, value, icon, EditMode.Styles.singleButtonStyle); GUI.Label(position2, label); } if (EditorGUI.EndChangeCheck()) { EditMode.ChangeEditMode((!flag) ? EditMode.SceneViewEditMode.None : mode, (getBoundsOfTargets != null) ? getBoundsOfTargets() : owner.GetWorldBoundsOfTargets(), owner); } }
internal static void DoEditModeInspectorModeButton(EditMode.SceneViewEditMode mode, string label, GUIContent icon, IToolModeOwner owner) { EditMode.DoEditModeInspectorModeButton(mode, label, icon, null, owner); }
internal static bool IsOwner(IToolModeOwner owner) { return(owner.GetInstanceID() == EditMode.s_OwnerID); }
private void OnEditModeEnd(IToolModeOwner owner) { UpdateCache(); }