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); } } }
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; } }
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; }
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); } }
protected bool HasKeyCode(OuyaSDK.KeyEnum[] supportedCodes, OuyaSDK.KeyEnum keyCode) { foreach (OuyaSDK.KeyEnum item in supportedCodes) { if (item == keyCode) { return true; } } return false; }
public static float GetAxisRaw(OuyaSDK.KeyEnum keyCode, OuyaSDK.OuyaPlayer player) { if (OuyaSDK.m_EnableUnityInput) { return GetAxisWithDelegate(keyCode, player, Input.GetAxisRaw); } else { return 0f; } }
/// <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 }
public static float GetAxis(OuyaSDK.KeyEnum keyCode) { float axisValue = 0f; axisValue = GreaterValue(axisValue, SuperInputMapper.GetAxis(keyCode, OuyaSDK.OuyaPlayer.player1) ); axisValue = GreaterValue(axisValue, SuperInputMapper.GetAxis(keyCode, OuyaSDK.OuyaPlayer.player2) ); axisValue = GreaterValue(axisValue, SuperInputMapper.GetAxis(keyCode, OuyaSDK.OuyaPlayer.player3) ); axisValue = GreaterValue(axisValue, SuperInputMapper.GetAxis(keyCode, OuyaSDK.OuyaPlayer.player4) ); axisValue = GreaterValue(axisValue, SuperInputMapper.GetAxis(keyCode, OuyaSDK.OuyaPlayer.player5) ); axisValue = GreaterValue(axisValue, SuperInputMapper.GetAxis(keyCode, OuyaSDK.OuyaPlayer.player6) ); axisValue = GreaterValue(axisValue, SuperInputMapper.GetAxis(keyCode, OuyaSDK.OuyaPlayer.player7) ); axisValue = GreaterValue(axisValue, SuperInputMapper.GetAxis(keyCode, OuyaSDK.OuyaPlayer.player8) ); axisValue = GreaterValue(axisValue, SuperInputMapper.GetAxis(keyCode, OuyaSDK.OuyaPlayer.player9) ); axisValue = GreaterValue(axisValue, SuperInputMapper.GetAxis(keyCode, OuyaSDK.OuyaPlayer.player10) ); axisValue = GreaterValue(axisValue, SuperInputMapper.GetAxis(keyCode, OuyaSDK.OuyaPlayer.player11) ); return axisValue; }
/// <summary> /// Destroys the audio object (using <see cref="ObjectPoolController"/> if pooling is enabled) /// </summary> public void DestroyAudioObject() { if (IsPlaying()) { _Stop(); } #if OUYA_PAUSE_SYSTEM OuyaSDK.unregisterPauseListener(this); OuyaSDK.unregisterResumeListener(this); #endif //Debug.Log( "Destroy:" + _audioSource.clip.name ); #if AUDIO_TOOLKIT_DEMO GameObject.Destroy(gameObject); #else ObjectPoolController.Destroy(gameObject); #endif _IsInactive = true; }
void Start() { Input.ResetInputAxes(); Application.targetFrameRate = 60; DontDestroyOnLoad(transform.gameObject); #region Init OUYA try { //Initialize OuyaSDK with your developer ID //Get your developer_id from the ouya developer portal @ http://developer.ouya.tv OuyaSDK.initialize(DEVELOPER_ID); } catch (System.Exception ex) { Debug.LogError(string.Format("Failed to initialize OuyaSDK exception={0}", ex)); } #endregion }
/// <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; }
public bool GetAxisInverted(OuyaSDK.KeyEnum keyCode) { #if !UNITY_EDITOR && UNITY_ANDROID switch (keyCode) { case OuyaSDK.KeyEnum.AXIS_LSTICK_X: return false; case OuyaSDK.KeyEnum.AXIS_LSTICK_Y: return false; case OuyaSDK.KeyEnum.AXIS_RSTICK_X: return false; case OuyaSDK.KeyEnum.AXIS_RSTICK_Y: return false; case OuyaSDK.KeyEnum.BUTTON_LT: return false; case OuyaSDK.KeyEnum.BUTTON_RT: return false; default: return false; } #else switch (keyCode) { case OuyaSDK.KeyEnum.AXIS_LSTICK_X: return false; case OuyaSDK.KeyEnum.AXIS_LSTICK_Y: return true; case OuyaSDK.KeyEnum.AXIS_RSTICK_X: return true; case OuyaSDK.KeyEnum.AXIS_RSTICK_Y: return false; case OuyaSDK.KeyEnum.BUTTON_LT: return false; case OuyaSDK.KeyEnum.BUTTON_RT: return false; default: return false; } #endif }
void OnGUI() { int x = 300; for (int index = 1; index <= 4; ++index) { if (GUI.Button(new Rect(x, 60, 50, 30), string.Format("JOY{0}", index))) { OuyaExampleCommon.Player = (OuyaSDK.OuyaPlayer)index; UpdatePlayerButtons(); } x += 52; } x = 300; for (int index = 5; index <= 8; ++index) { if (GUI.Button(new Rect(x, 100, 50, 30), string.Format("JOY{0}", index))) { OuyaExampleCommon.Player = (OuyaSDK.OuyaPlayer)index; UpdatePlayerButtons(); } x += 52; } if (GUI.Button(new Rect(300, 140, 200, 20), m_inputToggle ? "[Toggle Unity Input]" : "Toggle Unity Input")) { m_inputToggle = !m_inputToggle; OuyaSDK.enableUnityInput(m_inputToggle); } /* * // prototyping * GUILayout.BeginHorizontal(); * GUILayout.Space(600); * m_useSDKForInput = GUILayout.Toggle(m_useSDKForInput, "Use OuyaSDK Mappings and Unity Input", GUILayout.MinHeight(45)); * GUILayout.EndHorizontal(); */ }
private void Awake() { m_activity = new OuyaUnityActivity(UnityPlayer.currentActivity); #if PERFORMANCE_TEST_MEASURE_LATENCY ThreadStart ts = new ThreadStart(TestWorker); Thread thread = new Thread(ts); thread.Start(); #endif OuyaSDK.registerJoystickCalibrationListener(this); OuyaSDK.registerMenuAppearingListener(this); OuyaSDK.registerPauseListener(this); OuyaSDK.registerResumeListener(this); m_backgroundBlack = new Texture2D(1, 1); m_backgroundBlack.SetPixel(0, 0, Color.black); m_backgroundBlack.Apply(); m_guiSkin = ScriptableObject.CreateInstance <GUISkin>(); m_guiSkin.label.normal.textColor = Color.white; m_guiSkin.label.normal.background = m_backgroundBlack; StringBuilder sb = new StringBuilder(); foreach (int button in Buttons) { Setup(button); string label; SetLabel(out label, button); if (!string.IsNullOrEmpty(label)) { sb.Append(label); sb.Append(" "); } m_label = "Hello from Unity: " + sb.ToString(); } }
public void RequestReceiptsOnSuccess(List <OuyaSDK.Receipt> receipts) { m_status = "RequestReceiptsOnSuccess"; m_receipts.Clear(); foreach (OuyaSDK.Receipt receipt in receipts) { m_receipts.Add(receipt); } // if a receipt was found, cache the receipt if (receipts.Count > 0) { // cache receipt for offline use OuyaSDK.putGameData("FULL_GAME_UNLOCK", "1"); } // if receipt was removed, delete the cached receipt else { // delete cached receipt OuyaSDK.putGameData("FULL_GAME_UNLOCK", "0"); } }
private void Awake() { OuyaSDK.registerContentInitializedListener(this); OuyaSDK.registerContentDeleteListener(this); OuyaSDK.registerContentDownloadListener(this); OuyaSDK.registerContentInstalledSearchListener(this); OuyaSDK.registerContentPublishedSearchListener(this); OuyaSDK.registerContentPublishListener(this); OuyaSDK.registerContentSaveListener(this); OuyaSDK.registerContentUnpublishListener(this); OuyaSDK.registerResumeListener(this); if (null != m_textureScreenshots) { m_bitmapScreenshots = new Bitmap[m_textureScreenshots.Length]; for (int index = 0; index < m_textureScreenshots.Length; ++index) { Texture2D texture = m_textureScreenshots[index]; Debug.Log("Encoding PNG from texture bytes"); // make texture readable byte[] buffer = texture.EncodeToPNG(); if (null == buffer || buffer.Length == 0) { Debug.LogError("Failed to encode png"); } else { Debug.Log("Converting bytes to bitmap"); m_bitmapScreenshots[index] = BitmapFactory.decodeByteArray(buffer, 0, buffer.Length); } } } ResetFocus(); }
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); }
public void ContentUnpublishListenerOnError(string jsonData) { using (JSONObject jsonObject = new JSONObject(jsonData)) { int code = 0; string reason = string.Empty; if (jsonObject.has("code")) { code = jsonObject.getInt("code"); } if (jsonObject.has("reason")) { reason = jsonObject.getString("reason"); } foreach (OuyaSDK.IContentUnpublishListener listener in OuyaSDK.getContentUnpublishListeners()) { if (null != listener) { listener.ContentUnpublishOnError(null, code, reason); } } } }
private void OnGUI() { try { GUILayout.Label(string.Empty); GUILayout.Label(string.Empty); GUILayout.Label(string.Empty); GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label(OuyaSDK.isIAPInitComplete() ? "IAP is initialized" : "IAP initializing..."); GUILayout.EndHorizontal(); GUILayout.Label(string.Empty); GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label(string.Format("Gamer UUID: {0}", m_gamerUUID)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label(string.Format("Gamer User Name: {0}", m_gamerUserName)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); if (GUILayout.Button("Get Gamer Info", GUILayout.Height(40))) { OuyaSDK.fetchGamerInfo(); } GUILayout.EndHorizontal(); GUILayout.Label(string.Empty); GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); if (GUILayout.Button("Put Game Data", GUILayout.Height(40))) { OuyaSDK.putGameData(KEY_PUT_GAME_DATA, "This is a test!!!!"); } if (GUILayout.Button("Get Game Data", GUILayout.Height(40))) { m_gameData = OuyaSDK.getGameData(KEY_PUT_GAME_DATA); } GUILayout.Label(string.Format("GameData: {0}", m_gameData)); GUILayout.EndHorizontal(); GUILayout.Label(string.Empty); GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label("Products:"); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); if (GUILayout.Button("Get Products", GUILayout.Height(40))) { List <OuyaSDK.Purchasable> productIdentifierList = new List <OuyaSDK.Purchasable>(); foreach (string productId in Purchasables) { OuyaSDK.Purchasable purchasable = new OuyaSDK.Purchasable(); purchasable.productId = productId; productIdentifierList.Add(purchasable); } OuyaSDK.requestProductList(productIdentifierList); } GUILayout.EndHorizontal(); foreach (OuyaSDK.Product product in m_products) { GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label(string.Format("Name={0}", product.name)); GUILayout.Label(string.Format("Price={0}", product.priceInCents)); GUILayout.Label(string.Format("Identifier={0}", product.identifier)); if (GUILayout.Button("Purchase")) { Debug.Log(string.Format("Purchase Identifier: {0}", product.identifier)); OuyaSDK.Purchasable purchasable = new OuyaSDK.Purchasable(); purchasable.productId = product.identifier; OuyaSDK.requestPurchase(purchasable); } GUILayout.EndHorizontal(); } GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label("Receipts:"); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); if (GUILayout.Button("Get Receipts", GUILayout.Height(40))) { OuyaSDK.requestReceiptList(); } GUILayout.EndHorizontal(); foreach (OuyaSDK.Receipt receipt in m_receipts) { GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label(string.Format("Price={0}", receipt.priceInCents)); GUILayout.Label(string.Format("Identifier={0}", receipt.identifier)); GUILayout.EndHorizontal(); } } catch (System.Exception) { } }
public void RequestUnityAwake(string ignore) { OuyaSDK.initialize(DEVELOPER_ID); }
/// <summary> /// This needs to be setup for each joystick type being supported. I have not setup the USB controller or the I:Droid:CON /// For the most part you won't need to modify this section. /// </summary> /// <param name="player"></param> /// <param name="axis"></param> /// <param name="joystick"></param> /// <param name="atype"></param> /// <returns></returns> private static string CheckInput(OuyaSDK.OuyaPlayer player, AxisTypes axis, JoystickType joystick, AnalogTypes atype) { //Debug.Log(string.Format("Player:{0} Axis:{1} Joystick:{2} AnalogType:{3}",player,axis,joystick,atype)); //REF: player1, DPadH, PS3, Dpad //Note: It is your responsibility to make sure that Unity Inputs are setup correctly or you will get an error on your controller. int axisNumber=0; switch (joystick) { case JoystickType.ps3: //Get The Joystick name from Project Settings --> Input for Controllers #region PS3 Controller if (atype.Equals(AnalogTypes.Left)) { ControllerType cType = OuyaControllerMapping.getController("ps3"); if (axis.Equals(AxisTypes.Horizontal)) { axisNumber = cType.leftAnalogH; } else { axisNumber = cType.leftAnalogV; } return "Joy" + (int)player + " Axis " + axisNumber.ToString(); } else if (atype.Equals(AnalogTypes.Right)) { ControllerType cType = OuyaControllerMapping.getController("ps3"); if (axis.Equals(AxisTypes.Horizontal)) { axisNumber = cType.rightAnalogH; } else { axisNumber = cType.rightAnalogV; } return "Joy" + (int)player + " Axis " + axisNumber.ToString(); } else if (atype.Equals(AnalogTypes.DPad)) { ControllerType cType = OuyaControllerMapping.getController("ps3"); if (axis.Equals(AxisTypes.DPadH)) { axisNumber = cType.dpadH; } else { axisNumber = cType.dpadV; } return "Joy" + (int)player + " Axis " + axisNumber.ToString(); } #endregion break; case JoystickType.xbox: #region xbox ( usually 360 / untested with normal xbox ) if (atype.Equals(AnalogTypes.Left)) { ControllerType cType = OuyaControllerMapping.getController("xbox360"); if (axis.Equals(AxisTypes.Horizontal)) { axisNumber = cType.leftAnalogH; } else { axisNumber = cType.leftAnalogV; } return "Joy" + (int)player + " Axis " + axisNumber.ToString(); } else if (atype.Equals(AnalogTypes.Right)) { ControllerType cType = OuyaControllerMapping.getController("xbox360"); if (axis.Equals(AxisTypes.Horizontal)) { axisNumber = cType.rightAnalogH; } else { axisNumber = cType.rightAnalogV; } return "Joy" + (int)player + " Axis " + axisNumber.ToString(); } else if (atype.Equals(AnalogTypes.DPad)) { ControllerType cType = OuyaControllerMapping.getController("xbox360"); if (axis.Equals(AxisTypes.DPadH)) { axisNumber = cType.dpadH; } else { axisNumber = cType.dpadV; } return "Joy" + (int)player + " Axis " + axisNumber.ToString(); } else if (atype.Equals(AnalogTypes.LTRT)) { ControllerType cType = OuyaControllerMapping.getController("xbox360"); axisNumber = cType.triggers; return "Joy" + (int)player + " Axis " + axisNumber.ToString(); } #endregion break; case JoystickType.ouya: #region OUYA - Not Tested until I get a bluetooth dongle if (atype.Equals(AnalogTypes.Left)) { ControllerType cType = OuyaControllerMapping.getController("ouya"); if (axis.Equals(AxisTypes.Horizontal)) { axisNumber = cType.leftAnalogH; } else { axisNumber = cType.leftAnalogV; } return "Joy" + (int)player + " Axis " + axisNumber.ToString(); } else if (atype.Equals(AnalogTypes.Right)) { ControllerType cType = OuyaControllerMapping.getController("ouya"); if (axis.Equals(AxisTypes.Horizontal)) { axisNumber = cType.rightAnalogH; } else { axisNumber = cType.rightAnalogV; } return "Joy" + (int)player + " Axis " + axisNumber.ToString(); } else if (atype.Equals(AnalogTypes.DPad)) { ControllerType cType = OuyaControllerMapping.getController("ouya"); if (axis.Equals(AxisTypes.DPadH)) { axisNumber = cType.dpadH; } else { axisNumber = cType.dpadV; } return "Joy" + (int)player + " Axis " + axisNumber.ToString(); } #endregion break; } //most likely we will never reach here, but If we do Return basic Horizontal Axis return "Horizontal"; }
public static void HandleButtonEvent(OuyaSDK.InputButtonEvent inputEvent) { OuyaInputManager.OuyaKeyState keyState = OuyaInputManager.getPlayerKeyState(inputEvent.getPlayer()); if (null == keyState) { return; } switch (inputEvent.getKeyAction()) { case OuyaSDK.InputAction.KeyDown: case OuyaSDK.InputAction.KeyUp: switch (inputEvent.getKeyCode()) { case OuyaSDK.KeyEnum.BUTTON_O: keyState.m_buttonO = inputEvent.getKeyAction() == OuyaSDK.InputAction.KeyDown; break; case OuyaSDK.KeyEnum.BUTTON_U: keyState.m_buttonU = inputEvent.getKeyAction() == OuyaSDK.InputAction.KeyDown; break; case OuyaSDK.KeyEnum.BUTTON_Y: keyState.m_buttonY = inputEvent.getKeyAction() == OuyaSDK.InputAction.KeyDown; break; case OuyaSDK.KeyEnum.BUTTON_A: keyState.m_buttonA = inputEvent.getKeyAction() == OuyaSDK.InputAction.KeyDown; break; case OuyaSDK.KeyEnum.BUTTON_LB: keyState.m_buttonLB = inputEvent.getKeyAction() == OuyaSDK.InputAction.KeyDown; break; case OuyaSDK.KeyEnum.BUTTON_LT: keyState.m_buttonLT = inputEvent.getKeyAction() == OuyaSDK.InputAction.KeyDown; break; case OuyaSDK.KeyEnum.BUTTON_L3: keyState.m_buttonL3 = inputEvent.getKeyAction() == OuyaSDK.InputAction.KeyDown; break; case OuyaSDK.KeyEnum.BUTTON_RB: keyState.m_buttonRB = inputEvent.getKeyAction() == OuyaSDK.InputAction.KeyDown; break; case OuyaSDK.KeyEnum.BUTTON_RT: keyState.m_buttonRT = inputEvent.getKeyAction() == OuyaSDK.InputAction.KeyDown; break; case OuyaSDK.KeyEnum.BUTTON_R3: keyState.m_buttonR3 = inputEvent.getKeyAction() == OuyaSDK.InputAction.KeyDown; break; case OuyaSDK.KeyEnum.BUTTON_SYSTEM: keyState.m_buttonSystem = inputEvent.getKeyAction() == OuyaSDK.InputAction.KeyDown; break; case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: keyState.m_buttonDPadDown = inputEvent.getKeyAction() == OuyaSDK.InputAction.KeyDown; break; case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: keyState.m_buttonDPadLeft = inputEvent.getKeyAction() == OuyaSDK.InputAction.KeyDown; break; case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: keyState.m_buttonDPadRight = inputEvent.getKeyAction() == OuyaSDK.InputAction.KeyDown; break; case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: keyState.m_buttonDPadUp = inputEvent.getKeyAction() == OuyaSDK.InputAction.KeyDown; break; default: return; } OuyaButtonEvent.buttonPressEvent(inputEvent.getPlayer(), inputEvent.getKeyCode(), inputEvent.getKeyAction()); break; } }
public static OuyaInputManager.OuyaKeyState getPlayerKeyState(OuyaSDK.OuyaPlayer player) { OuyaInputManager.OuyaKeyState keyState = keyStates.Find(delegate(OuyaInputManager.OuyaKeyState key) { return key.player.Equals(player); }); return keyState; }
void Awake() { OuyaSDK.registerPauseListener(this); OuyaSDK.registerResumeListener(this); }
public void InvokeOuyaPurchaseOnSuccess(OuyaSDK.Product product) { foreach (OuyaSDK.IPurchaseListener listener in OuyaSDK.getPurchaseListeners()) { if (null != listener) { listener.OuyaPurchaseOnSuccess(product); } } }
public static bool GetButton(int buttonNum, OuyaSDK.OuyaPlayer player) { return GetButton(buttonNum, player, Input.GetKey); }
void Purchase() { Debug.Log("buying stuff"); OuyaSDK.requestPurchase(m_products[0].getIdentifier()); }
void Awake() { OuyaSDK.registerMenuButtonUpListener(this); OuyaSDK.registerMenuAppearingListener(this); OuyaSDK.registerPauseListener(this); OuyaSDK.registerResumeListener(this); OuyaInputManager.OuyaButtonEvent.addButtonEventListener(HandleButtonEvent); //Get our character controller; controller = GetComponent <CharacterController>(); #if UNITY_EDITOR //If you find that your controller does not work properly in the Unity Editor, You can add a custom controller mapping as seen below. /* Here is some code to find keycodes for devices that are mapped to your InputManager.asset * List<OuyaGameObject.Device> devices = OuyaInputManager.GetDevices(); * for (int iPlayerJoystick = 1; iPlayerJoystick <= devices.Count; iPlayerJoystick++) * { * OuyaGameObject.Device device = devices.Find(delegate(OuyaGameObject.Device d) { return (null == d || null == devices) ? false : (d.id == devices[iPlayerJoystick - 1].id); }); * for (int i = 0; i < 13; i++) * { * //Controller Name: * string fireBtnName = string.Format("Joystick{0}Button{1}", iPlayerJoystick, i); * KeyCode keycode = (KeyCode)System.Enum.Parse(typeof(KeyCode), fireBtnName); * Debug.Log(string.Format("Button Name:{0}, Keycode:{1}",keycode,int(keycode)); * } * } */ //Custom Controller Mapping. List <ButtonMap> buttonMap = new List <ButtonMap>(); ControllerType xbox360 = new ControllerType(); xbox360.name = "xbox360"; xbox360.leftAnalogH = 1; xbox360.leftAnalogV = 2; xbox360.rightAnalogH = 4; xbox360.rightAnalogV = 5; xbox360.triggers = 3; xbox360.dpadH = 6; xbox360.dpadV = 7; JoystickType joystickType = JoystickType.xbox; //Start XBOX 360 ButtonMap ( only has 13 buttons ) buttonMap.Add(new ButtonMap(joystickType, 370, OuyaSDK.KeyEnum.BUTTON_O)); buttonMap.Add(new ButtonMap(joystickType, 371, OuyaSDK.KeyEnum.BUTTON_A)); buttonMap.Add(new ButtonMap(joystickType, 372, OuyaSDK.KeyEnum.BUTTON_U)); buttonMap.Add(new ButtonMap(joystickType, 373, OuyaSDK.KeyEnum.BUTTON_Y)); buttonMap.Add(new ButtonMap(joystickType, 374, OuyaSDK.KeyEnum.BUTTON_LB)); buttonMap.Add(new ButtonMap(joystickType, 375, OuyaSDK.KeyEnum.BUTTON_RB)); buttonMap.Add(new ButtonMap(joystickType, 376, OuyaSDK.KeyEnum.BUTTON_SELECT)); buttonMap.Add(new ButtonMap(joystickType, 377, OuyaSDK.KeyEnum.BUTTON_START)); buttonMap.Add(new ButtonMap(joystickType, 378, OuyaSDK.KeyEnum.BUTTON_L3)); buttonMap.Add(new ButtonMap(joystickType, 379, OuyaSDK.KeyEnum.BUTTON_R3)); buttonMap.Add(new ButtonMap(joystickType, 380, OuyaSDK.KeyEnum.BUTTON_LT)); //Doesn't Show up buttonMap.Add(new ButtonMap(joystickType, 381, OuyaSDK.KeyEnum.BUTTON_RT)); //Doesn't Show up buttonMap.Add(new ButtonMap(joystickType, 382, OuyaSDK.KeyEnum.BUTTON_SYSTEM)); //Dowsn't Show up /* * //4 button dpad mappings * buttonMap.Add(new ButtonMap(joystickType, 13, OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT)); * buttonMap.Add(new ButtonMap(joystickType, 14, OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT)); * buttonMap.Add(new ButtonMap(joystickType, 15, OuyaSDK.KeyEnum.BUTTON_DPAD_UP)); * buttonMap.Add(new ButtonMap(joystickType, 16, OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN)); */ //controllers.Add(xbox360.name,xbox360) //OuyaControllerMapping.RegisterCustomControllerMapping(xbox360, buttonMap); //duplicate of existing #endif }
void PurchaseDiscount() { Debug.Log("buying discounted stuff"); OuyaSDK.requestPurchase(m_products[1].getIdentifier()); }
void Update() { //new button press detection //upPressed = OuyaExampleCommon.GetButtonDown (OuyaSDK.KeyEnum.BUTTON_DPAD_UP, Index); upPressed = OuyaExampleCommon.GetButtonDown(OuyaSDK.KeyEnum.BUTTON_DPAD_UP, Index); if (!lastUpPressed && upPressed) { //if it wasnt pressed last time but it is now lastUpPressed = true; //log that it is pressed now for the next cycle upPressed = true; //signal new button press } else { lastUpPressed = upPressed; //log the current state for next cycle upPressed = false; //signal no new button press } //downPressed = OuyaExampleCommon.GetButtonDown (OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN, Index); downPressed = OuyaExampleCommon.GetButtonDown(OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN, Index); if (!lastDownPressed && downPressed) { //if it wasnt pressed last time but it is now lastDownPressed = true; //log that it is pressed now for the next cycle downPressed = true; //signal new button press } else { lastDownPressed = downPressed; //log the current state for next cycle downPressed = false; //signal no new button press } //new joystick tilt detection //get the raw tilts to bools if (OuyaExampleCommon.GetAxisRaw(OuyaSDK.KeyEnum.AXIS_LSTICK_Y, Index) < -L_STICK_DEADZONE) { lJoyUp = true; } else { lJoyUp = false; } if (OuyaExampleCommon.GetAxisRaw(OuyaSDK.KeyEnum.AXIS_LSTICK_Y, Index) > L_STICK_DEADZONE) { lJoyDown = true; } else { lJoyDown = false; } //evaluate new tilts if (!lastLJoyUp && lJoyUp) { //if it wasnt up last time but it is now lastLJoyUp = true; //log that it is up now for the next cycle lJoyUp = true; //signal new up tilt } else { lastLJoyUp = lJoyUp; //log the current state for next cycle lJoyUp = false; //signal no new joystick tilt } if (!lastLJoyDown && lJoyDown) { //if it wasnt up last time but it is now lastLJoyDown = true; //log that it is up now for the next cycle lJoyDown = true; //signal new joystick tilt } else { lastLJoyDown = lJoyDown; //log the current state for next cycle lJoyDown = false; //signal no new joystick tilt } //select button //selectPressed = OuyaExampleCommon.GetButtonDown (OuyaSDK.KeyEnum.BUTTON_O, Index); selectPressed = OuyaExampleCommon.GetButtonDown(OuyaSDK.KeyEnum.BUTTON_O, Index); //exit shortcut if (OuyaExampleCommon.GetButtonDown(OuyaSDK.KeyEnum.BUTTON_A, Index)) { Application.LoadLevel("Main Menu"); } //what to do if a choice is selected if (selectPressed) { OuyaSDK.Purchasable toBeBought = new OuyaSDK.Purchasable(); switch (selectedChoice) { case 0: toBeBought.productId = "1"; OuyaSDK.requestPurchase(toBeBought); break; case 1: toBeBought.productId = "2"; OuyaSDK.requestPurchase(toBeBought); break; case 2: toBeBought.productId = "5"; OuyaSDK.requestPurchase(toBeBought); break; case 3: Application.LoadLevel("Main Menu"); break; default: break; } } //handling choice movement if ((upPressed || lJoyUp) && (selectedChoice > 0)) { selectedChoice -= 1; } if ((downPressed || lJoyDown) && (selectedChoice < (choices.Length - 1))) { selectedChoice += 1; } }
private void OnGUI() { try { Color oldColor = GUI.backgroundColor; GUILayout.Label(string.Empty); GUILayout.Label(string.Empty); GUILayout.Label(string.Empty); GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label(OuyaSDK.isIAPInitComplete() ? "IAP is initialized" : "IAP initializing..."); GUILayout.EndHorizontal(); GUILayout.Label(string.Empty); GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label(string.Format("Gamer UUID: {0}", m_gamerUUID)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label(string.Format("Gamer User Name: {0}", m_gamerUserName)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); if (m_focusManager.SelectedButton == m_btnGetGamerInfo) { GUI.backgroundColor = Color.red; } if (GUILayout.Button("Get Gamer Info", GUILayout.Height(40)) || (m_focusManager.SelectedButton == m_btnGetGamerInfo && OuyaSDK.OuyaInput.GetButtonDown(0, OuyaController.BUTTON_O))) { OuyaSDK.fetchGamerInfo(); } GUI.backgroundColor = oldColor; GUILayout.EndHorizontal(); GUILayout.Label(string.Empty); GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); if (m_focusManager.SelectedButton == m_btnPutGameData) { GUI.backgroundColor = Color.red; } if (GUILayout.Button("Put Game Data", GUILayout.Height(40)) || (m_focusManager.SelectedButton == m_btnPutGameData && OuyaSDK.OuyaInput.GetButtonDown(0, OuyaController.BUTTON_O))) { OuyaSDK.putGameData(KEY_PUT_GAME_DATA, "This is a test!!!!"); } GUI.backgroundColor = oldColor; if (m_focusManager.SelectedButton == m_btnGetGameData) { GUI.backgroundColor = Color.red; } if (GUILayout.Button("Get Game Data", GUILayout.Height(40)) || (m_focusManager.SelectedButton == m_btnGetGameData && OuyaSDK.OuyaInput.GetButtonDown(0, OuyaController.BUTTON_O))) { m_gameData = OuyaSDK.getGameData(KEY_PUT_GAME_DATA); } GUI.backgroundColor = oldColor; GUILayout.Label(string.Format("GameData: {0}", m_gameData)); GUILayout.EndHorizontal(); GUILayout.Label(string.Empty); GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label("Products:"); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); if (m_focusManager.SelectedButton == m_btnGetProducts) { GUI.backgroundColor = Color.red; } if (GUILayout.Button("Get Products", GUILayout.Height(40)) || (m_focusManager.SelectedButton == m_btnGetProducts && OuyaSDK.OuyaInput.GetButtonDown(0, OuyaController.BUTTON_O))) { List <OuyaSDK.Purchasable> productIdentifierList = new List <OuyaSDK.Purchasable>(); foreach (string productId in Purchasables) { OuyaSDK.Purchasable purchasable = new OuyaSDK.Purchasable(); purchasable.productId = productId; productIdentifierList.Add(purchasable); } OuyaSDK.requestProductList(productIdentifierList); } GUI.backgroundColor = oldColor; GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); foreach (OuyaSDK.Product product in m_products) { GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label(string.Format("Name={0}", product.name)); GUILayout.Label(string.Format("Price={0}", product.localPrice)); GUILayout.Label(string.Format("Identifier={0}", product.identifier)); if (m_focusManager.SelectedButton == product) { GUI.backgroundColor = Color.red; } if (GUILayout.Button("Purchase") || (m_focusManager.SelectedButton == product && OuyaSDK.OuyaInput.GetButtonDown(0, OuyaController.BUTTON_O))) { Debug.Log(string.Format("Purchase Identifier: {0}", product.identifier)); OuyaSDK.Purchasable purchasable = new OuyaSDK.Purchasable(); purchasable.productId = product.identifier; OuyaSDK.requestPurchase(purchasable); } GUI.backgroundColor = oldColor; GUILayout.EndHorizontal(); } GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label("Receipts:"); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); if (m_focusManager.SelectedButton == m_btnGetReceipts) { GUI.backgroundColor = Color.red; } if (GUILayout.Button("Get Receipts", GUILayout.Height(40)) || (m_focusManager.SelectedButton == m_btnGetReceipts && OuyaSDK.OuyaInput.GetButtonDown(0, OuyaController.BUTTON_O))) { OuyaSDK.requestReceiptList(); } GUI.backgroundColor = oldColor; GUILayout.EndHorizontal(); foreach (OuyaSDK.Receipt receipt in m_receipts) { GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label(string.Format("Price={0}", receipt.priceInCents)); GUILayout.Label(string.Format("Identifier={0}", receipt.identifier)); GUILayout.EndHorizontal(); } } catch (System.Exception) { } }
void OnDestroy() { OuyaSDK.unregisterRequestGamerInfoListener(this); }
public void SendIAPInitComplete(string ignore) { OuyaSDK.setIAPInitComplete(); }
public static bool GetButtonDown(OuyaSDK.KeyEnum keyCode, OuyaSDK.OuyaPlayer player) { return GetButtonWithDelegate(keyCode, player, Input.GetKeyDown); }
public static string GetKeyCode(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); } }
private void OnGUI() { try { GUILayout.Label(string.Empty); GUILayout.Label(string.Empty); GUILayout.Label(string.Empty); GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label(string.Format("Is IAP Init Complete={0}", OuyaSDK.isIAPInitComplete())); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); if (GUILayout.Button("Debug Initialize SDK", GUILayout.Height(40))) { OuyaSDK.initialize(OuyaGameObject.Singleton.DEVELOPER_ID, OuyaGameObject.Singleton.UseLegacyInput); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label("GetProductList:"); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); if (GUILayout.Button("Clear Get Product List", GUILayout.Height(40))) { OuyaSDK.OuyaJava.JavaClearGetProductList(); } GUILayout.EndHorizontal(); GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); if (GUILayout.Button("Debug Get Product List", GUILayout.Height(40))) { OuyaSDK.OuyaJava.JavaDebugGetProductList(); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); foreach (string productId in OuyaGameObject.Singleton.Purchasables) { if (GUILayout.Button(string.Format("Add: {0}", productId), GUILayout.Height(40))) { OuyaSDK.Purchasable purchasable = new OuyaSDK.Purchasable(productId); OuyaSDK.OuyaJava.JavaAddGetProduct(purchasable); } } GUILayout.EndHorizontal(); GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label("Products:"); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); if (GUILayout.Button("Get Products", GUILayout.Height(40))) { List <OuyaSDK.Purchasable> productIdentifierList = new List <OuyaSDK.Purchasable>(); foreach (string productId in OuyaGameObject.Singleton.Purchasables) { productIdentifierList.Add(new OuyaSDK.Purchasable(productId)); } OuyaSDK.requestProductList(productIdentifierList); } GUILayout.EndHorizontal(); foreach (OuyaSDK.Product product in m_products) { GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label(string.Format("Name={0}", product.getName())); GUILayout.Label(string.Format("Price={0}", product.getPriceInCents())); GUILayout.Label(string.Format("Identifier={0}", product.getIdentifier())); if (GUILayout.Button("Purchase")) { Debug.Log(string.Format("Purchase Identifier: {0}", product.getIdentifier())); OuyaSDK.requestPurchase(product.getIdentifier()); } GUILayout.EndHorizontal(); } GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label("Receipts:"); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); if (GUILayout.Button("Get Receipts", GUILayout.Height(40))) { OuyaSDK.requestReceiptList(); } GUILayout.EndHorizontal(); } catch (System.Exception) { } }
void OnGUI() { GUI.skin = m_guiSkin; GUILayout.Space(40); GUILayout.BeginHorizontal(GUILayout.Width(Screen.width)); GUILayout.FlexibleSpace(); GUILayout.Label(string.Format("isRunningOnOUYASupportedHardware: {0}", OuyaSDK.isRunningOnOUYASupportedHardware()), GUILayout.Width(300)); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.Space(5); GUILayout.BeginHorizontal(GUILayout.Width(Screen.width)); GUILayout.FlexibleSpace(); int deviceId = PlayerNum; GUILayout.BeginVertical(); GUILayout.Label("OUYA Axises:"); GUILayout.Label(string.Format("{0}={1}", "OuyaController.AXIS_LS_X", OuyaSDK.OuyaInput.GetAxis(deviceId, OuyaController.AXIS_LS_X))); GUILayout.Label(string.Format("{0}={1}", "OuyaController.AXIS_LS_Y", OuyaSDK.OuyaInput.GetAxis(deviceId, OuyaController.AXIS_LS_Y))); GUILayout.Label(string.Format("{0}={1}", "OuyaController.AXIS_RS_X", OuyaSDK.OuyaInput.GetAxis(deviceId, OuyaController.AXIS_RS_X))); GUILayout.Label(string.Format("{0}={1}", "OuyaController.AXIS_RS_Y", OuyaSDK.OuyaInput.GetAxis(deviceId, OuyaController.AXIS_RS_Y))); GUILayout.Label(string.Format("{0}={1}", "OuyaController.AXIS_L2", OuyaSDK.OuyaInput.GetAxis(deviceId, OuyaController.AXIS_L2))); GUILayout.Label(string.Format("{0}={1}", "OuyaController.AXIS_R2", OuyaSDK.OuyaInput.GetAxis(deviceId, OuyaController.AXIS_R2))); GUILayout.EndVertical(); GUILayout.FlexibleSpace(); GUILayout.BeginVertical(); GUILayout.Label("OUYA Buttons:"); GUILayout.Label(string.Format("{0}={1}", "OuyaController.BUTTON_O", OuyaSDK.OuyaInput.GetButton(deviceId, OuyaController.BUTTON_O))); GUILayout.Label(string.Format("{0}={1}", "OuyaController.BUTTON_U", OuyaSDK.OuyaInput.GetButton(deviceId, OuyaController.BUTTON_U))); GUILayout.Label(string.Format("{0}={1}", "OuyaController.BUTTON_Y", OuyaSDK.OuyaInput.GetButton(deviceId, OuyaController.BUTTON_Y))); GUILayout.Label(string.Format("{0}={1}", "OuyaController.BUTTON_A", OuyaSDK.OuyaInput.GetButton(deviceId, OuyaController.BUTTON_A))); GUILayout.Label(string.Format("{0}={1}", "OuyaController.BUTTON_L1", OuyaSDK.OuyaInput.GetButton(deviceId, OuyaController.BUTTON_L1))); GUILayout.Label(string.Format("{0}={1}", "OuyaController.BUTTON_R1", OuyaSDK.OuyaInput.GetButton(deviceId, OuyaController.BUTTON_R1))); GUILayout.Label(string.Format("{0}={1}", "OuyaController.BUTTON_L3", OuyaSDK.OuyaInput.GetButton(deviceId, OuyaController.BUTTON_L3))); GUILayout.Label(string.Format("{0}={1}", "OuyaController.BUTTON_R3", OuyaSDK.OuyaInput.GetButton(deviceId, OuyaController.BUTTON_R3))); GUILayout.Label(string.Format("{0}={1}", "OuyaController.BUTTON_DPAD_UP", OuyaSDK.OuyaInput.GetButton(deviceId, OuyaController.BUTTON_DPAD_UP))); GUILayout.Label(string.Format("{0}={1}", "OuyaController.BUTTON_DPAD_DOWN", OuyaSDK.OuyaInput.GetButton(deviceId, OuyaController.BUTTON_DPAD_DOWN))); GUILayout.Label(string.Format("{0}={1}", "OuyaController.BUTTON_DPAD_RIGHT", OuyaSDK.OuyaInput.GetButton(deviceId, OuyaController.BUTTON_DPAD_RIGHT))); GUILayout.Label(string.Format("{0}={1}", "OuyaController.BUTTON_DPAD_LEFT", OuyaSDK.OuyaInput.GetButton(deviceId, OuyaController.BUTTON_DPAD_LEFT))); if (OuyaSDK.OuyaInput.GetButtonDown(deviceId, OuyaController.BUTTON_MENU)) { m_menuDetected = DateTime.Now + TimeSpan.FromSeconds(1); } GUILayout.Label(string.Format("{0}={1}", "OuyaController.BUTTON_MENU", DateTime.Now < m_menuDetected)); GUILayout.EndVertical(); GUILayout.FlexibleSpace(); GUI.skin = null; GUILayout.BeginVertical(); for (int index = 0; index < OuyaController.MAX_CONTROLLERS; ++index) { if (GUILayout.Button(string.Format(PlayerNum == index ? "[JOY{0}]{1}" : "JOY{0}{1}", index, OuyaSDK.OuyaInput.IsControllerConnected(index) ? " |=" : " |X"), GUILayout.Height(60))) { PlayerNum = index; UpdatePlayerButtons(); } } GUILayout.EndVertical(); GUILayout.FlexibleSpace(); if (GUILayout.Button("Hide Cursor")) { OuyaController.showCursor(false); } GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.FlexibleSpace(); GUILayout.BeginHorizontal(GUILayout.Width(Screen.width)); GUILayout.FlexibleSpace(); GUI.skin = m_guiSkin; GUILayout.BeginHorizontal(GUILayout.Width(300)); GUILayout.Label("Controllers:"); GUILayout.BeginVertical(); GUILayout.Label(string.Format("{0}={1}", 1, m_controller1)); GUILayout.Label(string.Format("{0}={1}", 2, m_controller2)); GUILayout.Label(string.Format("{0}={1}", 3, m_controller3)); GUILayout.Label(string.Format("{0}={1}", 4, m_controller4)); GUILayout.Label(string.Format("{0}={1}", 5, m_controller5)); GUILayout.Label(string.Format("{0}={1}", 6, m_controller6)); GUILayout.Label(string.Format("{0}={1}", 7, m_controller7)); GUILayout.Label(string.Format("{0}={1}", 8, m_controller8)); GUILayout.EndVertical(); GUILayout.EndHorizontal(); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.FlexibleSpace(); GUILayout.BeginHorizontal(GUILayout.Width(Screen.width)); GUILayout.FlexibleSpace(); GUILayout.BeginHorizontal(); GUILayout.Label(m_label); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); int buttonId = 0; GUILayout.FlexibleSpace(); GUILayout.BeginHorizontal(GUILayout.Width(Screen.width)); GUILayout.FlexibleSpace(); for (; buttonId < 7 && buttonId < m_controllerButtons.Count; ++buttonId) { Texture2D texture = m_controllerButtons[buttonId]; if (null != texture) { GUILayout.Button(texture); } } GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.FlexibleSpace(); GUILayout.BeginHorizontal(GUILayout.Width(Screen.width)); GUILayout.FlexibleSpace(); for (; buttonId < m_controllerButtons.Count; ++buttonId) { Texture2D texture = m_controllerButtons[buttonId]; if (null != texture) { GUILayout.Button(texture); } } GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.FlexibleSpace(); GUI.skin = null; }
public ButtonMap(JoystickType type, int buttonID, OuyaSDK.KeyEnum button) { this.type = type; this.ButtonID = buttonID; this.button = button; }
/// <summary> /// Get Devices /// </summary> /// <returns>List<Device></returns> public static void HandleAxisEvent(OuyaSDK.InputAxisEvent inputEvent) { switch (inputEvent.getAxisCode()) { case OuyaSDK.AxisEnum.AXIS_LSTICK_X: OuyaInputManager.getPlayerKeyState(inputEvent.getPlayer()).m_axisLeftStickX = inputEvent.getAxis(); break; case OuyaSDK.AxisEnum.AXIS_LSTICK_Y: OuyaInputManager.getPlayerKeyState(inputEvent.getPlayer()).m_axisLeftStickY = inputEvent.getAxis(); break; case OuyaSDK.AxisEnum.AXIS_RSTICK_X: OuyaInputManager.getPlayerKeyState(inputEvent.getPlayer()).m_axisRightStickX = inputEvent.getAxis(); break; case OuyaSDK.AxisEnum.AXIS_RSTICK_Y: OuyaInputManager.getPlayerKeyState(inputEvent.getPlayer()).m_axisRightStickY = inputEvent.getAxis(); break; case OuyaSDK.AxisEnum.AXIS_LTRIGGER: OuyaInputManager.getPlayerKeyState(inputEvent.getPlayer()).m_axisLeftTrigger = inputEvent.getAxis(); break; case OuyaSDK.AxisEnum.AXIS_RTRIGGER: OuyaInputManager.getPlayerKeyState(inputEvent.getPlayer()).m_axisRightTrigger = inputEvent.getAxis(); break; } }
public static bool GetButton(int buttonNum, OuyaSDK.OuyaPlayer player) { string keyCode = GetKeyCode(buttonNum, player); if (string.IsNullOrEmpty(keyCode)) { return false; } OuyaKeyCode key = (OuyaKeyCode)Enum.Parse(typeof(OuyaKeyCode), keyCode); return Input.GetKey((KeyCode)(int)key); }
public static void SetButton(string inputName, OuyaSDK.OuyaPlayer player, bool state) { switch (inputName) { case "SYS": //arbitrary name and mapping OuyaInputManager.getPlayerKeyState(player).m_buttonSystem = state; break; case "DPC": //arbitrary name and mapping OuyaInputManager.getPlayerKeyState(player).m_buttonDPadCenter = state; break; case "DPD": //arbitrary name and mapping OuyaInputManager.getPlayerKeyState(player).m_buttonDPadDown = state; break; case "DPL": //arbitrary name and mapping OuyaInputManager.getPlayerKeyState(player).m_buttonDPadLeft = state; break; case "DPR": //arbitrary name and mapping OuyaInputManager.getPlayerKeyState(player).m_buttonDPadRight = state; break; case "DPU": //arbitrary name and mapping OuyaInputManager.getPlayerKeyState(player).m_buttonDPadUp = state; break; case "O": //arbitrary name and mapping OuyaInputManager.getPlayerKeyState(player).m_buttonO = state; break; case "U": //arbitrary name and mapping OuyaInputManager.getPlayerKeyState(player).m_buttonU = state; break; case "Y": //arbitrary name and mapping OuyaInputManager.getPlayerKeyState(player).m_buttonY = state; break; case "A": //arbitrary name and mapping OuyaInputManager.getPlayerKeyState(player).m_buttonA = state; break; case "LT": //arbitrary name and mapping OuyaInputManager.getPlayerKeyState(player).m_buttonLT = state; break; case "RT": //arbitrary name and mapping OuyaInputManager.getPlayerKeyState(player).m_buttonRT = state; break; case "LB": //arbitrary name and mapping OuyaInputManager.getPlayerKeyState(player).m_buttonLB = state; break; case "RB": //arbitrary name and mapping OuyaInputManager.getPlayerKeyState(player).m_buttonRB = state; break; case "L3": //arbitrary name and mapping OuyaInputManager.getPlayerKeyState(player).m_buttonL3 = state; break; case "R3": //arbitrary name and mapping OuyaInputManager.getPlayerKeyState(player).m_buttonR3 = state; break; } }
public static bool GetButton(OuyaSDK.KeyEnum keyCode, OuyaSDK.OuyaPlayer player) { if (null == OuyaExampleCommon.Joysticks) { return false; } int playerIndex = (int) player - 1; if (playerIndex >= OuyaExampleCommon.Joysticks.Length) { return false; } string joystickName = OuyaExampleCommon.Joysticks[playerIndex]; if (null == joystickName) { return false; } switch (joystickName.ToUpper()) { case "HARMONIX ROCK BAND DRUMKIT": switch (keyCode) { case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_DRUMKIT_GREEN: case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_DRUMKIT_A: case OuyaSDK.KeyEnum.BUTTON_O: return GetButton(0, player); case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_DRUMKIT_RED: case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_DRUMKIT_B: case OuyaSDK.KeyEnum.BUTTON_A: return GetButton(1, player); case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_DRUMKIT_YELLOW: case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_DRUMKIT_Y: case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton(4, player); case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_DRUMKIT_BLUE: case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_DRUMKIT_X: case OuyaSDK.KeyEnum.BUTTON_U: return GetButton(3, player); case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_DRUMKIT_ORANGE: case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton(6, player); case OuyaSDK.KeyEnum.BUTTON_BACK: case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton(10, player); case OuyaSDK.KeyEnum.BUTTON_START: case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton(11, player); case OuyaSDK.KeyEnum.BUTTON_SYSTEM: case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton(12, player); default: return false; } case "HARMONIX ROCK BAND GUITAR": switch (keyCode) { case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_GUITAR_GREEN: case OuyaSDK.KeyEnum.BUTTON_O: return GetButton(0, player); case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_GUITAR_RED: case OuyaSDK.KeyEnum.BUTTON_A: return GetButton(1, player); case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_GUITAR_YELLOW: case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton(4, player); case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_GUITAR_BLUE: case OuyaSDK.KeyEnum.BUTTON_U: return GetButton(3, player); case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_GUITAR_ORANGE: case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton(6, player); case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_GUITAR_LOWER: return GetButton(13, player); case OuyaSDK.KeyEnum.BUTTON_BACK: case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton(10, player); case OuyaSDK.KeyEnum.BUTTON_START: case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton(11, player); case OuyaSDK.KeyEnum.BUTTON_SYSTEM: case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton(12, player); case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_GUITAR_PICKUP: case OuyaSDK.KeyEnum.BUTTON_LT: return false; case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_GUITAR_WHAMMI: case OuyaSDK.KeyEnum.BUTTON_RT: return false; case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetAxis(keyCode, player) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetAxis(keyCode, player) < 0f; default: return false; } case "BROADCOM BLUETOOTH HID": case "MOGA PRO HID": switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton(6, player); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton(7, player); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton(0, player); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton(3, player); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton(4, player); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton(1, player); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton(13, player); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton(14, player); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetAxis(keyCode, player) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetAxis(keyCode, player) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_LT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_RT: return GetAxis(keyCode, player) > 0f; default: return false; } case "OUYA GAME CONTROLLER": switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton(4, player); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton(5, player); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton(0, player); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton(1, player); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton(2, player); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton(3, player); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton(6, player); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton(7, player); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetButton(8, player); case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetButton(9, player); case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetButton(10, player); case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetButton(11, player); case OuyaSDK.KeyEnum.BUTTON_LT: return GetButton(12, player); case OuyaSDK.KeyEnum.BUTTON_RT: return GetButton(13, player); default: return false; } case "XBOX 360 WIRELESS RECEIVER": #if !UNITY_EDITOR && UNITY_ANDROID switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton(6, player); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton(7, player); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton(0, player); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton(3, player); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton(4, player); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton(1, player); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton(13, player); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton(14, player); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetButton(2, player); case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetButton(3, player); case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetButton(0, player); case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetButton(1, player); case OuyaSDK.KeyEnum.BUTTON_LT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_RT: return GetAxis(keyCode, player) > 0f; default: return false; } #else if (Application.platform == RuntimePlatform.OSXEditor) { switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton(13, player); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton(14, player); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton(16, player); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton(18, player); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton(19, player); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton(17, player); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton(11, player); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton(12, player); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetButton(5, player); case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetButton(6, player); case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetButton(7, player); case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetButton(8, player); case OuyaSDK.KeyEnum.BUTTON_LT: return GetAxis(keyCode, player) > -1f; case OuyaSDK.KeyEnum.BUTTON_RT: return GetAxis(keyCode, player) > -1f; default: return false; } } else { switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton(4, player); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton(5, player); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton(0, player); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton(2, player); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton(3, player); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton(1, player); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton(8, player); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton(9, player); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetAxis(keyCode, player) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetAxis(keyCode, player) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_LT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_RT: return GetAxis(keyCode, player) > 0f; default: return false; } } #endif case "CONTROLLER (AFTERGLOW GAMEPAD FOR XBOX 360)": case "CONTROLLER (ROCK CANDY GAMEPAD FOR XBOX 360)": case "CONTROLLER (XBOX 360 WIRELESS RECEIVER FOR WINDOWS)": case "MICROSOFT X-BOX 360 PAD": case "CONTROLLER (XBOX 360 FOR WINDOWS)": case "CONTROLLER (XBOX360 GAMEPAD)": case "XBOX 360 FOR WINDOWS (CONTROLLER)": case "MICROSOFT WIRELESS 360 CONTROLLER": #if !UNITY_EDITOR && UNITY_ANDROID switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton(6, player); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton(7, player); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton(0, player); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton(3, player); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton(4, player); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton(1, player); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton(13, player); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton(14, player); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetAxis(keyCode, player) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetAxis(keyCode, player) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_LT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_RT: return GetAxis(keyCode, player) > 0f; default: return false; } #else if (Application.platform == RuntimePlatform.OSXEditor) { switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton(13, player); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton(14, player); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton(16, player); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton(18, player); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton(19, player); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton(17, player); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton(11, player); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton(12, player); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetButton(5, player); case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetButton(6, player); case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetButton(7, player); case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetButton(8, player); case OuyaSDK.KeyEnum.BUTTON_LT: return GetAxis(keyCode, player) > -1f; case OuyaSDK.KeyEnum.BUTTON_RT: return GetAxis(keyCode, player) > -1f; default: return false; } } else { switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton(4, player); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton(5, player); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton(0, player); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton(2, player); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton(3, player); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton(1, player); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton(8, player); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton(9, player); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetAxis(keyCode, player) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetAxis(keyCode, player) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_LT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_RT: return GetAxis(keyCode, player) > 0f; default: return false; } } #endif case "": //the driver is reporting the controller as blank #if !UNITY_EDITOR && UNITY_ANDROID switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton(6, player); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton(7, player); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton(0, player); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton(3, player); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton(4, player); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton(1, player); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton(13, player); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton(14, player); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetAxis(keyCode, player) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetAxis(keyCode, player) < 0f; case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_LT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_RT: return GetAxis(keyCode, player) > 0f; default: return false; } #else switch (keyCode) { case OuyaSDK.KeyEnum.BUTTON_LB: return GetButton(13, player); case OuyaSDK.KeyEnum.BUTTON_RB: return GetButton(14, player); case OuyaSDK.KeyEnum.BUTTON_O: return GetButton(16, player); case OuyaSDK.KeyEnum.BUTTON_U: return GetButton(18, player); case OuyaSDK.KeyEnum.BUTTON_Y: return GetButton(19, player); case OuyaSDK.KeyEnum.BUTTON_A: return GetButton(17, player); case OuyaSDK.KeyEnum.BUTTON_L3: return GetButton(11, player); case OuyaSDK.KeyEnum.BUTTON_R3: return GetButton(12, player); case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: return GetButton(5, player); case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: return GetButton(6, player); case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: return GetButton(7, player); case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: return GetButton(8, player); case OuyaSDK.KeyEnum.BUTTON_LT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_RT: return GetAxis(keyCode, player) > 0f; case OuyaSDK.KeyEnum.BUTTON_SELECT: return GetButton(10, player); case OuyaSDK.KeyEnum.BUTTON_START: return GetButton(9, player); case OuyaSDK.KeyEnum.BUTTON_SYSTEM: return GetButton(15, player); default: return false; } #endif } return false; }
//Call this event ( trigger ) public static void buttonPressEvent(OuyaSDK.OuyaPlayer player, OuyaSDK.KeyEnum button, OuyaSDK.InputAction buttonState) { if (ButtonsEvent != null) { ButtonsEvent(player, button, buttonState); } }
void Awake() { m_instance = this; OuyaSDK.enableUnityInput(true); }
private void OnGUI() { try { GUILayout.Label(string.Empty); GUILayout.Label(string.Empty); GUILayout.Label(string.Empty); GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label(OuyaSDK.isIAPInitComplete() ? "IAP is initialized" : "IAP initializing..."); GUILayout.EndHorizontal(); GUILayout.Label(string.Empty); GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label(string.Format("Gamer UUID: {0}", m_gamerUUID)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); if (GUILayout.Button("Get Gamer UUID", GUILayout.Height(40))) { OuyaSDK.fetchGamerUUID(); } GUILayout.EndHorizontal(); GUILayout.Label(string.Empty); GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label("Products:"); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); if (GUILayout.Button("Get Products", GUILayout.Height(40))) { List <OuyaSDK.Purchasable> productIdentifierList = new List <OuyaSDK.Purchasable>(); foreach (string productId in OuyaGameObject.Singleton.Purchasables) { productIdentifierList.Add(new OuyaSDK.Purchasable(productId)); } OuyaSDK.requestProductList(productIdentifierList); } GUILayout.EndHorizontal(); foreach (OuyaSDK.Product product in m_products) { GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label(string.Format("Name={0}", product.getName())); GUILayout.Label(string.Format("Price={0}", product.getPriceInCents())); GUILayout.Label(string.Format("Identifier={0}", product.getIdentifier())); if (GUILayout.Button("Purchase")) { Debug.Log(string.Format("Purchase Identifier: {0}", product.getIdentifier())); OuyaSDK.requestPurchase(product.getIdentifier()); } GUILayout.EndHorizontal(); } GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label("Receipts:"); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); if (GUILayout.Button("Get Receipts", GUILayout.Height(40))) { OuyaSDK.requestReceiptList(); } GUILayout.EndHorizontal(); } catch (System.Exception) { } }
void Awake() { OuyaSDK.registerMenuAppearingListener(this); OuyaSDK.registerPauseListener(this); OuyaSDK.registerResumeListener(this); }
private void OnGUI() { try { Color oldColor = GUI.backgroundColor; GUILayout.Label(string.Empty); GUILayout.Label(string.Empty); GUILayout.Label(string.Empty); GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); if (m_focusManager.SelectedButton == m_btnExit) { GUI.backgroundColor = Color.red; } if (GUILayout.Button("Exit", GUILayout.Height(40)) || (m_focusManager.SelectedButton == m_btnExit && OuyaSDK.OuyaInput.GetButtonUp(OuyaController.BUTTON_O))) { m_status = "Exiting..."; OuyaSDK.shutdown(); Application.Quit(); } GUI.backgroundColor = oldColor; GUILayout.EndHorizontal(); GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); if (m_focusManager.SelectedButton == m_btn720) { GUI.backgroundColor = Color.red; } if (GUILayout.Button("720p", GUILayout.Height(40)) || (m_focusManager.SelectedButton == m_btn720 && OuyaSDK.OuyaInput.GetButtonUp(OuyaController.BUTTON_O))) { m_status = "Setting 1280x720..."; Screen.SetResolution(1280, 720, true); } GUI.backgroundColor = oldColor; GUILayout.EndHorizontal(); GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); if (m_focusManager.SelectedButton == m_btn1080) { GUI.backgroundColor = Color.red; } if (GUILayout.Button("1080p", GUILayout.Height(40)) || (m_focusManager.SelectedButton == m_btn1080 && OuyaSDK.OuyaInput.GetButtonUp(OuyaController.BUTTON_O))) { m_status = "Setting 1920x1080..."; Screen.SetResolution(1920, 1080, true); } GUI.backgroundColor = oldColor; GUILayout.EndHorizontal(); GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label(string.Format("IsRunningOnOUYAHardware: {0}", m_isRunningOnOUYAHardware)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label(string.Format("App Name: {0}", OuyaSDK.getStringResource("app_name"))); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label(OuyaSDK.isIAPInitComplete() ? "IAP is initialized" : "IAP initializing..."); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label(string.Format("State: {0}", m_state)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label(string.Format("Status: {0}", m_status)); GUILayout.EndHorizontal(); GUILayout.Label(string.Empty); GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label(string.Format("Gamer UUID: {0}", m_gamerUUID)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label(string.Format("Gamer User Name: {0}", m_gamerUsername)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); if (m_focusManager.SelectedButton == m_btnRequestGamerInfo) { GUI.backgroundColor = Color.red; } if (GUILayout.Button("Request Gamer Info", GUILayout.Height(40)) || (m_focusManager.SelectedButton == m_btnRequestGamerInfo && OuyaSDK.OuyaInput.GetButtonUp(OuyaController.BUTTON_O))) { m_status = "Requesting gamer info..."; OuyaSDK.requestGamerInfo(); } GUI.backgroundColor = oldColor; GUILayout.EndHorizontal(); GUILayout.Label(string.Empty); GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); if (m_focusManager.SelectedButton == m_btnPutGameData) { GUI.backgroundColor = Color.red; } if (GUILayout.Button("Put Game Data", GUILayout.Height(40)) || (m_focusManager.SelectedButton == m_btnPutGameData && OuyaSDK.OuyaInput.GetButtonUp(OuyaController.BUTTON_O))) { OuyaSDK.putGameData(KEY_PUT_GAME_DATA, "This is a test!!!!"); } GUI.backgroundColor = oldColor; if (m_focusManager.SelectedButton == m_btnGetGameData) { GUI.backgroundColor = Color.red; } if (GUILayout.Button("Get Game Data", GUILayout.Height(40)) || (m_focusManager.SelectedButton == m_btnGetGameData && OuyaSDK.OuyaInput.GetButtonUp(OuyaController.BUTTON_O))) { m_gameData = OuyaSDK.getGameData(KEY_PUT_GAME_DATA); } GUI.backgroundColor = oldColor; GUILayout.Label(string.Format("GameData: {0}", m_gameData)); GUILayout.EndHorizontal(); GUILayout.Label(string.Empty); GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label("Products:"); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); if (m_focusManager.SelectedButton == m_btnRequestProducts) { GUI.backgroundColor = Color.red; } if (GUILayout.Button("Request Products", GUILayout.Height(40)) || (m_focusManager.SelectedButton == m_btnRequestProducts && OuyaSDK.OuyaInput.GetButtonUp(OuyaController.BUTTON_O))) { List <OuyaSDK.Purchasable> productIdentifierList = new List <OuyaSDK.Purchasable>(); foreach (string productId in Purchasables) { OuyaSDK.Purchasable purchasable = new OuyaSDK.Purchasable(); purchasable.productId = productId; productIdentifierList.Add(purchasable); } m_status = "Requesting products..."; OuyaSDK.requestProducts(productIdentifierList); } GUI.backgroundColor = oldColor; GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); foreach (OuyaSDK.Product product in m_products) { GUILayout.BeginHorizontal(); GUILayout.Space(500); GUILayout.Label(string.Format("Name={0}", product.name)); GUILayout.Label(string.Format("Price={0}", product.localPrice)); GUILayout.Label(string.Format("Identifier={0}", product.identifier)); GUILayout.FlexibleSpace(); if (m_focusManager.SelectedButton == product) { GUI.backgroundColor = Color.red; } if (GUILayout.Button("Request Purchase") || (m_focusManager.SelectedButton == product && OuyaSDK.OuyaInput.GetButtonUp(OuyaController.BUTTON_O))) { m_status = "Requesting purchase..."; //Debug.Log(string.Format("Purchase Identifier: {0}", product.identifier)); OuyaSDK.Purchasable purchasable = new OuyaSDK.Purchasable(); purchasable.productId = product.identifier; OuyaSDK.requestPurchase(purchasable); } GUI.backgroundColor = oldColor; GUILayout.EndHorizontal(); } GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label("Receipts:"); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); if (m_focusManager.SelectedButton == m_btnRequestReceipts) { GUI.backgroundColor = Color.red; } if (GUILayout.Button("Request Receipts", GUILayout.Height(40)) || (m_focusManager.SelectedButton == m_btnRequestReceipts && OuyaSDK.OuyaInput.GetButtonUp(OuyaController.BUTTON_O))) { m_status = "Requesting receipts..."; OuyaSDK.requestReceipts(); } GUI.backgroundColor = oldColor; GUILayout.EndHorizontal(); foreach (OuyaSDK.Receipt receipt in m_receipts) { GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label(string.Format("LocalPrice={0}", receipt.localPrice)); GUILayout.Label(string.Format("Identifier={0}", receipt.identifier)); GUILayout.EndHorizontal(); } } catch (System.Exception) { } }
void OnDestroy() { OuyaSDK.unregisterMenuAppearingListener(this); OuyaSDK.unregisterPauseListener(this); OuyaSDK.unregisterResumeListener(this); }
public void RequestUnityAwake(string ignore) { OuyaSDK.initialize(m_developerId); }
/// <summary> /// Wrap Unity's method /// </summary> /// <param name="inputName"></param> /// <returns></returns> public static bool GetButtonUp(string inputName, OuyaSDK.OuyaPlayer player) { // these will map to the Unity game's existing button names // the text cases are placeholders return !OuyaInputManager.GetButton(inputName, player); }
private void FixedUpdate() { OuyaSDK.UpdateJoysticks(); }
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> /// 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) { return GetInput(player, axis, AnalogTypes.none); }
/// <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"; } }
private void InputListener(OuyaSDK.InputAction inputAction, string jsonData) { #region Error Handling if (string.IsNullOrEmpty(jsonData)) { Debug.LogError("OuyaSDK.InputListener: received invalid jsondata"); return; } OuyaGameObject.InputData = jsonData; if (string.IsNullOrEmpty(OuyaSDK.getDeveloperId())) { Debug.LogError("SDK is not initialized"); return; } //Debug.Log(string.Format("OuyaSDK.InputListener: inputAction={0} jsonData={1}", inputAction, jsonData)); if (null == OuyaSDK.getInputAxisListener()) { Debug.LogError("OuyaSDK.InputListener: Input axis listener is not set"); return; } if (null == OuyaSDK.getInputAxisListener().onSuccess) { Debug.LogError("OuyaSDK.InputListener: Input axis listener onSuccess is not set"); return; } if (null == OuyaSDK.getInputButtonListener()) { Debug.LogError("OuyaSDK.InputListener: Input button listener is not set"); return; } if (null == OuyaSDK.getInputButtonListener().onSuccess) { Debug.LogError("OuyaSDK.InputListener: Input button listener onSuccess is not set"); return; } #endregion InputContainer container = JsonMapper.ToObject<InputContainer>(jsonData); OuyaSDK.InputAxisEvent inputAxis; OuyaSDK.InputButtonEvent inputButton; if (null == container) { return; } Device device = devices.Find(delegate(Device d) { return (null == d || null == container) ? false : (d.id == container.DeviceId); }); if (null == device) { return; } if (!debugOff) { Debug.Log("Device:" + device.id + " Player" + device.player); } /// @todo: ADD_CONTROLLER_NAME switch (container.DeviceName.ToUpper()) { #region OUYA Game Controller case "BLUETOOTH JOYSTICK": case "OUYA GAME CONTROLLER": switch (inputAction) { #region KeyDown case OuyaSDK.InputAction.KeyDown: if (container.KeyEvent.mRepeatCount == 0 || container.KeyEvent.mRepeatCount > 5) { switch (container.KeyEvent.mKeyCode) { case 97: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_A, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 96: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_O, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 99: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_U, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 100: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_Y, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 102: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_LB, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 104: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_LT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 106: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_L3, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 103: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_RB, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 105: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_RT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 107: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_R3, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 108: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_SYSTEM, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 19: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_UP, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 20: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 21: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 22: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 82: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_SYSTEM, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; default: Debug.Log("Unhandled " + inputAction + ": " + container.KeyEvent.mKeyCode); break; } } break; #endregion #region KeyUp case OuyaSDK.InputAction.KeyUp: switch (container.KeyEvent.mKeyCode) { case 97: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_A, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 96: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_O, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 99: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_U, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 100: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_Y, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 102: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_LB, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 104: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_LT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 106: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_L3, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 103: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_RB, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 105: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_RT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 107: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_R3, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 108: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_SYSTEM, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 19: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_UP, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 20: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 21: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 22: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 82: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_SYSTEM, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; default: Debug.Log("Unhandled " + inputAction + ": " + container.KeyEvent.mKeyCode); break; } break; #endregion #region GenericMotionEvent case OuyaSDK.InputAction.GenericMotionEvent: inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_LSTICK_X, container.AxisX, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_LSTICK_Y, container.AxisY, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_RSTICK_X, container.AxisZ, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_RSTICK_Y, container.AxisRZ, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_LTRIGGER, container.AxisLTrigger, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_RTRIGGER, container.AxisRTrigger, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); break; #endregion } break; #endregion #region XBOX 360 WIRELESS RECEIVER & Microsoft X-Box 360 pad case "XBOX 360 WIRELESS RECEIVER": case "CONTROLLER (AFTERGLOW GAMEPAD FOR XBOX 360)": case "CONTROLLER (ROCK CANDY GAMEPAD FOR XBOX 360)": case "CONTROLLER (XBOX 360 WIRELESS RECEIVER FOR WINDOWS)": case "MICROSOFT X-BOX 360 PAD": case "CONTROLLER (XBOX 360 FOR WINDOWS)": case "CONTROLLER (XBOX360 GAMEPAD)": case "XBOX 360 FOR WINDOWS (CONTROLLER)": switch (inputAction) { #region KeyDown case OuyaSDK.InputAction.KeyDown: if (container.KeyEvent.mRepeatCount == 0 || container.KeyEvent.mRepeatCount > 5) { if (container.KeyEvent.mKeyCode == 97) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_A, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 96) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_O, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 99) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_U, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 100) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_Y, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 102) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_LB, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 103) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_RB, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 106) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_L3, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 107) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_R3, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } } break; #endregion #region KeyUp case OuyaSDK.InputAction.KeyUp: if (container.KeyEvent.mKeyCode == 97) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_A, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 96) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_O, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 99) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_U, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 100) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_Y, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 102) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_LB, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 103) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_RB, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 106) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_L3, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 107) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_R3, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } break; #endregion #region GenericMotionEvent case OuyaSDK.InputAction.GenericMotionEvent: if (container.AxisHatY == -1) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_UP, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.AxisHatY == 1) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.AxisHatX == -1) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.AxisHatX == 1) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.AxisHatX == 0 && container.AxisHatY == 0) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_CENTER, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_LSTICK_X, container.AxisX, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_LSTICK_Y, container.AxisY, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_RSTICK_X, container.AxisZ, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_RSTICK_Y, container.AxisRZ, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_LTRIGGER, container.AxisLTrigger, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_RTRIGGER, container.AxisRTrigger, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); /* if (container.AxisLTrigger > 0.1f) { inputButton = new OuyaSDK.InputButtonEvent(OuyaSDK.InputAction.KeyDown, OuyaSDK.KeyEnum.BUTTON_LT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); m_detectLTriggerDown = true; } else if (m_detectLTriggerDown) { m_detectLTriggerDown = false; inputButton = new OuyaSDK.InputButtonEvent(OuyaSDK.InputAction.KeyUp, OuyaSDK.KeyEnum.BUTTON_LT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.AxisRTrigger > 0.1f) { inputButton = new OuyaSDK.InputButtonEvent(OuyaSDK.InputAction.KeyDown, OuyaSDK.KeyEnum.BUTTON_RT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); m_detectRTriggerDown = true; } else if (m_detectRTriggerDown) { m_detectRTriggerDown = false; inputButton = new OuyaSDK.InputButtonEvent(OuyaSDK.InputAction.KeyUp, OuyaSDK.KeyEnum.BUTTON_RT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } */ break; #endregion } break; #endregion #region idroid:con case "IDROID:CON": switch (inputAction) { #region KeyDown case OuyaSDK.InputAction.KeyDown: if (container.KeyEvent.mRepeatCount == 0 || container.KeyEvent.mRepeatCount > 5) { if (container.KeyEvent.mKeyCode == 189) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_A, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 188) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_O, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 190) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_U, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 191) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_Y, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 192) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_LB, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 193) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_RB, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } } break; #endregion #region KeyUp case OuyaSDK.InputAction.KeyUp: if (container.KeyEvent.mKeyCode == 189) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_A, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 188) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_O, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 190) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_U, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 191) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_Y, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 192) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_LB, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 193) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_RB, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } break; #endregion #region GenericMotionEvent case OuyaSDK.InputAction.GenericMotionEvent: if (container.AxisHatY == -1) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_UP, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.AxisHatY == 1) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.AxisHatX == -1) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.AxisHatX == 1) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.AxisHatX == 0 && container.AxisHatY == 0) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_CENTER, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_LSTICK_X, container.AxisX, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_LSTICK_Y, container.AxisY, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_RSTICK_X, container.AxisRX, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_RSTICK_Y, container.AxisRY, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_LTRIGGER, container.AxisZ, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_RTRIGGER, container.AxisZ, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); /* if (container.AxisZ > 0.1f) { inputButton = new OuyaSDK.InputButtonEvent(OuyaSDK.InputAction.KeyDown, OuyaSDK.KeyEnum.BUTTON_LT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); m_detectLTriggerDown = true; } else if (m_detectLTriggerDown) { m_detectLTriggerDown = false; inputButton = new OuyaSDK.InputButtonEvent(OuyaSDK.InputAction.KeyUp, OuyaSDK.KeyEnum.BUTTON_LT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.AxisZ < -0.1f) { inputButton = new OuyaSDK.InputButtonEvent(OuyaSDK.InputAction.KeyDown, OuyaSDK.KeyEnum.BUTTON_RT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); m_detectRTriggerDown = true; } else if (m_detectRTriggerDown) { m_detectRTriggerDown = false; inputButton = new OuyaSDK.InputButtonEvent(OuyaSDK.InputAction.KeyUp, OuyaSDK.KeyEnum.BUTTON_RT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } */ break; #endregion } break; #endregion #region PS3 MotionInJoy Game Controller ( Driver required ) case "MOTIONINJOY VIRTUAL GAME CONTROLLER": switch (inputAction) { #region KeyDown case OuyaSDK.InputAction.KeyDown: if (container.KeyEvent.mRepeatCount == 0 || container.KeyEvent.mRepeatCount > 5) { switch (container.KeyEvent.mKeyCode) { case 97: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_A, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 96: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_O, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 99: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_U, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 100: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_Y, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 102: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_LB, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 104: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_LT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 106: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_L3, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 103: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_RB, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 105: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_RT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 107: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_R3, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 108: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_SYSTEM, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 19: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_UP, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 20: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 21: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 22: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; default: Debug.Log("Unhandled " + inputAction + ": " + container.KeyEvent.mKeyCode); break; } } break; #endregion #region KeyUp case OuyaSDK.InputAction.KeyUp: switch (container.KeyEvent.mKeyCode) { case 97: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_A, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 96: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_O, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 99: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_U, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 100: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_Y, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 102: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_LB, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 104: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_LT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 106: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_L3, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 103: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_RB, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 105: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_RT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 107: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_R3, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 108: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_SYSTEM, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 19: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_UP, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 20: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 21: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 22: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; default: Debug.Log("Unhandled " + inputAction + ": " + container.KeyEvent.mKeyCode); break; } break; #endregion #region GenericMotionEvent case OuyaSDK.InputAction.GenericMotionEvent: inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_LSTICK_X, container.AxisX, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_LSTICK_Y, container.AxisY, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_RSTICK_X, container.AxisZ, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_RSTICK_Y, container.AxisRZ, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); //inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_LTRIGGER,container.AxisLTrigger, device.player); //OuyaSDK.getInputAxisListener().onSuccess(inputAxis); //inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_RTRIGGER,container.AxisRTrigger, device.player); //OuyaSDK.getInputAxisListener().onSuccess(inputAxis); /* if (container.AxisLTrigger > 0.13f) { inputButton = new OuyaSDK.InputButtonEvent(OuyaSDK.InputAction.KeyDown, OuyaSDK.KeyEnum.BUTTON_LT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); m_detectLTriggerDown = true; } else //if (m_detectLTriggerDown) { m_detectLTriggerDown = false; inputButton = new OuyaSDK.InputButtonEvent(OuyaSDK.InputAction.KeyUp, OuyaSDK.KeyEnum.BUTTON_LT, device.player); container.AxisLTrigger = 0; //override for deadzone OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.AxisRTrigger > 0.13f) { inputButton = new OuyaSDK.InputButtonEvent(OuyaSDK.InputAction.KeyDown, OuyaSDK.KeyEnum.BUTTON_RT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); m_detectRTriggerDown = true; } else //if (m_detectRTriggerDown) { m_detectRTriggerDown = false; inputButton = new OuyaSDK.InputButtonEvent(OuyaSDK.InputAction.KeyUp, OuyaSDK.KeyEnum.BUTTON_RT, device.player); container.AxisRTrigger = 0; //override for deadzone OuyaSDK.getInputButtonListener().onSuccess(inputButton); }*/ break; #endregion } break; #endregion #region SONY PLAYSTATION(R)3 CONTROLLER case "SONY PLAYSTATION(R)3 CONTROLLER": switch (inputAction) { #region KeyDown case OuyaSDK.InputAction.KeyDown: if (container.KeyEvent.mRepeatCount == 0 || container.KeyEvent.mRepeatCount > 5) { switch (container.KeyEvent.mKeyCode) { case 21: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_A, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 22: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_O, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 19: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_U, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 108: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_Y, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 107: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_LB, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case -1: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_LT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case -2: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_RB, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 106: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_RT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 20: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_SYSTEM, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 102: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_UP, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 104: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 105: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 103: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; default: Debug.Log("Unhandled " + inputAction + ": " + container.KeyEvent.mKeyCode); break; } } break; #endregion #region KeyUp case OuyaSDK.InputAction.KeyUp: switch (container.KeyEvent.mKeyCode) { case 21: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_A, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 22: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_O, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 19: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_U, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 108: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_Y, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 107: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_LB, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case -1: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_LT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case -2: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_RB, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 106: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_RT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 20: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_SYSTEM, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 102: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_UP, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 104: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 105: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; case 103: inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); break; default: Debug.Log("Unhandled " + inputAction + ": " + container.KeyEvent.mKeyCode); break; } break; #endregion #region GenericMotionEvent case OuyaSDK.InputAction.GenericMotionEvent: inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_LSTICK_X, container.AxisX, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_LSTICK_Y, container.AxisY, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_RSTICK_X, container.AxisZ, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_RSTICK_Y, container.AxisRZ, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); break; #endregion } break; #endregion #region USB Controller case "USB CONTROLLER": default: switch (inputAction) { #region KeyDown case OuyaSDK.InputAction.KeyDown: if (container.KeyEvent.mRepeatCount == 0 || container.KeyEvent.mRepeatCount > 5) { if (container.KeyEvent.mKeyCode == 97) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_A, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 98) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_O, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 99) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_U, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 96) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_Y, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 100) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_LB, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 101) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_RB, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 102) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_LT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); switch (inputAction) { case OuyaSDK.InputAction.KeyDown: inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_LTRIGGER, 1, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); break; case OuyaSDK.InputAction.KeyUp: inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_LTRIGGER, 0, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); break; } } if (container.KeyEvent.mKeyCode == 103) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_RT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); switch (inputAction) { case OuyaSDK.InputAction.KeyDown: inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_RTRIGGER, -1, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); break; case OuyaSDK.InputAction.KeyUp: inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_RTRIGGER, 0, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); break; } } } break; #endregion #region KeyUp case OuyaSDK.InputAction.KeyUp: if (container.KeyEvent.mKeyCode == 97) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_A, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 98) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_O, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 99) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_U, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 96) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_Y, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 100) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_LB, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 101) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_RB, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.KeyEvent.mKeyCode == 102) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_LT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); switch (inputAction) { case OuyaSDK.InputAction.KeyDown: inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_LTRIGGER, 1, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); break; case OuyaSDK.InputAction.KeyUp: inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_LTRIGGER, 0, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); break; } } if (container.KeyEvent.mKeyCode == 103) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_RT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); switch (inputAction) { case OuyaSDK.InputAction.KeyDown: inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_RTRIGGER, -1, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); break; case OuyaSDK.InputAction.KeyUp: inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_RTRIGGER, 0, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); break; } } break; #endregion #region GenericMotionEvent case OuyaSDK.InputAction.GenericMotionEvent: if (container.AxisHatY == -1) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_UP, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.AxisHatY == 1) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.AxisHatX == -1) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.AxisHatX == 1) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } if (container.AxisHatX == 0 && container.AxisHatY == 0) { inputButton = new OuyaSDK.InputButtonEvent(inputAction, OuyaSDK.KeyEnum.BUTTON_DPAD_CENTER, device.player); OuyaSDK.getInputButtonListener().onSuccess(inputButton); } inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_LSTICK_X, container.AxisX, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_LSTICK_Y, container.AxisY, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_RSTICK_X, container.AxisZ, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_RSTICK_Y, container.AxisRZ, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_LTRIGGER, container.AxisZ, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); inputAxis = new OuyaSDK.InputAxisEvent(inputAction, OuyaSDK.AxisEnum.AXIS_RTRIGGER, container.AxisZ, device.player); OuyaSDK.getInputAxisListener().onSuccess(inputAxis); break; #endregion } break; #endregion } }
void GetReceipts() { OuyaSDK.requestReceiptList(); Debug.Log("getting receipts"); }
public static bool GetButton(OuyaSDK.KeyEnum keyCode) { return ( GetButton(keyCode, OuyaSDK.OuyaPlayer.player1) || GetButton(keyCode, OuyaSDK.OuyaPlayer.player2) || GetButton(keyCode, OuyaSDK.OuyaPlayer.player3) || GetButton(keyCode, OuyaSDK.OuyaPlayer.player4) || GetButton(keyCode, OuyaSDK.OuyaPlayer.player5) || GetButton(keyCode, OuyaSDK.OuyaPlayer.player6) || GetButton(keyCode, OuyaSDK.OuyaPlayer.player7) || GetButton(keyCode, OuyaSDK.OuyaPlayer.player8)); }
public void OnSuccessInitializePlugin(string ignore) { Debug.Log("OUYA Plugin Initialized."); //success OuyaSDK.setIAPInitComplete(); }
public static float GetAxis(OuyaSDK.KeyEnum keyCode, OuyaSDK.OuyaPlayer player) { if (null == OuyaExampleCommon.Joysticks) { return 0f; } int playerIndex = (int)player - 1; if (playerIndex >= OuyaExampleCommon.Joysticks.Length) { return 0f; } string joystickName = OuyaExampleCommon.Joysticks[playerIndex]; if (null == joystickName) { return 0f; } bool invert = false; string axisName = string.Empty; switch (joystickName.ToUpper()) { case "HARMONIX ROCK BAND DRUMKIT": return 0f; case "HARMONIX ROCK BAND GUITAR": switch (keyCode) { case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_GUITAR_PICKUP: case OuyaSDK.KeyEnum.BUTTON_LT: axisName = string.Format("Joy{0} Axis 3", (int)player); break; case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_GUITAR_WHAMMI: case OuyaSDK.KeyEnum.BUTTON_RT: axisName = string.Format("Joy{0} Axis 4", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: axisName = string.Format("Joy{0} Axis 7", (int)player); break; case OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_GUITAR_STRUM: case OuyaSDK.KeyEnum.AXIS_LSTICK_Y: case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: axisName = string.Format("Joy{0} Axis 8", (int)player); break; default: return 0f; } break; case "BROADCOM BLUETOOTH HID": case "MOGA PRO HID": #if !UNITY_EDITOR && UNITY_ANDROID switch (keyCode) { case OuyaSDK.KeyEnum.AXIS_LSTICK_X: axisName = string.Format("Joy{0} Axis 1", (int)player); break; case OuyaSDK.KeyEnum.AXIS_LSTICK_Y: axisName = string.Format("Joy{0} Axis 2", (int)player); invert = true; break; case OuyaSDK.KeyEnum.AXIS_RSTICK_X: axisName = string.Format("Joy{0} Axis 3", (int)player); break; case OuyaSDK.KeyEnum.AXIS_RSTICK_Y: axisName = string.Format("Joy{0} Axis 4", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_LT: axisName = string.Format("Joy{0} Axis 8", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_RT: axisName = string.Format("Joy{0} Axis 7", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: axisName = string.Format("Joy{0} Axis 5", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: axisName = string.Format("Joy{0} Axis 5", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: axisName = string.Format("Joy{0} Axis 6", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: axisName = string.Format("Joy{0} Axis 6", (int)player); break; default: return 0f; } #endif break; case "OUYA GAME CONTROLLER": #if !UNITY_EDITOR && UNITY_ANDROID switch (keyCode) { case OuyaSDK.KeyEnum.AXIS_LSTICK_X: axisName = string.Format("Joy{0} Axis 1", (int)player); break; case OuyaSDK.KeyEnum.AXIS_LSTICK_Y: axisName = string.Format("Joy{0} Axis 2", (int)player); break; case OuyaSDK.KeyEnum.AXIS_RSTICK_X: axisName = string.Format("Joy{0} Axis 3", (int)player); break; case OuyaSDK.KeyEnum.AXIS_RSTICK_Y: axisName = string.Format("Joy{0} Axis 4", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_LT: axisName = string.Format("Joy{0} Axis 5", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_RT: axisName = string.Format("Joy{0} Axis 6", (int)player); break; default: return 0f; } #else switch (keyCode) { case OuyaSDK.KeyEnum.AXIS_LSTICK_X: axisName = string.Format("Joy{0} Axis 1", (int)player); break; case OuyaSDK.KeyEnum.AXIS_LSTICK_Y: axisName = string.Format("Joy{0} Axis 2", (int)player); invert = true; break; case OuyaSDK.KeyEnum.AXIS_RSTICK_X: axisName = string.Format("Joy{0} Axis 4", (int)player); invert = true; break; case OuyaSDK.KeyEnum.AXIS_RSTICK_Y: axisName = string.Format("Joy{0} Axis 5", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_LT: axisName = string.Format("Joy{0} Axis 9", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_RT: axisName = string.Format("Joy{0} Axis 10", (int)player); break; default: return 0f; } #endif break; case "XBOX 360 WIRELESS RECEIVER": #if !UNITY_EDITOR && UNITY_ANDROID switch (keyCode) { case OuyaSDK.KeyEnum.AXIS_LSTICK_X: axisName = string.Format("Joy{0} Axis 1", (int)player); break; case OuyaSDK.KeyEnum.AXIS_LSTICK_Y: axisName = string.Format("Joy{0} Axis 2", (int)player); break; case OuyaSDK.KeyEnum.AXIS_RSTICK_X: axisName = string.Format("Joy{0} Axis 3", (int)player); break; case OuyaSDK.KeyEnum.AXIS_RSTICK_Y: axisName = string.Format("Joy{0} Axis 4", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_LT: axisName = string.Format("Joy{0} Axis 5", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_RT: axisName = string.Format("Joy{0} Axis 6", (int)player); break; default: return 0f; } #else if (Application.platform == RuntimePlatform.OSXEditor) { switch (keyCode) { case OuyaSDK.KeyEnum.AXIS_LSTICK_X: axisName = string.Format("Joy{0} Axis 1", (int)player); break; case OuyaSDK.KeyEnum.AXIS_LSTICK_Y: axisName = string.Format("Joy{0} Axis 2", (int)player); break; case OuyaSDK.KeyEnum.AXIS_RSTICK_X: axisName = string.Format("Joy{0} Axis 3", (int)player); break; case OuyaSDK.KeyEnum.AXIS_RSTICK_Y: axisName = string.Format("Joy{0} Axis 4", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_LT: axisName = string.Format("Joy{0} Axis 5", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_RT: axisName = string.Format("Joy{0} Axis 6", (int)player); break; default: return 0f; } } else { switch (keyCode) { case OuyaSDK.KeyEnum.AXIS_LSTICK_X: axisName = string.Format("Joy{0} Axis 1", (int)player); break; case OuyaSDK.KeyEnum.AXIS_LSTICK_Y: axisName = string.Format("Joy{0} Axis 2", (int)player); break; case OuyaSDK.KeyEnum.AXIS_RSTICK_X: axisName = string.Format("Joy{0} Axis 4", (int)player); break; case OuyaSDK.KeyEnum.AXIS_RSTICK_Y: axisName = string.Format("Joy{0} Axis 5", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_LT: axisName = string.Format("Joy{0} Axis 9", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_RT: axisName = string.Format("Joy{0} Axis 10", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: axisName = string.Format("Joy{0} Axis 6", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: axisName = string.Format("Joy{0} Axis 6", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: axisName = string.Format("Joy{0} Axis 7", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: axisName = string.Format("Joy{0} Axis 7", (int)player); break; default: return 0f; } } #endif break; case "CONTROLLER (AFTERGLOW GAMEPAD FOR XBOX 360)": case "CONTROLLER (ROCK CANDY GAMEPAD FOR XBOX 360)": case "CONTROLLER (XBOX 360 WIRELESS RECEIVER FOR WINDOWS)": case "MICROSOFT X-BOX 360 PAD": case "CONTROLLER (XBOX 360 FOR WINDOWS)": case "CONTROLLER (XBOX360 GAMEPAD)": case "XBOX 360 FOR WINDOWS (CONTROLLER)": case "MICROSOFT WIRELESS 360 CONTROLLER": #if !UNITY_EDITOR && UNITY_ANDROID switch (keyCode) { case OuyaSDK.KeyEnum.AXIS_LSTICK_X: axisName = string.Format("Joy{0} Axis 1", (int)player); break; case OuyaSDK.KeyEnum.AXIS_LSTICK_Y: axisName = string.Format("Joy{0} Axis 2", (int)player); break; case OuyaSDK.KeyEnum.AXIS_RSTICK_X: axisName = string.Format("Joy{0} Axis 3", (int)player); break; case OuyaSDK.KeyEnum.AXIS_RSTICK_Y: axisName = string.Format("Joy{0} Axis 4", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_LT: axisName = string.Format("Joy{0} Axis 7", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_RT: axisName = string.Format("Joy{0} Axis 8", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: axisName = string.Format("Joy{0} Axis 5", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: axisName = string.Format("Joy{0} Axis 5", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: axisName = string.Format("Joy{0} Axis 6", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: axisName = string.Format("Joy{0} Axis 6", (int)player); break; default: return 0f; } #else if (Application.platform == RuntimePlatform.OSXEditor) { switch (keyCode) { case OuyaSDK.KeyEnum.AXIS_LSTICK_X: axisName = string.Format("Joy{0} Axis 1", (int)player); break; case OuyaSDK.KeyEnum.AXIS_LSTICK_Y: axisName = string.Format("Joy{0} Axis 2", (int)player); break; case OuyaSDK.KeyEnum.AXIS_RSTICK_X: axisName = string.Format("Joy{0} Axis 3", (int)player); break; case OuyaSDK.KeyEnum.AXIS_RSTICK_Y: axisName = string.Format("Joy{0} Axis 4", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_LT: axisName = string.Format("Joy{0} Axis 5", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_RT: axisName = string.Format("Joy{0} Axis 6", (int)player); break; default: return 0f; } } else { switch (keyCode) { case OuyaSDK.KeyEnum.AXIS_LSTICK_X: axisName = string.Format("Joy{0} Axis 1", (int) player); break; case OuyaSDK.KeyEnum.AXIS_LSTICK_Y: axisName = string.Format("Joy{0} Axis 2", (int) player); break; case OuyaSDK.KeyEnum.AXIS_RSTICK_X: axisName = string.Format("Joy{0} Axis 4", (int) player); break; case OuyaSDK.KeyEnum.AXIS_RSTICK_Y: axisName = string.Format("Joy{0} Axis 5", (int) player); break; case OuyaSDK.KeyEnum.BUTTON_LT: axisName = string.Format("Joy{0} Axis 9", (int) player); break; case OuyaSDK.KeyEnum.BUTTON_RT: axisName = string.Format("Joy{0} Axis 10", (int) player); break; case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: axisName = string.Format("Joy{0} Axis 6", (int) player); break; case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: axisName = string.Format("Joy{0} Axis 6", (int) player); break; case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: axisName = string.Format("Joy{0} Axis 7", (int) player); break; case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: axisName = string.Format("Joy{0} Axis 7", (int) player); break; default: return 0f; } } #endif break; case "": //the driver is reporting the controller as blank #if !UNITY_EDITOR && UNITY_ANDROID switch (keyCode) { case OuyaSDK.KeyEnum.AXIS_LSTICK_X: axisName = string.Format("Joy{0} Axis 1", (int)player); break; case OuyaSDK.KeyEnum.AXIS_LSTICK_Y: axisName = string.Format("Joy{0} Axis 2", (int)player); invert = true; break; case OuyaSDK.KeyEnum.AXIS_RSTICK_X: axisName = string.Format("Joy{0} Axis 3", (int)player); break; case OuyaSDK.KeyEnum.AXIS_RSTICK_Y: axisName = string.Format("Joy{0} Axis 4", (int)player); invert = true; break; case OuyaSDK.KeyEnum.BUTTON_LT: axisName = string.Format("Joy{0} Axis 7", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_RT: axisName = string.Format("Joy{0} Axis 8", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: axisName = string.Format("Joy{0} Axis 5", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: axisName = string.Format("Joy{0} Axis 5", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: axisName = string.Format("Joy{0} Axis 6", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: axisName = string.Format("Joy{0} Axis 6", (int)player); break; default: return 0f; } #else switch (keyCode) { case OuyaSDK.KeyEnum.AXIS_LSTICK_X: axisName = string.Format("Joy{0} Axis 1", (int)player); break; case OuyaSDK.KeyEnum.AXIS_LSTICK_Y: axisName = string.Format("Joy{0} Axis 2", (int)player); break; case OuyaSDK.KeyEnum.AXIS_RSTICK_X: axisName = string.Format("Joy{0} Axis 3", (int)player); break; case OuyaSDK.KeyEnum.AXIS_RSTICK_Y: axisName = string.Format("Joy{0} Axis 4", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_LT: axisName = string.Format("Joy{0} Axis 5", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_RT: axisName = string.Format("Joy{0} Axis 6", (int)player); break; case OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT: if (GetButton(7, player)) { return -1; } else { return 0; } case OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT: if (GetButton(8, player)) { return 1; } else { return 0; } case OuyaSDK.KeyEnum.BUTTON_DPAD_UP: if (GetButton(5, player)) { return 1; } else { return 0; } case OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN: if (GetButton(6, player)) { return -1; } else { return 0; } default: return 0f; } #endif break; } if (string.IsNullOrEmpty(axisName)) { return 0f; } if (invert) { return -Input.GetAxisRaw(axisName); } else { return Input.GetAxisRaw(axisName); } }
private void OnGUI() { try { Color oldColor = GUI.backgroundColor; GUILayout.Label(string.Empty); GUILayout.Label(string.Empty); GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); if (m_focusManager.SelectedButton == m_btnExit) { GUI.backgroundColor = Color.red; } if (GUILayout.Button("Exit", GUILayout.Height(40)) || (m_focusManager.SelectedButton == m_btnExit && IsPressed())) { m_status = "Exiting..."; OuyaSDK.shutdown(); Application.Quit(); } GUI.backgroundColor = oldColor; GUILayout.EndHorizontal(); GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); if (m_focusManager.SelectedButton == m_btn720) { GUI.backgroundColor = Color.red; } if (GUILayout.Button("720p", GUILayout.Height(40)) || (m_focusManager.SelectedButton == m_btn720 && IsPressed())) { m_status = "Setting 1280x720..."; Screen.SetResolution(1280, 720, true); } GUI.backgroundColor = oldColor; GUILayout.EndHorizontal(); GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); if (m_focusManager.SelectedButton == m_btn1080) { GUI.backgroundColor = Color.red; } if (GUILayout.Button("1080p", GUILayout.Height(40)) || (m_focusManager.SelectedButton == m_btn1080 && IsPressed())) { m_status = "Setting 1920x1080..."; Screen.SetResolution(1920, 1080, true); } GUI.backgroundColor = oldColor; GUILayout.EndHorizontal(); GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label(string.Format("Input: Mouse: X={0} Y={1} Z={2}", Input.mousePosition.x, Input.mousePosition.y, Input.mousePosition.z)); GUILayout.Label(string.Format("Buttons: Left={0} Right={1} Middle={2}", Input.GetMouseButtonDown(0), Input.GetMouseButtonDown(1), Input.GetMouseButtonDown(2))); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label(string.Format("Turret: Mouse: X={0} Y={1} Z={2}", OuyaSDK.OuyaInput.GetTurretMouseInfo(4), OuyaSDK.OuyaInput.GetTurretMouseInfo(5), OuyaSDK.OuyaInput.GetTurretMouseInfo(3))); int turretButtons = OuyaSDK.OuyaInput.GetTurretMouseInfo(0); GUILayout.Label(string.Format("Buttons: Left={0} Right={1} Middle={2}", (turretButtons & OuyaSDK.OuyaInput.TURRET_MOUSE_BUTTON_LEFT) != 0, (turretButtons & OuyaSDK.OuyaInput.TURRET_MOUSE_BUTTON_RIGHT) != 0, (turretButtons & OuyaSDK.OuyaInput.TURRET_BUTTON_MIDDLE) != 0)); GUILayout.EndHorizontal(); GUI.Label(new Rect(OuyaSDK.OuyaInput.GetTurretMouseInfo(4) - 5, Screen.height - OuyaSDK.OuyaInput.GetTurretMouseInfo(5) - 5, 10, 20), "x"); #if false for (int i = 0; i < 6; ++i) { GUILayout.Label(string.Format("Turret Mouse Info: i={0} Value={1}", i, OuyaSDK.OuyaInput.GetTurretMouseInfo(i))); } #endif GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label(string.Format("IsRunningOnOUYAHardware: {0}", m_isRunningOnOUYAHardware)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label(string.Format("App Name: {0}", OuyaSDK.getStringResource("app_name"))); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label(OuyaSDK.isIAPInitComplete() ? "IAP is initialized" : "IAP initializing..."); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label(string.Format("State: {0}", m_state)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label(string.Format("Status: {0}", m_status)); GUILayout.EndHorizontal(); GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label(string.Format("Gamer UUID: {0}", m_gamerUUID)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label(string.Format("Gamer User Name: {0}", m_gamerUsername)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); if (m_focusManager.SelectedButton == m_btnRequestGamerInfo) { GUI.backgroundColor = Color.red; } if (GUILayout.Button("Request Gamer Info", GUILayout.Height(40)) || (m_focusManager.SelectedButton == m_btnRequestGamerInfo && IsPressed())) { m_status = "Requesting gamer info..."; OuyaSDK.requestGamerInfo(); } GUI.backgroundColor = oldColor; GUILayout.EndHorizontal(); GUILayout.Label(string.Empty); GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); if (m_focusManager.SelectedButton == m_btnPutGameData) { GUI.backgroundColor = Color.red; } if (GUILayout.Button("Put Game Data", GUILayout.Height(40)) || (m_focusManager.SelectedButton == m_btnPutGameData && IsPressed())) { if (m_gameData == "") { m_gameData = "This is a test!!!!"; } OuyaSDK.putGameData(KEY_PUT_GAME_DATA, m_gameData); } GUI.backgroundColor = oldColor; if (m_focusManager.SelectedButton == m_btnGetGameData) { GUI.backgroundColor = Color.red; } if (GUILayout.Button("Get Game Data", GUILayout.Height(40)) || (m_focusManager.SelectedButton == m_btnGetGameData && IsPressed())) { m_gameData = OuyaSDK.getGameData(KEY_PUT_GAME_DATA); } GUI.backgroundColor = oldColor; m_gameData = GUILayout.TextField(m_gameData, GUILayout.Width(300), GUILayout.Height(40)); GUILayout.EndHorizontal(); GUILayout.Label(string.Empty); GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label("Products:"); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); if (m_focusManager.SelectedButton == m_btnRequestProducts) { GUI.backgroundColor = Color.red; } if (GUILayout.Button("Request Products", GUILayout.Height(40)) || (m_focusManager.SelectedButton == m_btnRequestProducts && IsPressed())) { List <OuyaSDK.Purchasable> productIdentifierList = new List <OuyaSDK.Purchasable>(); foreach (string productId in Purchasables) { OuyaSDK.Purchasable purchasable = new OuyaSDK.Purchasable(); purchasable.productId = productId; productIdentifierList.Add(purchasable); } m_status = "Requesting products..."; OuyaSDK.requestProducts(productIdentifierList); } GUI.backgroundColor = oldColor; GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); foreach (OuyaSDK.Product product in m_products) { GUILayout.BeginHorizontal(); GUILayout.Space(500); GUILayout.Label(string.Format("Name={0}", product.name)); GUILayout.Label(string.Format("Price={0}", product.localPrice)); GUILayout.Label(string.Format("Identifier={0}", product.identifier)); GUILayout.FlexibleSpace(); if (m_focusManager.SelectedButton == product) { GUI.backgroundColor = Color.red; } if (GUILayout.Button("Request Purchase") || (m_focusManager.SelectedButton == product && IsPressed())) { m_status = "Requesting purchase..."; //Debug.Log(string.Format("Purchase Identifier: {0}", product.identifier)); OuyaSDK.Purchasable purchasable = new OuyaSDK.Purchasable(); purchasable.productId = product.identifier; OuyaSDK.requestPurchase(purchasable); } GUI.backgroundColor = oldColor; GUILayout.EndHorizontal(); } GUILayout.Label(string.Empty); GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label("Receipts:"); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(400); if (m_focusManager.SelectedButton == m_btnRequestReceipts) { GUI.backgroundColor = Color.red; } if (GUILayout.Button("Request Receipts", GUILayout.Height(40)) || (m_focusManager.SelectedButton == m_btnRequestReceipts && IsPressed())) { m_status = "Requesting receipts..."; OuyaSDK.requestReceipts(); } GUI.backgroundColor = oldColor; GUILayout.EndHorizontal(); foreach (OuyaSDK.Receipt receipt in m_receipts) { GUILayout.BeginHorizontal(); GUILayout.Space(400); GUILayout.Label(string.Format("LocalPrice={0}", receipt.localPrice)); GUILayout.Label(string.Format("Identifier={0}", receipt.identifier)); GUILayout.EndHorizontal(); } } catch (System.Exception) { } }