public bool GetCompDevInputButton(CompDevInput compDevInputButton, int playerIndex = 0, ButtonStateType buttonState = ButtonStateType.Down)
    {
        if (CompDevInputMap.ContainsKey(compDevInputButton))
        {
            CompDevMappedInput mappedInput = CompDevInputMap[compDevInputButton];
            if (PlayerInputMode == InputMode.Keyboard)
            {
                if (!mappedInput.IsKeyboardAxis)
                {
                    return(GetKeyboardButton(mappedInput.KeyboardKeys[playerIndex], buttonState));
                }
            }
            else if (PlayerInputMode == InputMode.Controller)
            {
                if (!mappedInput.IsControllerAxis)
                {
                    return(GetControllerButton(mappedInput.ControllerInput, playerIndex, buttonState));
                }
            }
        }

        return(false);
    }
    public float GetCompDevInputAxis(CompDevInput compDev, int playerIndex = 0)
    {
        if (CompDevInputMap.ContainsKey(compDev))
        {
            CompDevMappedInput mappedInput = CompDevInputMap[compDev];

            if (PlayerInputMode == InputMode.Keyboard)
            {
                if (mappedInput.IsKeyboardAxis)
                {
                    return(GetKeyboardAxis(mappedInput.KeyboardAxis, playerIndex));
                }
            }
            else if (PlayerInputMode == InputMode.Controller)
            {
                if (mappedInput.IsControllerAxis)
                {
                    return(GetControllerAxis(mappedInput.ControllerInput, playerIndex));
                }
            }
        }

        return(0f);
    }