/// <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, }); } } }
/// <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)); }
/// <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); }