예제 #1
0
    static bool GetPadPressedInput(Note.DrumPad drumFret, LaneInfo laneInfo, Dictionary <Note.DrumPad, MSChartEditorInputActions> inputsToCheck, Dictionary <int, Dictionary <Note.DrumPad, MSChartEditorInputActions?> > laneCountOverridesDict)
    {
        if (laneCountOverridesDict != null)
        {
            Dictionary <Note.DrumPad, MSChartEditorInputActions?> inputOverrideDict;
            MSChartEditorInputActions?overrideInput;

            if (laneCountOverridesDict.TryGetValue(laneInfo.laneCount, out inputOverrideDict) && inputOverrideDict.TryGetValue(drumFret, out overrideInput))
            {
                bool inputFound = false;

                if (overrideInput != null)
                {
                    inputFound = MSChartEditorInput.GetInputDown((MSChartEditorInputActions)overrideInput);
                }

                return(inputFound);
            }
        }

        MSChartEditorInputActions input;

        if (inputsToCheck.TryGetValue(drumFret, out input))
        {
            return(MSChartEditorInput.GetInputDown(input));
        }

        return(false);
    }
예제 #2
0
        /******************************** Keyboard Alts ********************************************/

        public static bool GetPadPressedInputKeyboard(Note.DrumPad drumFret, LaneInfo laneInfo)
        {
            switch (drumFret)
            {
            case (Note.DrumPad.Red):
                return(Input.GetKeyDown(KeyCode.Alpha1));

            case (Note.DrumPad.Yellow):
                return(Input.GetKeyDown(KeyCode.Alpha2));

            case (Note.DrumPad.Blue):
                return(Input.GetKeyDown(KeyCode.Alpha3));

            case (Note.DrumPad.Orange):
                return(Input.GetKeyDown(KeyCode.Alpha4));

            case (Note.DrumPad.Green):
                return(Input.GetKeyDown(KeyCode.Alpha5));

            case (Note.DrumPad.Kick):
                return(Input.GetKeyDown(KeyCode.Alpha0));

            default:
                Debug.LogError("Unhandled note type for drum input: " + drumFret);
                break;
            }

            return(false);
        }
예제 #3
0
        public static bool GetPadPressedInput(this GamepadInput gamepad, Note.DrumPad drumFret, LaneInfo laneInfo)
        {
            Dictionary <Note.DrumPad, GamepadInput.Button?> inputOverrideDict;

            GamepadInput.Button?overrideInput;

            if (laneCountGamepadOverridesDict.TryGetValue(laneInfo.laneCount, out inputOverrideDict) && inputOverrideDict.TryGetValue(drumFret, out overrideInput))
            {
                bool inputFound = false;

                if (overrideInput != null)
                {
                    inputFound = gamepad.GetButtonPressed((GamepadInput.Button)overrideInput);
                }

                return(inputFound);
            }

            switch (drumFret)
            {
            case (Note.DrumPad.Red):
                return(gamepad.GetButtonPressed(GamepadInput.Button.B));

            case (Note.DrumPad.Yellow):
                return(gamepad.GetButtonPressed(GamepadInput.Button.Y));

            case (Note.DrumPad.Blue):
                return(gamepad.GetButtonPressed(GamepadInput.Button.X));

            case (Note.DrumPad.Orange):
                return(gamepad.GetButtonPressed(GamepadInput.Button.RB));

            case (Note.DrumPad.Green):
                return(gamepad.GetButtonPressed(GamepadInput.Button.A));

            case (Note.DrumPad.Kick):
                return(gamepad.GetButtonPressed(GamepadInput.Button.LB));

            default:
                Debug.LogError("Unhandled note type for drum input: " + drumFret);
                break;
            }

            return(false);
        }
    public static bool GetPadPressedInput(Note.DrumPad drumFret, LaneInfo laneInfo)
    {
        Dictionary <Note.DrumPad, MSChartEditorInputActions?> inputOverrideDict;
        MSChartEditorInputActions?overrideInput;

        if (laneCountGamepadOverridesDict.TryGetValue(laneInfo.laneCount, out inputOverrideDict) && inputOverrideDict.TryGetValue(drumFret, out overrideInput))
        {
            bool inputFound = false;

            if (overrideInput != null)
            {
                inputFound = MSChartEditorInput.GetInputDown((MSChartEditorInputActions)overrideInput);
            }

            return(inputFound);
        }

        switch (drumFret)
        {
        case Note.DrumPad.Red:
            return(MSChartEditorInput.GetInputDown(MSChartEditorInputActions.DrumPadRed));

        case Note.DrumPad.Yellow:
            return(MSChartEditorInput.GetInputDown(MSChartEditorInputActions.DrumPadYellow));

        case Note.DrumPad.Blue:
            return(MSChartEditorInput.GetInputDown(MSChartEditorInputActions.DrumPadBlue));

        case Note.DrumPad.Orange:
            return(MSChartEditorInput.GetInputDown(MSChartEditorInputActions.DrumPadOrange));

        case Note.DrumPad.Green:
            return(MSChartEditorInput.GetInputDown(MSChartEditorInputActions.DrumPadGreen));

        case Note.DrumPad.Kick:
            return(MSChartEditorInput.GetInputDown(MSChartEditorInputActions.DrumPadKick));

        default:
            Debug.LogError("Unhandled note type for drum input: " + drumFret);
            break;
        }

        return(false);
    }
예제 #5
0
 public static bool GetCymbalPressedInput(Note.DrumPad drumFret, LaneInfo laneInfo)
 {
     return(GetPadPressedInput(drumFret, laneInfo, proDrumsPadToCymbalInputDict, null));
 }
예제 #6
0
 public static bool GetPadPressedInput(Note.DrumPad drumFret, LaneInfo laneInfo)
 {
     return(GetPadPressedInput(drumFret, laneInfo, drumPadToInputDict, laneCountGamepadOverridesDict));
 }
 public void SetHitTime(Note.DrumPad noteType, float time)
 {
     drumHitTimes[(int)noteType] = time;
 }
 public float GetHitTime(Note.DrumPad noteType)
 {
     return(drumHitTimes[(int)noteType]);
 }
예제 #9
0
 public static bool GetPadInputControllerOrKeyboard(this GamepadInput gamepad, Note.DrumPad drumFret, LaneInfo laneInfo)
 {
     return(GetPadPressedInput(gamepad, drumFret, laneInfo) || GetPadPressedInputKeyboard(drumFret, laneInfo));
 }