public override bool OnGenericMotionEvent(MotionEvent motionEvent) { int playerNum = OuyaController.getPlayerNumByDeviceId(motionEvent.DeviceId); if (playerNum >= 0 && playerNum < 4 && null != m_game && null != m_game.Controllers && playerNum < m_game.Controllers.Count) { m_game.Controllers[playerNum].Axis[OuyaController.AXIS_LS_X] = motionEvent.GetAxisValue((Axis)OuyaController.AXIS_LS_X); m_game.Controllers[playerNum].Axis[OuyaController.AXIS_LS_Y] = motionEvent.GetAxisValue((Axis)OuyaController.AXIS_LS_Y); m_game.Controllers[playerNum].Axis[OuyaController.AXIS_RS_X] = motionEvent.GetAxisValue((Axis)OuyaController.AXIS_RS_X); m_game.Controllers[playerNum].Axis[OuyaController.AXIS_RS_Y] = motionEvent.GetAxisValue((Axis)OuyaController.AXIS_RS_Y); m_game.Controllers[playerNum].Axis[OuyaController.AXIS_L2] = motionEvent.GetAxisValue((Axis)OuyaController.AXIS_L2); m_game.Controllers[playerNum].Axis[OuyaController.AXIS_R2] = motionEvent.GetAxisValue((Axis)OuyaController.AXIS_R2); base.OnGenericMotionEvent(motionEvent); } return(true); }
private void SetDrawable(out Texture2D button, int keyCode) { OuyaController.ButtonData buttonData; buttonData = OuyaController.getButtonData(keyCode); if (null == buttonData) { button = null; return; } BitmapDrawable drawable = (BitmapDrawable)buttonData.buttonDrawable; if (null == drawable) { button = null; return; } Bitmap bitmap = drawable.Bitmap; using (MemoryStream ms = new MemoryStream()) { bitmap.Compress(Bitmap.CompressFormat.Png, 100, ms); ms.Position = 0; button = Texture2D.FromStream(GraphicsDevice, ms); } }
public override bool OnKeyUp(Keycode keyCode, KeyEvent keyEvent) { //Log.Info(TAG, "OnKeyUp=" + (int)keyCode); int playerNum = OuyaController.getPlayerNumByDeviceId(keyEvent.DeviceId); if (playerNum >= 0 && playerNum < 4) { if ((int)keyCode == OuyaController.BUTTON_DPAD_DOWN) { _game.GetFocusManager().FocusDown(); } if ((int)keyCode == OuyaController.BUTTON_DPAD_LEFT) { _game.GetFocusManager().FocusLeft(); } if ((int)keyCode == OuyaController.BUTTON_DPAD_RIGHT) { _game.GetFocusManager().FocusRight(); } if ((int)keyCode == OuyaController.BUTTON_DPAD_UP) { _game.GetFocusManager().FocusUp(); } if ((int)keyCode == OuyaController.BUTTON_O) { _game.GetFocusManager().InvokeClick(); } if ((int)keyCode == OuyaController.BUTTON_A) { _game.Exit(); } } return(true); }
private static string getDeviceName(int deviceId) { OuyaController ouyaController = OuyaController.getControllerByPlayer(deviceId); if (null != ouyaController) { return(ouyaController.getDeviceName()); } return(null); }
private void UpdateJoystickInfo() { OuyaController ouyaController = OuyaController.getControllerByPlayer(_playerId); if (ouyaController == null) { return; } _deviceName = ouyaController.getDeviceName(); }
private void SetLabel(out string label, int keyCode) { OuyaController.ButtonData buttonData; buttonData = OuyaController.getButtonData(keyCode); if (null == buttonData) { label = null; return; } label = buttonData.buttonName; }
public override bool OnKeyUp(Keycode keyCode, KeyEvent keyEvent) { //Log.Info(TAG, "OnKeyUp=" + (int)keyCode); int playerNum = OuyaController.getPlayerNumByDeviceId(keyEvent.DeviceId); if (playerNum >= 0 && playerNum < 4 && null != m_game && null != m_game.Controllers && playerNum < m_game.Controllers.Count) { m_game.Controllers[playerNum].Button[(int)keyCode] = false; } return(true); }
private void SetDrawable(out Texture2D button, int keyCode) { OuyaController.ButtonData buttonData; buttonData = OuyaController.getButtonData(keyCode); if (null == buttonData) { button = null; return; } if (null == buttonData.buttonDrawable) { button = null; return; } BitmapDrawable drawable = (BitmapDrawable)buttonData.buttonDrawable; if (null == drawable) { button = null; return; } Bitmap bitmap = drawable.getBitmap(); if (null == bitmap) { button = null; return; } ByteArrayOutputStream stream = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream); if (stream.size() == 0) { button = null; } else { button = new Texture2D(0, 0); button.LoadImage(stream.toByteArray()); } stream.close(); }
public override bool OnKeyDown(Keycode keyCode, KeyEvent keyEvent) { //Log.Info(TAG, "OnKeyDown=" + (int)keyCode); int playerNum = OuyaController.getPlayerNumByDeviceId(keyEvent.DeviceId); if (playerNum >= 0 && playerNum < 4 && null != m_game && null != m_game.Controllers && playerNum < m_game.Controllers.Count) { m_game.Controllers[playerNum].Button[(int)keyCode] = true; if ((int)keyCode == OuyaController.BUTTON_MENU) { Log.Info(TAG, "Menu Detected=" + (int)keyCode); m_game.Controllers[playerNum].TimerMenuDetected = DateTime.Now + TimeSpan.FromSeconds(1); } } return(true); }
public void BeforeAttach() { #if UNITY_ANDROID && INCONTROL_OUYA && !UNITY_EDITOR Name = OuyaController.getControllerByPlayer(DeviceIndex).getDeviceName(); #endif }
void OnGUI() { GUI.skin = m_guiSkin; GUILayout.Space(80); 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 static void OuyaControllerInit(Context context) { OuyaController.init(context); }