private static bool checkKeyAndButton(KeyCode keyCode, string button, KeyCode mogaKey) { if (Input.GetButton(button)) { return(true); } if (Input.GetKeyDown(mogaKey)) { return(true); } return(keyCode == lastKeyHit); }
private static bool checkAlternateButton(string button, string altButton, KeyCode mogaKey) { if (Input.GetButton(altButton)) { return(true); } if (Input.GetKeyDown(mogaKey)) { return(true); } return(Input.GetButton(button)); }
public static bool GetAction(string action) { // Debug.Log (mogaManagerScript.isControllerConnected ()); switch (action) { case "Jump": return(checkAlternateButton(action, "Y", mogaManagerScript.p1ButtonY)); case "Use": case "Pickup": return(checkKeyAndButton(KeyCode.E, "A", mogaManagerScript.p1ButtonA)); case "Select": return(checkKeyAndButton(KeyCode.Space, "Y", mogaManagerScript.p1ButtonY)); case "Drop": return(checkKeyAndButton(KeyCode.Z, "LB", mogaManagerScript.p1ButtonL1)); case "ToggleLaser": return(checkKeyAndButton(KeyCode.Backslash, "RB", mogaManagerScript.p1ButtonR1)); case "CursorLeft": return(checkKeyAndAxisThresholdLower(KeyCode.Z, "LeftAnalogueHorizontal", mogaManagerScript.p1ButtonL2)); case "CursorRight": return(checkKeyAndAxisThresholdUpper(KeyCode.X, "LeftAnalogueHorizontal", mogaManagerScript.p1ButtonR2)); case "PrimaryAttack": return(checkKeyAndButton(KeyCode.F, "RightTrigger", mogaManagerScript.p1ButtonR2)); case "SecondaryAttack": return(checkKeyAndButton(KeyCode.G, "LeftTrigger", mogaManagerScript.p1ButtonL2)); case "Suicide": return(KeyCode.Escape == lastKeyHit); default: break; } return(Input.GetButton(action)); }
void DebugInput() { string[] buttons = new string[] { "A", "B", "X", "Jump", "Y", "LB", "RB", "LeftTrigger", "RightTrigger", "Start", "Select" }; foreach (string button in buttons) { if (Input.GetButton(button)) { Debug.Log(button); } } string[] axes = new string[] { "Horizontal", "Vertical", "LeftAnalogueHorizontal", "LeftAnalogueVertical", "RightAnalogueHorizontal", "RightAnalogueVertical", "DPadHorizontal", "DPadVertical", "Axis7", "Axis8", "Axis9", }; foreach (string axis in axes) { float result = Input.GetAxis(axis); if (result > epsilon || result < -epsilon) { Debug.Log(axis + ": " + result); } } if (debugMoga) { KeyCode[] joystickKeys = new KeyCode[] { mogaManagerScript.p1ButtonA, mogaManagerScript.p1ButtonB, mogaManagerScript.p1ButtonX, mogaManagerScript.p1ButtonY, mogaManagerScript.p1ButtonL1, mogaManagerScript.p1ButtonR1, mogaManagerScript.p1ButtonL2, mogaManagerScript.p1ButtonR2, mogaManagerScript.p1ButtonStart, mogaManagerScript.p1ButtonSelect, mogaManagerScript.p1ButtonDPadLeft, mogaManagerScript.p1ButtonDPadRight, mogaManagerScript.p1ButtonDPadUp, mogaManagerScript.p1ButtonDPadDown }; foreach (KeyCode keyCode in joystickKeys) { if (Input.GetKeyDown(keyCode)) { Debug.Log(keyCode); } } string[] mogaAxes = new string[] { mogaManagerScript.p1AxisLookHorizontal, mogaManagerScript.p1AxisLookVertical }; foreach (string axis in mogaAxes) { float result = Input.GetAxis(axis); if (result > epsilon || result < -epsilon) { Debug.Log(axis + ": " + result); } } } }