コード例 #1
0
    // Update is called once per frame
    void Update()
    {
        if (ExclusiveFocus.hasFocus)
        {
            return;
        }

        if (!playback.isPlaying)
        {
            if (Input.GetKeyDown(KeyCode.Home))
            {
                patternView.SetSelection(0);
            }
            if (Input.GetKeyDown(KeyCode.End))
            {
                patternView.SetSelection(songData.patternLength - 1);
            }

            if (Input.GetKeyDown(KeyCode.DownArrow))
            {
                DoShortcut(KeyCode.DownArrow, () => { patternView.MoveVertical(1); });
            }
            if (Input.GetKeyDown(KeyCode.UpArrow))
            {
                DoShortcut(KeyCode.UpArrow, () => { patternView.MoveVertical(-1); });
            }
        }

        if (Input.GetKeyDown(KeyCode.LeftArrow))
        {
            DoShortcut(KeyCode.LeftArrow, () => { patternView.MoveHorizontal(-1); });
        }
        if (Input.GetKeyDown(KeyCode.RightArrow))
        {
            DoShortcut(KeyCode.RightArrow, () => { patternView.MoveHorizontal(1); });
        }

        if (ModifierDown())
        {
            if (Input.GetKeyDown(KeyCode.C))
            {
                CopySelection();
            }
            if (Input.GetKeyDown(KeyCode.V))
            {
                PasteSelection();
            }
            if (Input.GetKeyDown(KeyCode.X))
            {
                CopySelection();
                DeleteSelection();
            }

            if (Input.GetKeyDown(KeyCode.Z))
            {
                history.Undo();
            }

            if (Input.GetKeyDown(KeyCode.F1))
            {
                Transpose(-1);
            }
            if (Input.GetKeyDown(KeyCode.F2))
            {
                Transpose(1);
            }
            if (Input.GetKeyDown(KeyCode.F3))
            {
                Transpose(-12);
            }
            if (Input.GetKeyDown(KeyCode.F4))
            {
                Transpose(12);
            }

            if (Input.GetKeyDown(KeyCode.A))
            {
                SelectAll( );
            }

            if (Input.GetKeyDown(KeyCode.S))
            {
                fileManagement.SaveFile(false);
            }
        }

        if (patternView.recording)
        {
            if (Input.GetKeyDown(KeyCode.Delete))
            {
                DoShortcut(KeyCode.Delete, DeleteSelection);
            }

            if (Input.GetKeyDown(KeyCode.Backspace))
            {
                DoShortcut(KeyCode.Backspace, Erase);
            }

            if (Input.GetKeyDown(KeyCode.Insert))
            {
                DoShortcut(KeyCode.Insert, Insert);
            }
        }

        if (!ModifierDown())
        {
            for (int i = (int)KeyCode.F1; i <= (int)KeyCode.F8; i++)
            {
                if (Input.GetKeyDown((KeyCode)i))
                {
                    controls.octave.value = i - (int)KeyCode.F1 + 1;
                }
            }
        }
    }