/// <summary>
        /// Input setting for XBox 360's gamepad.
        /// </summary>
        public static void SetupXBox360Joystick()
        {
            float defalutSenstivity = JCS_InputSettings.DEFAULT_SENSITIVITY;
            float defaultDead       = JCS_InputSettings.DEFAULT_DEAD;
            float defaultGravity    = JCS_InputSettings.DEFAULT_GRAVITY;

            for (int joystickNum = 0; joystickNum < GAMEPAD_COUNT; ++joystickNum)
            {
                foreach (JCS_JoystickButton val in JCS_Utility.GetValues <JCS_JoystickButton>())
                {
                    if (val == JCS_JoystickButton.NONE)
                    {
                        continue;
                    }

                    // add axis definition.
                    AddAxis(new InputAxis()
                    {
                        name           = JCS_InputSettings.GetJoystickButtonIdName(joystickNum, val),
                        positiveButton = JCS_InputSettings.GetPositiveNameByLabel(val),
                        dead           = defaultDead,
                        gravity        = defaultGravity,
                        sensitivity    = defalutSenstivity,
                        type           = JCS_InputSettings.GetAxisType(val),
                        invert         = JCS_InputSettings.IsInvert(val),
                        axis           = (int)JCS_InputSettings.GetAxisChannel(val),
                        joyNum         = joystickNum,
                    });
                }
            }
        }
Example #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="btn"></param>
        /// <returns></returns>
        public static float GetAxis(int joystickIndex, JCS_JoystickButton btn, bool ignorePause = false)
        {
            if (btn == JCS_JoystickButton.NONE)
            {
                return(0);
            }

            string idString = JCS_InputSettings.GetJoystickButtonIdName(joystickIndex, btn);

            return(GetAxis(idString, ignorePause));
        }
Example #3
0
        /// <summary>
        /// Check if joystick id, down the key?
        /// </summary>
        /// <param name="joystickIndex"> id. </param>
        /// <param name="btn"> target button. </param>
        /// <returns>
        /// true: did uo.
        /// false: not up.
        /// </returns>
        public static bool GetJoystickKeyDown(JCS_JoystickIndex joystickIndex, JCS_JoystickButton btn, bool ignorePause = false)
        {
            if (!ignorePause)
            {
                if (JCS_GameManager.instance.GAME_PAUSE)
                {
                    return(false);
                }
            }

            string idString = JCS_InputSettings.GetJoystickButtonIdName(joystickIndex, btn);

            if (GetJoystickKey(joystickIndex, btn, ignorePause))
            {
                if (!mJoystickKeyPressed.ContainsKey(idString))
                {
                    mJoystickKeyPressed.Add(idString, false);
                    return(true);
                }
                // Key contains!
                else
                {
                    if (mJoystickKeyPressed[idString])
                    {
                        return(false);
                    }
                    else
                    {
                        if (!mJoystickKeyWasPreseed.Contains(idString))
                        {
                            mJoystickKeyWasPreseed.Add(idString);
                        }
                        return(true);
                    }
                }
            }
            else
            {
                if (mJoystickKeyPressed.ContainsKey(idString))
                {
                    mJoystickKeyPressed[idString] = false;
                }
            }

            return(false);
        }