Exemplo n.º 1
0
 public void ResetToLastSelectMode()
 {
     if (ProBuilderToolManager.activeTool != Tool.Custom)
     {
         ProBuilderEditor.ResetToLastSelectMode();
     }
 }
Exemplo n.º 2
0
        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;
     }
 }
Exemplo n.º 4
0
 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();
     }
 }
Exemplo n.º 5
0
        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;
            }
            }
        }
Exemplo n.º 6
0
 public override void OnWillBeDeactivated()
 {
     base.OnWillBeDeactivated();
     EditorApplication.delayCall += () => ProBuilderEditor.ResetToLastSelectMode();
 }