public void ResetToLastSelectMode() { if (ProBuilderToolManager.activeTool != Tool.Custom) { ProBuilderEditor.ResetToLastSelectMode(); } }
static void CheckForSelectModeAfterToolQuit() { var toolType = EditorToolUtility.GetEnumWithEditorTool(EditorToolManager.activeTool); if (toolType != Tool.Custom && toolType != Tool.None) { ProBuilderEditor.ResetToLastSelectMode(); } }
static void Toggle_ObjectElementMode() { if (ProBuilderEditor.selectMode == SelectMode.Object) { ProBuilderEditor.ResetToLastSelectMode(); } else { ProBuilderEditor.selectMode = SelectMode.Object; } }
void LeaveTool(bool restoreLastMode = true) { //Quit Polygon edit mode and deactivate the tool SetPolyEditMode(PolyShape.PolyEditMode.None); polygon = null; ToolManager.RestorePreviousTool(); if (restoreLastMode) { //EditorApplication.delayCall += () => ProBuilderEditor.ResetToLastSelectMode(); ProBuilderEditor.ResetToLastSelectMode(); } }
void HandleKeyEvent(Event evt) { KeyCode key = evt.keyCode; switch (key) { case KeyCode.Space: case KeyCode.Return: { if (polygon.polyEditMode == PolyShape.PolyEditMode.Path) { if (SceneCameraIsAlignedWithPolyUp()) { SetPolyEditMode(PolyShape.PolyEditMode.Edit); } else { SetPolyEditMode(PolyShape.PolyEditMode.Height); } evt.Use(); } else if (polygon.polyEditMode == PolyShape.PolyEditMode.Height) { SetPolyEditMode(PolyShape.PolyEditMode.Edit); evt.Use(); } else if (polygon.polyEditMode == PolyShape.PolyEditMode.Edit) { SetPolyEditMode(PolyShape.PolyEditMode.None); evt.Use(); } break; } case KeyCode.Backspace: { if (m_SelectedIndex > -1) { UndoUtility.RecordObject(polygon, "Delete Selected Points"); polygon.m_Points.RemoveAt(m_SelectedIndex); m_SelectedIndex = -1; RebuildPolyShapeMesh(polygon); evt.Use(); } break; } case KeyCode.Escape: { if (polygon.polyEditMode == PolyShape.PolyEditMode.Path) { DestroyImmediate(polygon.gameObject); DestroyImmediate(this); ProBuilderEditor.ResetToLastSelectMode(); } else { SetPolyEditMode(PolyShape.PolyEditMode.None); } evt.Use(); break; } } }
public override void OnWillBeDeactivated() { base.OnWillBeDeactivated(); EditorApplication.delayCall += () => ProBuilderEditor.ResetToLastSelectMode(); }