/// <summary> /// Wrap Unity's method /// </summary> /// <param name="inputName"></param> /// <returns></returns> public static float GetAxis(string inputName, OuyaSDK.OuyaPlayer player) { #if !UNITY_EDITOR && !UNITY_STANDALONE_OSX && !UNITY_STANDALONE_WIN && !UNITY_STANDALONE_LINUX switch (inputName) { case "LT": return(OuyaInputManager.getPlayerKeyState(player).m_axisLeftTrigger); case "RT": return(OuyaInputManager.getPlayerKeyState(player).m_axisRightTrigger); case "RX": return(OuyaInputManager.getPlayerKeyState(player).m_axisRightStickX); case "RY": return(OuyaInputManager.getPlayerKeyState(player).m_axisRightStickY); case "LX": return(OuyaInputManager.getPlayerKeyState(player).m_axisLeftStickX); case "LY": return(-OuyaInputManager.getPlayerKeyState(player).m_axisLeftStickY); } return(0f); #else string axisName = string.Empty; int invertFactor = GetInvertedFactor(GetControllerType(player), inputName); switch (inputName) { case "LT": axisName = OuyaInputManager.GetInput(player, AxisTypes.Horizontal, AnalogTypes.LTRT); break; case "RT": axisName = OuyaInputManager.GetInput(player, AxisTypes.Vertical, AnalogTypes.LTRT); break; case "RX": axisName = OuyaInputManager.GetInput(player, AxisTypes.Horizontal, AnalogTypes.Right); break; case "RY": axisName = OuyaInputManager.GetInput(player, AxisTypes.Vertical, AnalogTypes.Right); break; case "LX": axisName = OuyaInputManager.GetInput(player, AxisTypes.Horizontal, AnalogTypes.Left); break; case "LY": axisName = OuyaInputManager.GetInput(player, AxisTypes.Vertical, AnalogTypes.Left); break; } if (!string.IsNullOrEmpty(axisName)) { return(invertFactor * Input.GetAxis(axisName)); } return(0f); #endif }
//Call this event ( trigger ) public static void buttonPressEvent(OuyaSDK.OuyaPlayer player, OuyaSDK.KeyEnum button, OuyaSDK.InputAction buttonState) { if (ButtonsEvent != null) { ButtonsEvent(player, button, buttonState); } }
private void HandleButtonEvent(OuyaSDK.OuyaPlayer p, OuyaSDK.KeyEnum b, OuyaSDK.InputAction bs) { if (b.Equals(OuyaSDK.KeyEnum.BUTTON_O) && bs.Equals(OuyaSDK.InputAction.KeyDown)) { //we cna use this if we want event-based inputs instead } }
private void HandleButtonEvents(OuyaSDK.OuyaPlayer p, OuyaSDK.KeyEnum b, OuyaSDK.InputAction bs) { if (enabled && NGUITools.GetActive(gameObject)) { // Ignoring P to allow any player to use the menu if (bs.Equals(OuyaSDK.InputAction.KeyDown)) { switch (b) { case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: OnKey(KeyCode.UpArrow); break; case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: OnKey(KeyCode.DownArrow); break; case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: OnKey(KeyCode.LeftArrow); break; case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: OnKey(KeyCode.RightArrow); break; } } if (b == activateButton && gameObject == UICamera.selectedObject) { SendMessage("OnPress", bs.Equals(OuyaSDK.InputAction.KeyDown), SendMessageOptions.DontRequireReceiver); } } }
// Use this for initialization void Start() { loader = FindObjectOfType(typeof(loadingScript)) as loadingScript; playerName = OuyaSDK.OuyaPlayer.player1; Hawes = GetComponent(typeof(CharacterController)) as CharacterController; startScript = FindObjectOfType(typeof(StartScript)) as StartScript; gui = FindObjectOfType(typeof(GUI_HUD)) as GUI_HUD; HandNull = GameObject.FindGameObjectWithTag("HandNull").transform; Character.renderer.material = HawesDiffuse; weaponInHand = 2; if (PlayerPrefs.GetString("currentWeapon") == "") { weaponInHand = 0; } else if (PlayerPrefs.GetString("currentWeapon") == "machete") { weaponInHand = 1; } else if (PlayerPrefs.GetString("currentWeapon") == "shotgun") { weaponInHand = 2; } else if (PlayerPrefs.GetString("currentWeapon") == "semiauto") { weaponInHand = 3; } weaponInHand = 1; LoadWeapon(); }
private float GetAxis(OuyaSDK.KeyEnum keyCode, OuyaSDK.OuyaPlayer player) { // Check if we want the *new* SDK input or the example common if (m_useSDKForInput) { // Get the Unity Axis Name for the Unity API string axisName = OuyaSDK.GetUnityAxisName(keyCode, player); // Check if the axis name is valid if (!string.IsNullOrEmpty(axisName)) { //use the Unity API to get the axis value, raw or otherwise float axisValue = Input.GetAxisRaw(axisName); //check if the axis should be inverted if (OuyaSDK.GetAxisInverted(keyCode, player)) { return(-axisValue); } else { return(axisValue); } } } // moving the common code into the sdk via above else { return(OuyaExampleCommon.GetAxis(keyCode, player)); } return(0f); }
/// <summary> /// Builds a string to get the controller by player. /// </summary> /// <param name="player"></param> /// <param name="axis"></param> /// <param name="type"></param> /// <param name="atype"></param> /// <returns></returns> public static string GetInput(OuyaSDK.OuyaPlayer player, AxisTypes axis, AnalogTypes atype) { Vector2 point; JoystickType joystickType = GetControllerType(player); switch (joystickType) { case JoystickType.ps3: //Note We don't care if the axis is X or Y, we just want to check for input from normalized. #region PS3 Controller point = new Vector2(Input.GetAxis(CheckInput(player, axis, JoystickType.ps3, AnalogTypes.Left)), Input.GetAxis(CheckInput(player, axis, JoystickType.ps3, AnalogTypes.Right))); if (point.x != 0f || point.y != 0f) { return(CheckInput(player, axis, JoystickType.ps3, atype)); } if (atype.Equals(AnalogTypes.DPad)) { return(CheckInput(player, axis, JoystickType.ps3, atype)); } #endregion return(string.Empty); case JoystickType.xbox: #region xbox360 point = new Vector2(Input.GetAxis(CheckInput(player, axis, JoystickType.xbox, AnalogTypes.Left)), Input.GetAxis(CheckInput(player, axis, JoystickType.xbox, AnalogTypes.Right))); if (point.x != 0f || point.y != 0f) { return(CheckInput(player, axis, JoystickType.xbox, atype)); } if (atype.Equals(AnalogTypes.DPad)) { return(CheckInput(player, axis, JoystickType.xbox, atype)); } if (atype.Equals(AnalogTypes.LTRT)) { return(CheckInput(player, axis, JoystickType.xbox, atype)); } #endregion return(string.Empty); case JoystickType.ouya: point = new Vector2(Input.GetAxis(CheckInput(player, axis, JoystickType.ouya, AnalogTypes.Left)), Input.GetAxis(CheckInput(player, axis, JoystickType.ouya, AnalogTypes.Right))); if (point.x != 0f || point.y != 0f) { return(CheckInput(player, axis, JoystickType.ouya, atype)); } if (atype.Equals(AnalogTypes.DPad)) { return(CheckInput(player, axis, JoystickType.ouya, atype)); } if (atype.Equals(AnalogTypes.LTRT)) { return(CheckInput(player, axis, JoystickType.ouya, atype)); } return(string.Empty); default: return("Horizontal"); } }
protected override float ProcessAxis(Key key, float deadZone) { if (key.map == InputKeyMap.None) { return(base.ProcessAxis(key, deadZone)); } OuyaSDK.OuyaPlayer player = GetPlayer(key); switch (key.axis) { case ButtonAxis.Minus: return(OuyaExampleCommon.GetButton((OuyaSDK.KeyEnum)key.map, player) ? -1.0f : 0.0f); break; case ButtonAxis.Plus: return(OuyaExampleCommon.GetButton((OuyaSDK.KeyEnum)key.map, player) ? 1.0f : 0.0f); break; case ButtonAxis.Both: float val = OuyaExampleCommon.GetAxis((OuyaSDK.KeyEnum)key.map, player); return(Mathf.Abs(val) > deadZone ? val : 0.0f); } return(0.0f); }
public static float GetAxis(string inputName, OuyaSDK.OuyaPlayer player) { switch (Moga) { case true: switch (inputName) { case "TurnRight": return(MogaInput.GetAxis("R2")); //MogaController.KEYCODE_BUTTON_R2;//R2 case "TurnLeft": return(MogaInput.GetAxis("L2")); //MogaController.KEYCODE_BUTTON_L2;//L2 case "Roll": return(MogaInput.GetAxis("Horizontal")); //MogaController.AXIS_X;//X case "Vertical": return(MogaInput.GetAxis("Vertical")); //MogaController.AXIS_Y;//Y case "Pitch": return(MogaInput.GetAxis("LookVertical")); //MogaController.AXIS_RZ;//RZ case "Yaw": return(MogaInput.GetAxis("LookHorizontal")); //MogaController.AXIS_Z;//Z default: return(0); } case false: switch (inputName) { case "TurnRight": return(OuyaExampleCommon.GetAxis("RT", player)); case "TurnLeft": return(OuyaExampleCommon.GetAxis("LT", player)); case "Roll": return(OuyaExampleCommon.GetAxis("LX", player)); case "Vertical": return(OuyaExampleCommon.GetAxis("LY", player)); case "Pitch": return(OuyaExampleCommon.GetAxis("RY", player)); case "Yaw": return(OuyaExampleCommon.GetAxis("RX", player)); default: return(0); } } return(0); }
public static JoystickType GetControllerType(OuyaSDK.OuyaPlayer player) { // check the player to see what joystick type they have OuyaGameObject.Device device = OuyaGameObject.devices.Find(delegate(OuyaGameObject.Device d) { return((null == d) ? false : (d.player == player)); }); if (null == device) { return(JoystickType.none); } return(GetControllerType(device.name)); }
/// <summary> /// Wrap Unity's method /// </summary> /// <param name="inputName"></param> /// <returns></returns> public static bool GetButton(string inputName, OuyaSDK.OuyaPlayer player) { switch (inputName) { case "SYS": //arbitrary name and mapping return(OuyaInputManager.getPlayerKeyState(player).m_buttonSystem); case "DPC": //arbitrary name and mapping return(OuyaInputManager.getPlayerKeyState(player).m_buttonDPadCenter); case "DPD": //arbitrary name and mapping return(OuyaInputManager.getPlayerKeyState(player).m_buttonDPadDown); case "DPL": //arbitrary name and mapping return(OuyaInputManager.getPlayerKeyState(player).m_buttonDPadLeft); case "DPR": //arbitrary name and mapping return(OuyaInputManager.getPlayerKeyState(player).m_buttonDPadRight); case "DPU": //arbitrary name and mapping return(OuyaInputManager.getPlayerKeyState(player).m_buttonDPadUp); case "O": //arbitrary name and mapping return(OuyaInputManager.getPlayerKeyState(player).m_buttonO); case "U": //arbitrary name and mapping return(OuyaInputManager.getPlayerKeyState(player).m_buttonU); case "Y": //arbitrary name and mapping return(OuyaInputManager.getPlayerKeyState(player).m_buttonY); case "A": //arbitrary name and mapping return(OuyaInputManager.getPlayerKeyState(player).m_buttonA); case "LT": //arbitrary name and mapping return(OuyaInputManager.getPlayerKeyState(player).m_buttonLT); case "RT": //arbitrary name and mapping return(OuyaInputManager.getPlayerKeyState(player).m_buttonRT); case "LB": //arbitrary name and mapping return(OuyaInputManager.getPlayerKeyState(player).m_buttonLB); case "RB": //arbitrary name and mapping return(OuyaInputManager.getPlayerKeyState(player).m_buttonRB); case "L3": return(OuyaInputManager.getPlayerKeyState(player).m_buttonL3); case "R3": return(OuyaInputManager.getPlayerKeyState(player).m_buttonR3); } return(false); }
/// <summary> /// Get the KeyCode to be used with the Unity API /// </summary> /// <param name="keyCode"></param> /// <param name="player"></param> /// <returns></returns> public static KeyCode GetUnityKeyCode(OuyaSDK.KeyEnum keyCode, OuyaSDK.OuyaPlayer player) { IOuyaController controller = GetSupportedController(player); if (null == controller) { return((KeyCode)(-1)); } return(controller.GetUnityKeyCode(keyCode, player)); }
/// <summary> /// Check if the controller button is available /// </summary> /// <param name="keyCode"></param> /// <param name="player"></param> /// <returns></returns> public static bool HasButton(OuyaSDK.KeyEnum keyCode, OuyaSDK.OuyaPlayer player) { IOuyaController controller = GetSupportedController(player); if (null == controller) { return(false); } return(controller.HasButton(keyCode)); }
/// <summary> /// Check if the axis should be inverted after accessing the Unity API /// </summary> /// <param name="keyCode"></param> /// <param name="player"></param> /// <returns></returns> public static bool GetAxisInverted(OuyaSDK.KeyEnum keyCode, OuyaSDK.OuyaPlayer player) { IOuyaController controller = GetSupportedController(player); if (null == controller) { return(false); } return(controller.GetAxisInverted(keyCode)); }
protected string CommonGetKeyString(int buttonNum, OuyaSDK.OuyaPlayer player) { switch (player) { case OuyaSDK.OuyaPlayer.none: return(string.Format("JoystickButton{0}", buttonNum)); default: return(string.Format("Joystick{0}Button{1}", ((int)player), buttonNum)); } }
/// <summary> /// Get the AxisName to be used with the Unity API /// </summary> /// <param name="keyCode"></param> /// <param name="player"></param> /// <returns></returns> public static string GetUnityAxisName(OuyaSDK.KeyEnum keyCode, OuyaSDK.OuyaPlayer player) { IOuyaController controller = GetSupportedController(player); if (null == controller) { return(string.Empty); } return(controller.GetUnityAxisName(keyCode, player)); }
/// <summary> /// Return the supported buttons /// </summary> /// <param name="player"></param> /// <returns></returns> public static OuyaSDK.KeyEnum[] GetSupportedButtons(OuyaSDK.OuyaPlayer player) { IOuyaController controller = GetSupportedController(player); if (null == controller) { return(null); } return(controller.GetSupportedButtons()); }
public static string GetKeyCode(OuyaSDK.OuyaPlayer player, int buttonNum) { switch (player) { case OuyaSDK.OuyaPlayer.none: return(string.Format("JoystickButton{0}", buttonNum)); default: return(string.Format("Joystick{0}Button{1}", ((int)player), buttonNum)); } }
public static bool GetButton(OuyaSDK.OuyaPlayer player, int buttonNum) { string keyCode = GetKeyCode(player, buttonNum); if (string.IsNullOrEmpty(keyCode)) { return(false); } OuyaKeyCode key = (OuyaKeyCode)Enum.Parse(typeof(OuyaKeyCode), keyCode); return(Input.GetKey((KeyCode)(int)key)); }
protected KeyCode CommonGetUnityKeyCode(int buttonNum, OuyaSDK.OuyaPlayer player) { string keyCode = CommonGetKeyString(buttonNum, player); if (string.IsNullOrEmpty(keyCode)) { return((KeyCode)(-1)); } OuyaKeyCode key = (OuyaKeyCode)Enum.Parse(typeof(OuyaKeyCode), keyCode); return((KeyCode)(int)key); }
public string GetUnityAxisName(OuyaSDK.KeyEnum keyCode, OuyaSDK.OuyaPlayer player) { #if !UNITY_EDITOR && UNITY_ANDROID switch (keyCode) { case OuyaSDK.KeyEnum.AXIS_LSTICK_X: return(string.Format("Joy{0} Axis 1", (int)player)); case OuyaSDK.KeyEnum.AXIS_LSTICK_Y: return(string.Format("Joy{0} Axis 2", (int)player)); case OuyaSDK.KeyEnum.AXIS_RSTICK_X: return(string.Format("Joy{0} Axis 3", (int)player)); case OuyaSDK.KeyEnum.AXIS_RSTICK_Y: return(string.Format("Joy{0} Axis 4", (int)player)); case OuyaSDK.KeyEnum.BUTTON_LT: return(string.Format("Joy{0} Axis 5", (int)player)); case OuyaSDK.KeyEnum.BUTTON_RT: return(string.Format("Joy{0} Axis 6", (int)player)); default: return(string.Empty); } #else switch (keyCode) { case OuyaSDK.KeyEnum.AXIS_LSTICK_X: return(string.Format("Joy{0} Axis 1", (int)player)); case OuyaSDK.KeyEnum.AXIS_LSTICK_Y: return(string.Format("Joy{0} Axis 2", (int)player)); case OuyaSDK.KeyEnum.AXIS_RSTICK_X: return(string.Format("Joy{0} Axis 4", (int)player)); case OuyaSDK.KeyEnum.AXIS_RSTICK_Y: return(string.Format("Joy{0} Axis 5", (int)player)); case OuyaSDK.KeyEnum.BUTTON_LT: return(string.Format("Joy{0} Axis 9", (int)player)); case OuyaSDK.KeyEnum.BUTTON_RT: return(string.Format("Joy{0} Axis 10", (int)player)); default: return(string.Empty); } #endif }
void HandleButtonEvent(OuyaSDK.OuyaPlayer p, OuyaSDK.KeyEnum b, OuyaSDK.InputAction bs) { if (!player.Equals(p)) { return; } if (b.Equals(OuyaSDK.KeyEnum.BUTTON_O) && bs.Equals(OuyaSDK.InputAction.KeyDown)) { this.animation.Play("attack"); Debug.Log("Button O Down Event was triggered on Player" + player); } if (b.Equals(OuyaSDK.KeyEnum.BUTTON_O) && bs.Equals(OuyaSDK.InputAction.KeyUp)) { Debug.Log("Button O Up Event was triggered on Player" + player); } //BATTLE STANCE: if (b.Equals(OuyaSDK.KeyEnum.BUTTON_Y) && bs.Equals(OuyaSDK.InputAction.KeyDown)) { if (!isBattleStance) { //Set Battle stance. this.animation.Play("waitingforbattle"); isBattleStance = true; } else { if (this.animation.IsPlaying("waitingforbattle")) { this.animation.Play("idle"); isBattleStance = false; } } } //DANCE: if (b.Equals(OuyaSDK.KeyEnum.BUTTON_U) && bs.Equals(OuyaSDK.InputAction.KeyDown)) { this.animation.Play("dance"); } //FAKE Death: if (b.Equals(OuyaSDK.KeyEnum.BUTTON_A) && bs.Equals(OuyaSDK.InputAction.KeyDown)) { this.animation.Play("die"); } }
public KeyCode GetUnityKeyCode(OuyaSDK.KeyEnum keyCode, OuyaSDK.OuyaPlayer player) { switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return(CommonGetUnityKeyCode(4, player)); case OuyaSDK.KeyEnum.BUTTON_RB: return(CommonGetUnityKeyCode(5, player)); case OuyaSDK.KeyEnum.BUTTON_O: return(CommonGetUnityKeyCode(0, player)); case OuyaSDK.KeyEnum.BUTTON_U: return(CommonGetUnityKeyCode(1, player)); case OuyaSDK.KeyEnum.BUTTON_Y: return(CommonGetUnityKeyCode(2, player)); case OuyaSDK.KeyEnum.BUTTON_A: return(CommonGetUnityKeyCode(3, player)); case OuyaSDK.KeyEnum.BUTTON_L3: return(CommonGetUnityKeyCode(6, player)); case OuyaSDK.KeyEnum.BUTTON_R3: return(CommonGetUnityKeyCode(7, player)); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return(CommonGetUnityKeyCode(8, player)); case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return(CommonGetUnityKeyCode(9, player)); case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return(CommonGetUnityKeyCode(10, player)); case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return(CommonGetUnityKeyCode(11, player)); case OuyaSDK.KeyEnum.BUTTON_LT: return(CommonGetUnityKeyCode(12, player)); case OuyaSDK.KeyEnum.BUTTON_RT: return(CommonGetUnityKeyCode(13, player)); default: return((KeyCode)(-1)); } }
private bool GetButton(OuyaSDK.OuyaPlayer player, OuyaSDK.KeyEnum keyCode) { switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return(GetButton(player, 4)); case OuyaSDK.KeyEnum.BUTTON_RB: return(GetButton(player, 5)); case OuyaSDK.KeyEnum.BUTTON_O: return(GetButton(player, 0)); case OuyaSDK.KeyEnum.BUTTON_U: return(GetButton(player, 1)); case OuyaSDK.KeyEnum.BUTTON_Y: return(GetButton(player, 2)); case OuyaSDK.KeyEnum.BUTTON_A: return(GetButton(player, 3)); case OuyaSDK.KeyEnum.BUTTON_L3: return(GetButton(player, 6)); case OuyaSDK.KeyEnum.BUTTON_R3: return(GetButton(player, 7)); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return(GetButton(player, 8)); case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return(GetButton(player, 9)); case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return(GetButton(player, 10)); case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return(GetButton(player, 11)); case OuyaSDK.KeyEnum.BUTTON_LT: return(GetButton(player, 12)); case OuyaSDK.KeyEnum.BUTTON_RT: return(GetButton(player, 13)); default: return(false); } }
void FixedUpdate() { UpdateController(); UpdateLabels(); if (Input.GetMouseButtonDown(0)) { int index = ((int)m_player + 1) % 9; if (index == 0) { ++index; } m_player = (OuyaSDK.OuyaPlayer)index; UpdatePlayerButtons(); } }
void Update() { if (joystickCanTrigger && enabled && NGUITools.GetActive(gameObject)) { float greatestX = 0.0f; float greatestY = 0.0f; float leastX = 0.0f; float leastY = 0.0f; //foreach (OuyaSDK.OuyaPlayer player in Enum.GetValues(typeof(OuyaSDK.OuyaPlayer))) // TODO: Use once input lag is fixed for (int i = 1; i <= 4; ++i) // HACK: check a hard-coded number of players { OuyaSDK.OuyaPlayer player = (OuyaSDK.OuyaPlayer)i; float joystickX = OuyaInputManager.GetAxis("LX", player); float joystickY = OuyaInputManager.GetAxis("LY", player); greatestX = Math.Max(joystickX, greatestX); greatestY = Math.Max(joystickY, greatestY); leastX = Math.Min(joystickX, leastX); leastY = Math.Min(joystickY, leastY); } if (greatestX > JoystickThreshold) { StartJoystickResetTimer(); OnKey(KeyCode.RightArrow); } if (greatestY > JoystickThreshold) { StartJoystickResetTimer(); OnKey(KeyCode.UpArrow); } if (leastX < -JoystickThreshold) { StartJoystickResetTimer(); OnKey(KeyCode.LeftArrow); } if (leastY < -JoystickThreshold) { StartJoystickResetTimer(); OnKey(KeyCode.DownArrow); } } }
public static float GetAxis(string ouyaMapping, OuyaSDK.OuyaPlayer player) { switch (ouyaMapping) { case "LB": return(GetAxis(OuyaSDK.KeyEnum.BUTTON_LB, player)); case "LT": return(GetAxis(OuyaSDK.KeyEnum.BUTTON_LT, player)); case "LX": return(GetAxis(OuyaSDK.KeyEnum.AXIS_LSTICK_X, player)); case "LY": return(GetAxis(OuyaSDK.KeyEnum.AXIS_LSTICK_Y, player)); case "RB": return(GetAxis(OuyaSDK.KeyEnum.BUTTON_RB, player)); case "RT": return(GetAxis(OuyaSDK.KeyEnum.BUTTON_RT, player)); case "RX": return(GetAxis(OuyaSDK.KeyEnum.AXIS_RSTICK_X, player)); case "RY": return(GetAxis(OuyaSDK.KeyEnum.AXIS_RSTICK_Y, player)); case "DL": return(GetAxis(OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT, player)); case "DR": return(GetAxis(OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT, player)); case "DU": return(GetAxis(OuyaSDK.KeyEnum.BUTTON_DPAD_UP, player)); case "DD": return(GetAxis(OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN, player)); default: return(0f); } }
/// <summary> /// Check if the player has a supported controller /// </summary> /// <param name="player"></param> /// <returns></returns> public static IOuyaController GetSupportedController(OuyaSDK.OuyaPlayer player) { if (null == OuyaSDK.Joysticks) { return(null); } int playerIndex = (int)player - 1; if (playerIndex >= OuyaSDK.Joysticks.Length) { return(null); } string joystickName = OuyaSDK.Joysticks[playerIndex]; if (null == joystickName) { return(null); } return(GetSupportedController(joystickName)); }
private bool GetButton(OuyaSDK.KeyEnum keyCode, OuyaSDK.OuyaPlayer player) { // Check if we want the *new* SDK input or the example common if (m_useSDKForInput) { // Get the Unity KeyCode for the Unity API KeyCode unityKeyCode = OuyaSDK.GetUnityKeyCode(keyCode, player); // Check if the KeyCode is valid if (unityKeyCode != (KeyCode)(-1)) { //use the Unity API to get the button value bool buttonState = Input.GetKey(unityKeyCode); return(buttonState); } } // moving the common code into the sdk via aboveUs else { return(OuyaExampleCommon.GetButton(keyCode, player)); } return(false); }
//Handles Button Events. private void HandleButtonEvent(OuyaSDK.OuyaPlayer p, OuyaSDK.KeyEnum b, OuyaSDK.InputAction bs) { //Debug.Log(string.Format("Player:{0} | Button:{1} | InputAction:{2}", p, b, bs)); m_inputAction = bs; m_keyEnum = b; //If this event was not meant for us then do not handle it. if (!player.Equals(p)) { return; } //NOTE: This Button event handler only handles events for Player 1, because of the above statement. #region BUTTONS O - A //Check O button for down state if (b.Equals(OuyaSDK.KeyEnum.BUTTON_O) && bs.Equals(OuyaSDK.InputAction.KeyDown)) { UpdateHighlight(RendererButtonO, true, true); } else if (b.Equals(OuyaSDK.KeyEnum.BUTTON_O) && bs.Equals(OuyaSDK.InputAction.KeyUp)) { UpdateHighlight(RendererButtonO, false, true); } //Check U button for down state if (b.Equals(OuyaSDK.KeyEnum.BUTTON_U) && bs.Equals(OuyaSDK.InputAction.KeyDown)) { UpdateHighlight(RendererButtonU, true, true); } else if (b.Equals(OuyaSDK.KeyEnum.BUTTON_U) && bs.Equals(OuyaSDK.InputAction.KeyUp)) { UpdateHighlight(RendererButtonU, false, true); } //Check Y button for down state if (b.Equals(OuyaSDK.KeyEnum.BUTTON_Y) && bs.Equals(OuyaSDK.InputAction.KeyDown)) { UpdateHighlight(RendererButtonY, true, true); } else if (b.Equals(OuyaSDK.KeyEnum.BUTTON_Y) && bs.Equals(OuyaSDK.InputAction.KeyUp)) { UpdateHighlight(RendererButtonY, false, true); } //Check A button for down state if (b.Equals(OuyaSDK.KeyEnum.BUTTON_A) && bs.Equals(OuyaSDK.InputAction.KeyDown)) { UpdateHighlight(RendererButtonA, true, true); } else if (b.Equals(OuyaSDK.KeyEnum.BUTTON_A) && bs.Equals(OuyaSDK.InputAction.KeyUp)) { UpdateHighlight(RendererButtonA, false, true); } //Check L3 button for down state if (b.Equals(OuyaSDK.KeyEnum.BUTTON_L3) && bs.Equals(OuyaSDK.InputAction.KeyDown)) { UpdateHighlight(RendererAxisLeft, true, true); } else if (b.Equals(OuyaSDK.KeyEnum.BUTTON_L3) && bs.Equals(OuyaSDK.InputAction.KeyUp)) { UpdateHighlight(RendererAxisLeft, false, true); } //Check R3 button for down state if (b.Equals(OuyaSDK.KeyEnum.BUTTON_R3) && bs.Equals(OuyaSDK.InputAction.KeyDown)) { UpdateHighlight(RendererAxisRight, true, true); } else if (b.Equals(OuyaSDK.KeyEnum.BUTTON_R3) && bs.Equals(OuyaSDK.InputAction.KeyUp)) { UpdateHighlight(RendererAxisRight, false, true); } #endregion #region Bumpers //Check LB button for down state if (b.Equals(OuyaSDK.KeyEnum.BUTTON_LB) && bs.Equals(OuyaSDK.InputAction.KeyDown)) { UpdateHighlight(RendererLB, true, true); } else if (b.Equals(OuyaSDK.KeyEnum.BUTTON_LB) && bs.Equals(OuyaSDK.InputAction.KeyUp)) { UpdateHighlight(RendererLB, false, true); } //Check RB button for down state if (b.Equals(OuyaSDK.KeyEnum.BUTTON_RB) && bs.Equals(OuyaSDK.InputAction.KeyDown)) { UpdateHighlight(RendererRB, true, true); } else if (b.Equals(OuyaSDK.KeyEnum.BUTTON_RB) && bs.Equals(OuyaSDK.InputAction.KeyUp)) { UpdateHighlight(RendererRB, false, true); } #endregion #region triggers //Check LT button for down state if (b.Equals(OuyaSDK.KeyEnum.BUTTON_LT) && bs.Equals(OuyaSDK.InputAction.KeyDown)) { UpdateHighlight(RendererLT, true, true); } else if (b.Equals(OuyaSDK.KeyEnum.BUTTON_LT) && bs.Equals(OuyaSDK.InputAction.KeyUp)) { UpdateHighlight(RendererLT, false, true); } //Check RT button for down state if (b.Equals(OuyaSDK.KeyEnum.BUTTON_RT) && bs.Equals(OuyaSDK.InputAction.KeyDown)) { UpdateHighlight(RendererRT, true, true); } else if (b.Equals(OuyaSDK.KeyEnum.BUTTON_RT) && bs.Equals(OuyaSDK.InputAction.KeyUp)) { UpdateHighlight(RendererRT, false, true); } #endregion #region DPAD //Check DPAD UP button for down state if (b.Equals(OuyaSDK.KeyEnum.BUTTON_DPAD_UP) && bs.Equals(OuyaSDK.InputAction.KeyDown)) { UpdateHighlight(RendererDpadUp, true, true); } else if (b.Equals(OuyaSDK.KeyEnum.BUTTON_DPAD_UP) && bs.Equals(OuyaSDK.InputAction.KeyUp)) { UpdateHighlight(RendererDpadUp, false, true); } //Check DPAD DOWN button for down state if (b.Equals(OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN) && bs.Equals(OuyaSDK.InputAction.KeyDown)) { UpdateHighlight(RendererDpadDown, true, true); } else if (b.Equals(OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN) && bs.Equals(OuyaSDK.InputAction.KeyUp)) { UpdateHighlight(RendererDpadDown, false, true); } //Check DPAD LEFT button for down state if (b.Equals(OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT) && bs.Equals(OuyaSDK.InputAction.KeyDown)) { UpdateHighlight(RendererDpadLeft, true, true); } else if (b.Equals(OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT) && bs.Equals(OuyaSDK.InputAction.KeyUp)) { UpdateHighlight(RendererDpadLeft, false, true); } //Check DPAD RIGHT button for down state if (b.Equals(OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT) && bs.Equals(OuyaSDK.InputAction.KeyDown)) { UpdateHighlight(RendererDpadRight, true, true); } else if (b.Equals(OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT) && bs.Equals(OuyaSDK.InputAction.KeyUp)) { UpdateHighlight(RendererDpadRight, false, true); } #endregion }