public static void ChangeEditMode(EditMode.SceneViewEditMode mode, Bounds bounds, Editor caller) { Editor editor = InternalEditorUtility.GetObjectFromInstanceID(EditMode.ownerID) as Editor; EditMode.editMode = mode; EditMode.ownerID = ((mode == EditMode.SceneViewEditMode.None) ? 0 : caller.GetInstanceID()); if (EditMode.onEditModeEndDelegate != null) { EditMode.onEditModeEndDelegate(editor); } if (EditMode.editMode != EditMode.SceneViewEditMode.None && EditMode.onEditModeStartDelegate != null) { EditMode.onEditModeStartDelegate(caller, EditMode.editMode); } EditMode.EditModeChanged(bounds); InspectorWindow.RepaintAllInspectors(); }
public void OnSceneGUI() { if (this.sceneViewEditing) { EditMode.SceneViewEditMode editMode = EditMode.editMode; if (editMode != EditMode.SceneViewEditMode.ReflectionProbeBox) { if (editMode == EditMode.SceneViewEditMode.ReflectionProbeOrigin) { this.DoOriginEditing(); } } else { this.DoBoxEditing(); } } }
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 EditMode() { EditMode.s_ToolBeforeEnteringEditMode = Tool.Move; EditMode.ownerID = InspectorState.GetInt("EditModeOwner", EditMode.ownerID); EditMode.editMode = (EditMode.SceneViewEditMode)InspectorState.GetInt("EditModeState", (int)EditMode.editMode); EditMode.toolBeforeEnteringEditMode = (Tool)InspectorState.GetInt("EditModePrevTool", (int)EditMode.toolBeforeEnteringEditMode); if (EditMode.s_Debug) { Debug.Log(string.Concat(new object[] { "EditMode static constructor: ", EditMode.ownerID, " ", EditMode.editMode, " ", EditMode.toolBeforeEnteringEditMode })); } }
internal static void DrawToolBarButton <TEnum>( TEnum button, Editor owner, Dictionary <TEnum, EditMode.SceneViewEditMode> toolbarMode, Dictionary <TEnum, GUIContent> toolbarContent, params GUILayoutOption[] options ) where TEnum : struct, IConvertible { var intButton = (int)(object)button; bool enabled = toolbarMode[button] == EditMode.editMode; EditorGUI.BeginChangeCheck(); enabled = GUILayout.Toggle(enabled, toolbarContent[button], EditorStyles.miniButton, options); if (EditorGUI.EndChangeCheck()) { EditMode.SceneViewEditMode targetMode = EditMode.editMode == toolbarMode[button] ? EditMode.SceneViewEditMode.None : toolbarMode[button]; EditMode.ChangeEditMode(targetMode, GetBoundsGetter(owner)(), owner); } }
static EditMode() { EditMode.s_ToolBeforeEnteringEditMode = Tool.Move; EditMode.ownerID = SessionState.GetInt("EditModeOwner", EditMode.ownerID); EditMode.editMode = (EditMode.SceneViewEditMode)SessionState.GetInt("EditModeState", (int)EditMode.editMode); EditMode.toolBeforeEnteringEditMode = (Tool)SessionState.GetInt("EditModePrevTool", (int)EditMode.toolBeforeEnteringEditMode); Selection.selectionChanged = (Action)Delegate.Combine(Selection.selectionChanged, new Action(EditMode.OnSelectionChange)); if (EditMode.s_Debug) { Debug.Log(string.Concat(new object[] { "EditMode static constructor: ", EditMode.ownerID, " ", EditMode.editMode, " ", EditMode.toolBeforeEnteringEditMode })); } }
private void DoToolbar() { GUILayout.BeginHorizontal(new GUILayoutOption[0]); GUILayout.FlexibleSpace(); GUI.changed = false; EditMode.SceneViewEditMode editMode = EditMode.editMode; EditorGUI.BeginChangeCheck(); EditMode.DoInspectorToolbar(ReflectionProbeEditor.Styles.sceneViewEditModes, ReflectionProbeEditor.Styles.toolContents, this.GetBounds(), this); if (EditorGUI.EndChangeCheck()) { ReflectionProbeEditor.s_LastInteractedEditor = this; } if (editMode != EditMode.editMode) { EditMode.SceneViewEditMode editMode2 = EditMode.editMode; if (editMode2 == EditMode.SceneViewEditMode.ReflectionProbeOrigin) { this.UpdateOldLocalSpace(); } if (Toolbar.get != null) { Toolbar.get.Repaint(); } } GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.BeginVertical(EditorStyles.helpBox, new GUILayoutOption[0]); string text = ReflectionProbeEditor.Styles.baseSceneEditingToolText; if (this.sceneViewEditing) { int num = ArrayUtility.IndexOf <EditMode.SceneViewEditMode>(ReflectionProbeEditor.Styles.sceneViewEditModes, EditMode.editMode); if (num >= 0) { text = ReflectionProbeEditor.Styles.toolNames[num].text; } } GUILayout.Label(text, ReflectionProbeEditor.Styles.richTextMiniLabel, new GUILayoutOption[0]); GUILayout.EndVertical(); EditorGUILayout.Space(); }
public void StartEditing(EditMode.SceneViewEditMode mode, UnityEditor.Editor caller) { if (mode == EditMode.SceneViewEditMode.None || _caller == caller) { return; } Type editorType; if (!_editors.TryGetValue(mode, out editorType)) { if (SPSettings.Current.DebugMode) { Debug.LogErrorFormat("Editor for mode {0} was not found!", mode); } return; } _caller = caller; _editor = UnityEditor.Editor.CreateEditor( SplineBridge.GetUnserializedSpline(caller.serializedObject), editorType); editorType = _editor.GetType(); _onSceneGUIMethodInfo = editorType.GetMethod("OnSceneGUI", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.InvokeMethod); if (_onSceneGUIMethodInfo == null) { Debug.LogErrorFormat( "Editor {0} has no method OnSceneGUI for view updating. Editing can not be processed.", _editor.GetType().Name); _editor = null; _caller = null; return; } SceneView.onSceneGUIDelegate += OnSceneGuiDelegate; Tools.hidden = true; if (SPSettings.Current.DebugMode) { Debug.LogFormat("Editor {0} enabled for editing {1}", _editor.GetType().Name, _editor.target); } }
private void DoToolbar() { GUILayout.BeginHorizontal(new GUILayoutOption[0]); GUILayout.FlexibleSpace(); GUI.changed = false; EditMode.SceneViewEditMode editMode = EditMode.editMode; EditorGUI.BeginChangeCheck(); EditMode.DoInspectorToolbar(Styles.sceneViewEditModes, Styles.toolContents, this.GetBounds(), this); if (EditorGUI.EndChangeCheck()) { s_LastInteractedEditor = this; } if (editMode != EditMode.editMode) { if (EditMode.editMode == EditMode.SceneViewEditMode.ReflectionProbeOrigin) { this.m_OldTransformPosition = ((ReflectionProbe)this.target).transform.position; } if (Toolbar.get != null) { Toolbar.get.Repaint(); } } GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.BeginVertical(EditorStyles.helpBox, new GUILayoutOption[0]); string baseSceneEditingToolText = Styles.baseSceneEditingToolText; if (this.sceneViewEditing) { int index = ArrayUtility.IndexOf <EditMode.SceneViewEditMode>(Styles.sceneViewEditModes, EditMode.editMode); if (index >= 0) { baseSceneEditingToolText = Styles.toolNames[index].text; } } GUILayout.Label(baseSceneEditingToolText, Styles.richTextMiniLabel, new GUILayoutOption[0]); GUILayout.EndVertical(); EditorGUILayout.Space(); }
public static GridBrushBase.Tool EditModeToBrushTool(EditMode.SceneViewEditMode editMode) { GridBrushBase.Tool result; switch (editMode) { case EditMode.SceneViewEditMode.GridPainting: result = GridBrushBase.Tool.Paint; break; case EditMode.SceneViewEditMode.GridPicking: result = GridBrushBase.Tool.Pick; break; case EditMode.SceneViewEditMode.GridEraser: result = GridBrushBase.Tool.Erase; break; case EditMode.SceneViewEditMode.GridFloodFill: result = GridBrushBase.Tool.FloodFill; break; case EditMode.SceneViewEditMode.GridBox: result = GridBrushBase.Tool.Box; break; case EditMode.SceneViewEditMode.GridSelect: result = GridBrushBase.Tool.Select; break; case EditMode.SceneViewEditMode.GridMove: result = GridBrushBase.Tool.Move; break; default: result = GridBrushBase.Tool.Paint; break; } return(result); }
public void OnSceneGUI() { if (this.sceneViewEditing) { if (this.m_BoundingBoxMode.intValue != 2) { EditMode.QuitEditMode(); } EditMode.SceneViewEditMode editMode = EditMode.editMode; if (editMode != EditMode.SceneViewEditMode.LightProbeProxyVolumeBox) { if (editMode == EditMode.SceneViewEditMode.LightProbeProxyVolumeOrigin) { this.DoOriginEditing(); } } else { this.DoBoxEditing(); } } }
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 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); } }
private void DoToolbar() { using (new EditorGUI.DisabledScope(this.m_BoundingBoxMode.intValue != 2)) { GUILayout.BeginHorizontal(new GUILayoutOption[0]); GUILayout.FlexibleSpace(); EditMode.SceneViewEditMode editMode = EditMode.editMode; EditorGUI.BeginChangeCheck(); EditMode.DoInspectorToolbar(LightProbeProxyVolumeEditor.Styles.sceneViewEditModes, LightProbeProxyVolumeEditor.Styles.toolContents, this.GetGlobalBounds(), this); if (EditorGUI.EndChangeCheck()) { LightProbeProxyVolumeEditor.s_LastInteractedEditor = this; } if (editMode != EditMode.editMode) { if (Toolbar.get != null) { Toolbar.get.Repaint(); } } GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.BeginVertical(EditorStyles.helpBox, new GUILayoutOption[0]); string text = LightProbeProxyVolumeEditor.Styles.baseSceneEditingToolText; if (this.sceneViewEditing) { int num = ArrayUtility.IndexOf <EditMode.SceneViewEditMode>(LightProbeProxyVolumeEditor.Styles.sceneViewEditModes, EditMode.editMode); if (num >= 0) { text = LightProbeProxyVolumeEditor.Styles.toolNames[num].text; } } GUILayout.Label(text, LightProbeProxyVolumeEditor.Styles.richTextMiniLabel, new GUILayoutOption[0]); GUILayout.EndVertical(); EditorGUILayout.Space(); } }
public static void DoInspectorToolbar(EditMode.SceneViewEditMode[] modes, GUIContent[] guiContents, Bounds bounds, Editor caller) { if (!EditorUtility.IsPersistent(caller.target)) { EditMode.DetectMainToolChange(); if (EditMode.s_ToolbarBaseStyle == null) { EditMode.s_ToolbarBaseStyle = "Command"; } int instanceID = caller.GetInstanceID(); int num = ArrayUtility.IndexOf <EditMode.SceneViewEditMode>(modes, EditMode.editMode); if (EditMode.ownerID != instanceID) { num = -1; } EditorGUI.BeginChangeCheck(); int num2 = GUILayout.Toolbar(num, guiContents, EditMode.s_ToolbarBaseStyle, new GUILayoutOption[0]); if (EditorGUI.EndChangeCheck()) { EditMode.SceneViewEditMode mode = (num2 != num) ? modes[num2] : EditMode.SceneViewEditMode.None; EditMode.ChangeEditMode(mode, bounds, caller); } } }
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); }
public static void DoEditModeInspectorModeButton(EditMode.SceneViewEditMode mode, string label, GUIContent icon, Func <Bounds> getBoundsOfTargets, Editor caller) { EditMode.DoEditModeInspectorModeButton(mode, label, icon, getBoundsOfTargets, caller); }
public static void DoEditModeInspectorModeButton(EditMode.SceneViewEditMode mode, string label, GUIContent icon, Bounds bounds, Editor caller) { EditMode.DoEditModeInspectorModeButton(mode, label, icon, () => bounds, caller); }
private static void ChangeEditMode(EditMode.SceneViewEditMode mode, Bounds bounds, Editor caller) { Editor objectFromInstanceId = InternalEditorUtility.GetObjectFromInstanceID(EditMode.ownerID) as Editor; EditMode.editMode = mode; EditMode.ownerID = mode == EditMode.SceneViewEditMode.None ? 0 : caller.GetInstanceID(); if (EditMode.onEditModeEndDelegate != null) EditMode.onEditModeEndDelegate(objectFromInstanceId); if (EditMode.editMode != EditMode.SceneViewEditMode.None && EditMode.onEditModeStartDelegate != null) EditMode.onEditModeStartDelegate(caller, EditMode.editMode); EditMode.EditModeChanged(bounds); InspectorWindow.RepaintAllInspectors(); }
private void OnEditModeStart(IToolModeOwner owner, EditMode.SceneViewEditMode editMode) { UpdateCache(); }
public static bool GetEditMode(EditMode.SceneViewEditMode mode) { return(EditMode.editMode == mode); }
public static void SetEditMode(EditMode.SceneViewEditMode mode, bool value, Editor caller) { SetEditMode(mode, value, caller, new Bounds(Vector3.negativeInfinity, Vector3.positiveInfinity)); }
internal static void ChangeEditMode(EditMode.SceneViewEditMode mode, IToolModeOwner owner) { EditMode.ChangeEditMode(mode, owner.GetWorldBoundsOfTargets(), owner); }
private bool IsLightProbeVolumeProxyEditMode(EditMode.SceneViewEditMode editMode) { return(editMode == EditMode.SceneViewEditMode.LightProbeProxyVolumeBox || editMode == EditMode.SceneViewEditMode.LightProbeProxyVolumeOrigin); }
public static void ChangeEditMode(EditMode.SceneViewEditMode mode, Bounds bounds, Editor caller) { EditMode.ChangeEditMode(mode, bounds, caller); }
private bool IsReflectionProbeEditMode(EditMode.SceneViewEditMode editMode) { return(editMode == EditMode.SceneViewEditMode.ReflectionProbeBox || editMode == EditMode.SceneViewEditMode.ReflectionProbeOrigin); }
private static bool IsLineRendererEditMode(EditMode.SceneViewEditMode editMode) { return(editMode == EditMode.SceneViewEditMode.LineRendererEdit || editMode == EditMode.SceneViewEditMode.LineRendererCreate); }
public static bool IsReflectionProbeEditMode(EditMode.SceneViewEditMode editMode) { return(editMode == EditMode.SceneViewEditMode.ReflectionProbeBox || editMode == EditMode.SceneViewEditMode.Collider || editMode == EditMode.SceneViewEditMode.GridBox || editMode == EditMode.SceneViewEditMode.ReflectionProbeOrigin); }
static EditMode() { EditMode.ownerID = SessionState.GetInt("EditModeOwner", EditMode.ownerID); EditMode.editMode = (EditMode.SceneViewEditMode) SessionState.GetInt("EditModeState", (int) EditMode.editMode); EditMode.toolBeforeEnteringEditMode = (Tool) SessionState.GetInt("EditModePrevTool", (int) EditMode.toolBeforeEnteringEditMode); Selection.selectionChanged += new System.Action(EditMode.OnSelectionChange); if (!EditMode.s_Debug) return; Debug.Log((object) ("EditMode static constructor: " + (object) EditMode.ownerID + " " + (object) EditMode.editMode + " " + (object) EditMode.toolBeforeEnteringEditMode)); }