예제 #1
0
    private void UpdateShortcut()
    {
        bool isFocusOnInputText = Utils.IsFocusOnInputText();
        bool isControlDown      = GetControl();
        bool isShiftDown        = GetShift();
        bool isAltDown          = GetAlt();

        if (isControlDown)
        {
            if (Input.GetKeyDown(KeyCode.M))
            {
                functionButtonHandler.OnCreateModuleButtonClick();
            }
            else if (Input.GetKeyDown(KeyCode.N))
            {
                Vector2 pos = Utils.GetRealPositionInContainer(Input.mousePosition);
                DisplayObjectUtil.AddDisplayObject(null, pos, GlobalData.DefaultSize, null, true);
            }
            else if (Input.GetKeyDown(KeyCode.Backspace))
            {
                functionButtonHandler.OnRemoveButtonClick();
            }
            else if (Input.GetKeyDown(KeyCode.UpArrow))
            {
                functionButtonHandler.OnUpButtonClick();
            }
            else if (Input.GetKeyDown(KeyCode.DownArrow))
            {
                functionButtonHandler.OnDownButtonClick();
            }
            else if (Input.GetKeyDown(KeyCode.P))
            {
                functionButtonHandler.OnCopyButtonClick();
            }
            else if (Input.GetKeyDown(KeyCode.I))
            {
                functionButtonHandler.OnImportButtonClick();
            }
            else if (Input.GetKeyDown(KeyCode.E))
            {
                functionButtonHandler.OnExportButtonClick();
            }
            else if (Input.GetKeyDown(KeyCode.H))
            {
                functionButtonHandler.OnHelpButtonClick();
            }
            else if (Input.GetKeyDown(KeyCode.T) && GlobalData.FrameToggle)
            {
                functionButtonHandler.OnToggleTrigger(!GlobalData.FrameToggle.isOn);
            }
        }

        if (Input.GetKeyDown(KeyCode.Delete) && !isFocusOnInputText)
        {
            functionButtonHandler.OnRemoveButtonClick();
        }

        if (Input.GetKeyDown(KeyCode.Escape) && GlobalData.CurrentSelectDisplayObjectDic.Count != 0 && !isFocusOnInputText)
        {
            List <string> removeElements = GlobalData.CurrentSelectDisplayObjectDic.KeyList();
            if (removeElements != null)
            {
                HistoryManager.Do(BehaviorFactory.GetUpdateSelectDisplayObjectBehavior(GlobalData.CurrentModule, null, removeElements));
            }
        }

        if (isControlDown && !isFocusOnInputText)
        {
            if (Input.GetKeyDown(KeyCode.C))
            {
                DisplayObjectUtil.CopySelectDisplayObjects();
            }
            else if (Input.GetKeyDown(KeyCode.V))
            {
                containerManager.PasteDisplayObjects();
            }
        }

        if (isControlDown)
        {
            if (Input.GetKeyDown(KeyCode.Z))
            {
                HistoryManager.Undo();
            }
            else if (Input.GetKeyDown(KeyCode.Y))
            {
                HistoryManager.Do();
            }
        }

        if (isControlDown && Input.GetKeyDown(KeyCode.S))
        {
            if (string.IsNullOrWhiteSpace(GlobalData.CurrentFilePath))
            {
                functionButtonHandler.OnExportButtonClick();
            }
            else
            {
                ModuleUtil.ExportModules(GlobalData.CurrentFilePath, true);
            }
        }

        if (isControlDown && isShiftDown && isAltDown && Input.GetKeyDown(KeyCode.D))
        {
            Debugger.ShowDebugging = !Debugger.ShowDebugging;
        }

        if (isControlDown && isShiftDown && isAltDown && Input.GetKeyDown(KeyCode.F))
        {
            Screen.fullScreen = !Screen.fullScreen;
        }

        if (Input.GetKeyDown(KeyCode.Q))
        {
            Debug.Log($"pos: {Utils.GetRealPosition(Input.mousePosition)}");
        }
    }