protected override float ProcessAxis(Key key, float deadZone) { if (key.map == InputKeyMap.None) { return(base.ProcessAxis(key, deadZone)); } OuyaSDK.OuyaPlayer player = GetPlayer(key); switch (key.axis) { case ButtonAxis.Minus: return(OuyaExampleCommon.GetButton((OuyaSDK.KeyEnum)key.map, player) ? -1.0f : 0.0f); break; case ButtonAxis.Plus: return(OuyaExampleCommon.GetButton((OuyaSDK.KeyEnum)key.map, player) ? 1.0f : 0.0f); break; case ButtonAxis.Both: float val = OuyaExampleCommon.GetAxis((OuyaSDK.KeyEnum)key.map, player); return(Mathf.Abs(val) > deadZone ? val : 0.0f); } return(0.0f); }
private void FixedUpdate() { OuyaExampleCommon.UpdateJoysticks(); if (RendererLabel) { RendererLabel.text = m_items.Count.ToString(); } if (PolysLabel) { int count = 0; foreach (MeshFilter mf in m_items) { if (mf.mesh) { count += mf.mesh.vertexCount; } } PolysLabel.text = count.ToString(); } if (m_timerChange < DateTime.Now) { m_timerChange = DateTime.Now + TimeSpan.FromMilliseconds(200); if (OuyaExampleCommon.GetButton(OuyaSDK.OuyaPlayer.player1, OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT)) { DecreaseGeometry(1f); } if (OuyaExampleCommon.GetButton(OuyaSDK.OuyaPlayer.player1, OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT)) { IncreaseGeometry(1f); } if (OuyaExampleCommon.GetButton(OuyaSDK.OuyaPlayer.player1, OuyaSDK.KeyEnum.BUTTON_DPAD_UP)) { CombineGeometry(); } if (OuyaExampleCommon.GetButton(OuyaSDK.OuyaPlayer.player1, OuyaSDK.KeyEnum.BUTTON_O)) { IncreaseGeometry(0.1f); } if (OuyaExampleCommon.GetButton(OuyaSDK.OuyaPlayer.player1, OuyaSDK.KeyEnum.BUTTON_A)) { DecreaseGeometry(0.1f); } } float x = OuyaExampleCommon.GetAxis("LY", OuyaSDK.OuyaPlayer.player1); float y = OuyaExampleCommon.GetAxis("LX", OuyaSDK.OuyaPlayer.player1); Camera.main.transform.RotateAround(new Vector3(0, 0, 3), Camera.main.transform.rotation * Vector3.right, x * 45 * Time.fixedDeltaTime); Camera.main.transform.RotateAround(new Vector3(0, 0, 3), Camera.main.transform.rotation * Vector3.up, y * 45 * Time.fixedDeltaTime); }
void OnGUI() { if (OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_O, OuyaSDK.OuyaPlayer.player1)) { ++m_threadCount; RespawnThreads(); } if (OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_A, OuyaSDK.OuyaPlayer.player1)) { m_threadCount = Mathf.Max(0, m_threadCount - 1); RespawnThreads(); } }
protected override bool ProcessButtonDown(Key key) { if (key.map == InputKeyMap.None) { return(base.ProcessButtonDown(key)); } if (key.map == InputKeyMap.HACK1) { return(OuyaExampleCommon.GetButton(2, GetPlayer(key))); } return(OuyaExampleCommon.GetButton((OuyaSDK.KeyEnum)key.map, GetPlayer(key))); }
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); }
private void UpdateController() { #region Axis Code UpdateHighlight(RendererAxisLeft, Mathf.Abs(OuyaExampleCommon.GetAxis(OuyaSDK.KeyEnum.AXIS_LSTICK_X, OuyaExampleCommon.Player)) > 0.25f || Mathf.Abs(OuyaExampleCommon.GetAxis(OuyaSDK.KeyEnum.AXIS_LSTICK_Y, OuyaExampleCommon.Player)) > 0.25f); RendererAxisLeft.transform.localRotation = Quaternion.Euler(OuyaExampleCommon.GetAxis(OuyaSDK.KeyEnum.AXIS_LSTICK_Y, OuyaExampleCommon.Player) * 15, 0, OuyaExampleCommon.GetAxis(OuyaSDK.KeyEnum.AXIS_LSTICK_X, OuyaExampleCommon.Player) * 15); UpdateHighlight(RendererAxisRight, Mathf.Abs(OuyaExampleCommon.GetAxis(OuyaSDK.KeyEnum.AXIS_RSTICK_X, OuyaExampleCommon.Player)) > 0.25f || Mathf.Abs(OuyaExampleCommon.GetAxis(OuyaSDK.KeyEnum.AXIS_RSTICK_Y, OuyaExampleCommon.Player)) > 0.25f); RendererAxisRight.transform.localRotation = Quaternion.Euler(OuyaExampleCommon.GetAxis(OuyaSDK.KeyEnum.AXIS_RSTICK_Y, OuyaExampleCommon.Player) * 15, 0, OuyaExampleCommon.GetAxis(OuyaSDK.KeyEnum.AXIS_RSTICK_X, OuyaExampleCommon.Player) * 15); RendererLT.transform.localRotation = Quaternion.Euler(OuyaExampleCommon.GetAxis(OuyaSDK.KeyEnum.BUTTON_LT, OuyaExampleCommon.Player) * -15, 0, 0); RendererRT.transform.localRotation = Quaternion.Euler(OuyaExampleCommon.GetAxis(OuyaSDK.KeyEnum.BUTTON_RT, OuyaExampleCommon.Player) * -15, 0, 0); if (OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_L3, OuyaExampleCommon.Player)) { RendererAxisLeft.transform.localPosition = Vector3.Lerp(RendererAxisLeft.transform.localPosition, new Vector3(5.503977f, 0.75f, -3.344945f), Time.fixedDeltaTime); } else { RendererAxisLeft.transform.localPosition = Vector3.Lerp(RendererAxisLeft.transform.localPosition, new Vector3(5.503977f, 1.127527f, -3.344945f), Time.fixedDeltaTime); } if (OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_R3, OuyaExampleCommon.Player)) { RendererAxisRight.transform.localPosition = Vector3.Lerp(RendererAxisRight.transform.localPosition, new Vector3(-2.707688f, 0.75f, -1.354063f), Time.fixedDeltaTime); } else { RendererAxisRight.transform.localPosition = Vector3.Lerp(RendererAxisRight.transform.localPosition, new Vector3(-2.707688f, 1.11295f, -1.354063f), Time.fixedDeltaTime); } #endregion #region Button Code #region BUTTONS O - A //Check O button for down state if (OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_O, OuyaExampleCommon.Player)) { UpdateHighlight(RendererButtonO, true, true); } else { UpdateHighlight(RendererButtonO, false, true); } //Check U button for down state if (OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_U, OuyaExampleCommon.Player)) { UpdateHighlight(RendererButtonU, true, true); } else { UpdateHighlight(RendererButtonU, false, true); } //Check Y button for down state if (OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_Y, OuyaExampleCommon.Player)) { UpdateHighlight(RendererButtonY, true, true); } else { UpdateHighlight(RendererButtonY, false, true); } //Check A button for down state if (OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_A, OuyaExampleCommon.Player)) { UpdateHighlight(RendererButtonA, true, true); } else { UpdateHighlight(RendererButtonA, false, true); } //Check L3 button for down state if (OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_L3, OuyaExampleCommon.Player)) { UpdateHighlight(RendererAxisLeft, true, true); } else { UpdateHighlight(RendererAxisLeft, false, true); } //Check R3 button for down state if (OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_R3, OuyaExampleCommon.Player)) { UpdateHighlight(RendererAxisRight, true, true); } else { UpdateHighlight(RendererAxisRight, false, true); } #endregion #region Bumpers //Check LB button for down state if (OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_LB, OuyaExampleCommon.Player)) { UpdateHighlight(RendererLB, true, true); } else { UpdateHighlight(RendererLB, false, true); } //Check RB button for down state if (OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_RB, OuyaExampleCommon.Player)) { UpdateHighlight(RendererRB, true, true); } else { UpdateHighlight(RendererRB, false, true); } #endregion #region triggers //Check LT button for down state if (OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_LT, OuyaExampleCommon.Player)) { UpdateHighlight(RendererLT, true, true); } else { UpdateHighlight(RendererLT, false, true); } //Check RT button for down state if (OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_RT, OuyaExampleCommon.Player)) { UpdateHighlight(RendererRT, true, true); } else { UpdateHighlight(RendererRT, false, true); } #endregion #region DPAD //Check DPAD UP button for down state if (OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_DPAD_UP, OuyaExampleCommon.Player)) { UpdateHighlight(RendererDpadUp, true, true); } else { UpdateHighlight(RendererDpadUp, false, true); } //Check DPAD DOWN button for down state if (OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN, OuyaExampleCommon.Player)) { UpdateHighlight(RendererDpadDown, true, true); } else { UpdateHighlight(RendererDpadDown, false, true); } //Check DPAD LEFT button for down state if (OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT, OuyaExampleCommon.Player)) { UpdateHighlight(RendererDpadLeft, true, true); } else { UpdateHighlight(RendererDpadLeft, false, true); } //Check DPAD RIGHT button for down state if (OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT, OuyaExampleCommon.Player)) { UpdateHighlight(RendererDpadRight, true, true); } else { UpdateHighlight(RendererDpadRight, false, true); } #endregion #endregion }
private void UpdateLabels() { try { OuyaNGUIHandler nguiHandler = GameObject.Find("_NGUIHandler").GetComponent <OuyaNGUIHandler>(); if (nguiHandler != null && null != OuyaSDK.Joysticks) { for (int i = 0; i < OuyaSDK.Joysticks.Length || i < 8; i++) { string joyName = "N/A"; if (i < OuyaSDK.Joysticks.Length) { joyName = OuyaSDK.Joysticks[i]; } switch (i) { case 0: nguiHandler.controller1.text = OuyaExampleCommon.Player == OuyaSDK.OuyaPlayer.player1 ? string.Format("*{0}", joyName) : joyName; break; case 1: nguiHandler.controller2.text = OuyaExampleCommon.Player == OuyaSDK.OuyaPlayer.player2 ? string.Format("*{0}", joyName) : joyName; break; case 2: nguiHandler.controller3.text = OuyaExampleCommon.Player == OuyaSDK.OuyaPlayer.player3 ? string.Format("*{0}", joyName) : joyName; break; case 3: nguiHandler.controller4.text = OuyaExampleCommon.Player == OuyaSDK.OuyaPlayer.player4 ? string.Format("*{0}", joyName) : joyName; break; case 4: nguiHandler.controller5.text = OuyaExampleCommon.Player == OuyaSDK.OuyaPlayer.player5 ? string.Format("*{0}", joyName) : joyName; break; case 5: nguiHandler.controller6.text = OuyaExampleCommon.Player == OuyaSDK.OuyaPlayer.player6 ? string.Format("*{0}", joyName) : joyName; break; case 6: nguiHandler.controller7.text = OuyaExampleCommon.Player == OuyaSDK.OuyaPlayer.player7 ? string.Format("*{0}", joyName) : joyName; break; case 7: nguiHandler.controller8.text = OuyaExampleCommon.Player == OuyaSDK.OuyaPlayer.player8 ? string.Format("*{0}", joyName) : joyName; break; } } nguiHandler.button1.text = OuyaExampleCommon.GetButton(0, OuyaExampleCommon.Player).ToString(); nguiHandler.button2.text = OuyaExampleCommon.GetButton(1, OuyaExampleCommon.Player).ToString(); nguiHandler.button3.text = OuyaExampleCommon.GetButton(2, OuyaExampleCommon.Player).ToString(); nguiHandler.button4.text = OuyaExampleCommon.GetButton(3, OuyaExampleCommon.Player).ToString(); nguiHandler.button5.text = OuyaExampleCommon.GetButton(4, OuyaExampleCommon.Player).ToString(); nguiHandler.button6.text = OuyaExampleCommon.GetButton(5, OuyaExampleCommon.Player).ToString(); nguiHandler.button7.text = OuyaExampleCommon.GetButton(6, OuyaExampleCommon.Player).ToString(); nguiHandler.button8.text = OuyaExampleCommon.GetButton(7, OuyaExampleCommon.Player).ToString(); nguiHandler.button9.text = OuyaExampleCommon.GetButton(8, OuyaExampleCommon.Player).ToString(); nguiHandler.button10.text = OuyaExampleCommon.GetButton(9, OuyaExampleCommon.Player).ToString(); nguiHandler.button11.text = OuyaExampleCommon.GetButton(10, OuyaExampleCommon.Player).ToString(); nguiHandler.button12.text = OuyaExampleCommon.GetButton(11, OuyaExampleCommon.Player).ToString(); nguiHandler.button13.text = OuyaExampleCommon.GetButton(12, OuyaExampleCommon.Player).ToString(); nguiHandler.button14.text = OuyaExampleCommon.GetButton(13, OuyaExampleCommon.Player).ToString(); nguiHandler.button15.text = OuyaExampleCommon.GetButton(14, OuyaExampleCommon.Player).ToString(); nguiHandler.button16.text = OuyaExampleCommon.GetButton(15, OuyaExampleCommon.Player).ToString(); nguiHandler.button17.text = OuyaExampleCommon.GetButton(16, OuyaExampleCommon.Player).ToString(); nguiHandler.button18.text = OuyaExampleCommon.GetButton(17, OuyaExampleCommon.Player).ToString(); nguiHandler.button19.text = OuyaExampleCommon.GetButton(18, OuyaExampleCommon.Player).ToString(); nguiHandler.button20.text = OuyaExampleCommon.GetButton(19, OuyaExampleCommon.Player).ToString(); //nguiHandler.rawOut.text = OuyaGameObject.InputData; nguiHandler.device.text = SystemInfo.deviceModel; } } catch (System.Exception) { } }
void Update() { if (m_timerCreate < DateTime.Now) { m_timerCreate = DateTime.Now + TimeSpan.FromMilliseconds(NoteTimeToCreate); int index = Random.Range(0, Lanes.Count); CreateNote(Lanes[index]); } foreach (CubeLaneItem item in Lanes) { bool val = OuyaExampleCommon.GetButton(item.LaneButton); if (LastPressed.ContainsKey(item.LaneButton)) { if (!val) { LastPressed.Remove(item.LaneButton); } } else { if (val) { LastPressed[item.LaneButton] = OuyaExampleCommon.GetButton(item.LaneButton); } } } List<NoteItem> removeList = new List<NoteItem>(); foreach (NoteItem note in Notes) { if (note.EndTime < DateTime.Now) { removeList.Add(note); continue; } float elapsed = (float)(DateTime.Now - note.StartTime).TotalMilliseconds; note.Instance.transform.position = Vector3.Lerp( note.Parent.StartPosition.transform.position, note.Parent.EndPosition.transform.position, elapsed/(float) NoteTimeToLive); bool inRange = Mathf.Abs(TrackEnd.position.z - note.Instance.transform.position.z) <= 16; bool afterRange = (note.Instance.transform.position.z - 8) < TrackEnd.position.z; // use available press of the lane button if (LastPressed.ContainsKey(note.Parent.LaneButton) && LastPressed[note.Parent.LaneButton]) { if ( //check if note is across the finish line inRange ) { //use button press LastPressed[note.Parent.LaneButton] = false; //hit the note if (!note.NoteHit) { note.NoteHit = true; note.FadeTime = DateTime.Now + TimeSpan.FromMilliseconds(NoteTimeToFade); UpdateFadeDelay(note); } } } if (note.NoteHit) { } else if (inRange) { (note.Instance.renderer as MeshRenderer).material.color = Color.white; } else if (afterRange) { (note.Instance.renderer as MeshRenderer).material.color = new Color(0, 0, 0, 0.75f); if (!note.NoteHit) { note.Parent.FadeDelay = DateTime.Now; } } if (note.FadeTime != DateTime.MinValue) { if (note.FadeTime < DateTime.Now) { removeList.Add(note); continue; } elapsed = (float)(note.FadeTime - DateTime.Now).TotalMilliseconds; (note.Instance.renderer as MeshRenderer).material.color = Color.Lerp(note.Parent.LaneColor, Color.clear, 1f - elapsed / (float)NoteTimeToFade); note.Instance.transform.localScale = Vector3.Lerp(note.Instance.transform.localScale, note.Parent.StartPosition.transform.localScale * 2, elapsed / (float)NoteTimeToFade); } } foreach (NoteItem note in removeList) { Notes.Remove(note); DestroyNote(note); } }
public static bool GetButton(string inputName, OuyaSDK.OuyaPlayer player) { switch (Moga) { case true: switch (inputName) { case "Shoot": return(MogaInput.GetKey(KeyCode.JoystickButton0)); //a case "Orbit": return(MogaInput.GetKey(KeyCode.JoystickButton2)); //x case "Option": return(MogaInput.GetKey(KeyCode.JoystickButton3)); //y case "Exit": return(MogaInput.GetKey(KeyCode.JoystickButton1)); //b case "TurnLeft": return(MogaInput.GetKeyDown(KeyCode.JoystickButton10)); case "TurnRight": return(MogaInput.GetKeyDown(KeyCode.JoystickButton11)); case "SkipLeft": return(MogaInput.GetKeyDown(KeyCode.JoystickButton4)); case "SkipRight": return(MogaInput.GetKeyDown(KeyCode.JoystickButton5)); case "DLeft": return(MogaInput.GetKey(KeyCode.JoystickButton14)); case "DRight": return(MogaInput.GetKey(KeyCode.JoystickButton15)); case "DUp": return(MogaInput.GetKey(KeyCode.JoystickButton12)); case "DDown": return(MogaInput.GetKey(KeyCode.JoystickButton13)); case "StartBtn": return(MogaInput.GetKeyDown(KeyCode.JoystickButton7)); default: return(false); } case false: switch (inputName) { case "Shoot": return(OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_O, player)); case "Orbit": return(OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_U, player)); case "Option": return(OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_Y, player)); case "Exit": return(OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_A, player)); case "TurnLeft": return(OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_LT, player)); case "TurnRight": return(OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_RT, player)); case "SkipLeft": return(OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_LB, player)); case "SkipRight": return(OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_RB, player)); case "DLeft": return(OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_DPAD_LEFT, player)); case "DRight": return(OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_DPAD_RIGHT, player)); case "DUp": return(OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_DPAD_UP, player)); case "DDown": return(OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.BUTTON_DPAD_DOWN, player)); default: return(false); } } return(false); }
void Update() { if (m_timerCreate < DateTime.Now) { m_timerCreate = DateTime.Now + TimeSpan.FromMilliseconds(NoteTimeToCreate); int index = Random.Range(0, Lanes.Count); CreateNote(Lanes[index]); } bool lower = OuyaExampleCommon.GetButton(OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_GUITAR_LOWER, OuyaSDK.OuyaPlayer.player1); float strum = OuyaExampleCommon.GetAxis(OuyaSDK.KeyEnum.HARMONIX_ROCK_BAND_GUITAR_STRUM, OuyaSDK.OuyaPlayer.player1); bool strumChanged = LastStrum != strum; LastStrum = strum; foreach (CubeLaneItem item in Lanes) { // cache the button state LastPressed[item.LaneButton] = OuyaExampleCommon.GetButton(item.LaneButton, OuyaSDK.OuyaPlayer.player1); } List <NoteItem> removeList = new List <NoteItem>(); foreach (NoteItem note in Notes) { if (note.EndTime < DateTime.Now) { removeList.Add(note); continue; } float elapsed = (float)(DateTime.Now - note.StartTime).TotalMilliseconds; note.Instance.transform.position = Vector3.Lerp( note.Parent.StartPosition.transform.position, note.Parent.EndPosition.transform.position, elapsed / (float)NoteTimeToLive); bool inRange = Mathf.Abs(TrackEnd.position.z - note.Instance.transform.position.z) <= 16; bool afterRange = (note.Instance.transform.position.z - 8) < TrackEnd.position.z; if (inRange) { (note.Instance.renderer as MeshRenderer).material.color = Color.white; } else if (afterRange) { (note.Instance.renderer as MeshRenderer).material.color = new Color(0, 0, 0, 0.75f); } // use available press of the lane button if (LastPressed.ContainsKey(note.Parent.LaneButton) && LastPressed[note.Parent.LaneButton]) { if ( //check if note is across the finish line inRange && //check if lower was used (!note.UseLower || lower == note.UseLower) && // check if strum was used strumChanged && strum != 0f) { //use button press LastPressed[note.Parent.LaneButton] = false; //hit the note if (note.FadeTime == DateTime.MinValue) { note.FadeTime = DateTime.Now + TimeSpan.FromMilliseconds(NoteTimeToFade); note.Parent.LaneSound.volume = 1; } } } if (note.FadeTime != DateTime.MinValue) { if (note.FadeTime < DateTime.Now) { removeList.Add(note); continue; } elapsed = (float)(note.FadeTime - DateTime.Now).TotalMilliseconds; (note.Instance.renderer as MeshRenderer).material.color = Color.Lerp(note.Parent.LaneColor, Color.clear, 1f - elapsed / (float)NoteTimeToFade); note.Instance.transform.localScale = Vector3.Lerp(note.Instance.transform.localScale, note.Parent.StartPosition.transform.localScale * 2, elapsed / (float)NoteTimeToFade); } } foreach (NoteItem note in removeList) { Notes.Remove(note); DestroyNote(note); } }