/* ----------------------------------------------------------------------------------- * GUI CONTROLLER DISPLAY */ public void OnGUI() { if (debug) { GUI.Label(new Rect(50, 40, 100, 20), "LX " + OuyaInput.GetAxis(OuyaAxis.LX, observedPlayer)); GUI.Label(new Rect(50, 60, 100, 20), "LY " + OuyaInput.GetAxis(OuyaAxis.LY, observedPlayer)); GUI.Label(new Rect(250, 40, 100, 20), "RX " + OuyaInput.GetAxis(OuyaAxis.RX, observedPlayer)); GUI.Label(new Rect(250, 60, 100, 20), "RY " + OuyaInput.GetAxis(OuyaAxis.RY, observedPlayer)); GUI.Label(new Rect(50, 100, 200, 20), "LT " + OuyaInput.GetAxis(OuyaAxis.LT, observedPlayer)); GUI.Label(new Rect(50, 120, 200, 20), "RT " + OuyaInput.GetAxis(OuyaAxis.RT, observedPlayer)); GUI.Label(new Rect(250, 100, 200, 20), "LT-B " + OuyaInput.GetButton(OuyaButton.LT, observedPlayer)); GUI.Label(new Rect(250, 120, 200, 20), "RT-B " + OuyaInput.GetButton(OuyaButton.RT, observedPlayer)); GUI.Label(new Rect(50, 160, 100, 20), "DX " + OuyaInput.GetAxis(OuyaAxis.DX, observedPlayer)); GUI.Label(new Rect(50, 180, 100, 20), "DY " + OuyaInput.GetAxis(OuyaAxis.DY, observedPlayer)); GUI.Label(new Rect(50, 200, 100, 20), "L3 " + OuyaInput.GetButton(OuyaButton.L3, observedPlayer)); GUI.Label(new Rect(50, 220, 100, 20), "R3 " + OuyaInput.GetButton(OuyaButton.R3, observedPlayer)); GUI.Label(new Rect(250, 160, 100, 20), "DU-B " + OuyaInput.GetButton(OuyaButton.DU, observedPlayer)); GUI.Label(new Rect(250, 180, 100, 20), "DD-B " + OuyaInput.GetButton(OuyaButton.DD, observedPlayer)); GUI.Label(new Rect(250, 200, 100, 20), "DL-B " + OuyaInput.GetButton(OuyaButton.DL, observedPlayer)); GUI.Label(new Rect(250, 220, 100, 20), "DR-B " + OuyaInput.GetButton(OuyaButton.DR, observedPlayer)); GUI.Label(new Rect(250, 260, 200, 20), "LB " + OuyaInput.GetButton(OuyaButton.LB, observedPlayer)); GUI.Label(new Rect(250, 280, 200, 20), "RB " + OuyaInput.GetButton(OuyaButton.RB, observedPlayer)); GUI.Label(new Rect(50, 260, 100, 20), "O " + OuyaInput.GetButton(OuyaButton.O, observedPlayer)); GUI.Label(new Rect(50, 280, 100, 20), "U " + OuyaInput.GetButton(OuyaButton.U, observedPlayer)); GUI.Label(new Rect(50, 300, 100, 20), "Y " + OuyaInput.GetButton(OuyaButton.Y, observedPlayer)); GUI.Label(new Rect(50, 320, 100, 20), "A " + OuyaInput.GetButton(OuyaButton.A, observedPlayer)); GUI.Label(new Rect(50, 360, 100, 20), "SEL " + OuyaInput.GetButton(OuyaButton.SELECT, observedPlayer)); GUI.Label(new Rect(50, 380, 100, 20), "SYS " + OuyaInput.GetButton(OuyaButton.SYSTEM, observedPlayer)); GUI.Label(new Rect(50, 400, 100, 20), "START " + OuyaInput.GetButton(OuyaButton.START, observedPlayer)); GUI.Label(new Rect(50, 440, 600, 20), "JOY_L " + OuyaInput.GetJoystick(OuyaJoystick.LeftStick, observedPlayer)); GUI.Label(new Rect(50, 460, 600, 20), "JOY_R " + OuyaInput.GetJoystick(OuyaJoystick.RightStick, observedPlayer)); GUI.Label(new Rect(50, 480, 600, 20), "JOY_D " + OuyaInput.GetJoystick(OuyaJoystick.DPad, observedPlayer)); GUI.Label(new Rect(50, 520, 600, 20), "NAME " + OuyaInput.GetControllerName(observedPlayer)); GUI.Label(new Rect(50, 540, 600, 20), "TYPE " + OuyaInput.GetControllerType(observedPlayer)); } }
/* ----------------------------------------------------------------------------------- * UPDATE CYCLE */ public void Update() { /* UPDATE CONTROLERS */ // IMPORTANT! update the controllers here for best results OuyaInput.UpdateControllers(); /* GET VALUES FOR CONTROLLER AXES */ // left joystick float x_Axis_LeftStick = OuyaInput.GetAxis(OuyaAxis.LX, player); float y_Axis_LeftStick = OuyaInput.GetAxis(OuyaAxis.LY, player); // right joystick float x_Axis_RightStick = OuyaInput.GetAxis(OuyaAxis.RX, player); float y_Axis_RightStick = OuyaInput.GetAxis(OuyaAxis.RY, player); // d-pad float x_Axis_DPad = OuyaInput.GetAxis(OuyaAxis.DX, player); float y_Axis_DPad = OuyaInput.GetAxis(OuyaAxis.DY, player); // triggers float axis_LeftTrigger = OuyaInput.GetAxis(OuyaAxis.LT, player); float axis_RightTrigger = OuyaInput.GetAxis(OuyaAxis.RT, player); // examples for deadzone clipping (we can choose between three types) Vector2 leftStickInput = OuyaInput.CheckDeadzoneCircular(x_Axis_LeftStick, y_Axis_LeftStick, deadzone); Vector2 rightStickInput = OuyaInput.CheckDeadzoneRescaled(x_Axis_RightStick, y_Axis_RightStick, deadzone); Vector2 dPadInput = OuyaInput.CheckDeadzoneRescaled(x_Axis_DPad, y_Axis_DPad, deadzone); /* GET ADVANCED JOYSTICK AND TRIGGER INPUT WITH DEADZONE MAPPING */ // examples for easy (or precision) joystick input Vector2 leftJoystick = OuyaInput.GetJoystick(OuyaJoystick.LeftStick, player); Vector2 rightJoystick = OuyaInput.GetJoystick(OuyaJoystick.RightStick, player); Vector2 dPad = OuyaInput.GetJoystick(OuyaJoystick.DPad, player); // examples for easy (or precision) trigger input float leftTrigger = OuyaInput.GetTrigger(OuyaTrigger.Left, player); float rightTrigger = OuyaInput.GetTrigger(OuyaTrigger.Right, player); /* GET PRESSED STATES FOR CONTROLLER BUTTONS */ // O U Y A buttons bool pressed_O = OuyaInput.GetButton(OuyaButton.O, player); bool pressed_U = OuyaInput.GetButton(OuyaButton.U, player); bool pressed_Y = OuyaInput.GetButton(OuyaButton.Y, player); bool pressed_A = OuyaInput.GetButton(OuyaButton.A, player); // joystick click down buttons bool pressed_LeftStick = OuyaInput.GetButton(OuyaButton.L3, player); bool pressed_RightStick = OuyaInput.GetButton(OuyaButton.R3, player); // trigger buttons bool pressed_LeftTrigger = OuyaInput.GetButton(OuyaButton.LT, player); bool pressed_RightTrigger = OuyaInput.GetButton(OuyaButton.RT, player); //shoulder buttons bool pressed_LeftShoulder = OuyaInput.GetButton(OuyaButton.LB, player); bool pressed_RightShoulder = OuyaInput.GetButton(OuyaButton.RB, player); // center buttons bool pressed_Start = OuyaInput.GetButton(OuyaButton.START, player); bool pressed_Select = OuyaInput.GetButton(OuyaButton.SELECT, player); bool pressed_System = OuyaInput.GetButton(OuyaButton.SYSTEM, player); /* GET DOWN EVENTS FOR CONTROLLER BUTTONS */ // we need to have OuyaInput.SetContinuousScanning(true) in Start() // some controllers might work without this but we want to make sure if (continuousScan) { // O U Y A buttons bool down_O = OuyaInput.GetButtonDown(OuyaButton.O, player); bool down_U = OuyaInput.GetButtonDown(OuyaButton.U, player); bool down_Y = OuyaInput.GetButtonDown(OuyaButton.Y, player); bool down_A = OuyaInput.GetButtonDown(OuyaButton.A, player); // joystick click down buttons bool down_LeftStick = OuyaInput.GetButtonDown(OuyaButton.L3, player); bool down_RightStick = OuyaInput.GetButtonDown(OuyaButton.R3, player); // trigger buttons bool down_LeftTrigger = OuyaInput.GetButtonDown(OuyaButton.LT, player); bool down_RightTrigger = OuyaInput.GetButtonDown(OuyaButton.RT, player); //shoulder buttons bool down_LeftShoulder = OuyaInput.GetButtonDown(OuyaButton.LB, player); bool down_RightShoulder = OuyaInput.GetButtonDown(OuyaButton.RB, player); // center buttons bool down_Start = OuyaInput.GetButtonDown(OuyaButton.START, player); bool down_Select = OuyaInput.GetButtonDown(OuyaButton.SELECT, player); bool down_System = OuyaInput.GetButtonDown(OuyaButton.SYSTEM, player); } /* GET UP (RELEASE) EVENTS FOR CONTROLLER BUTTONS */ // we need to have OuyaInput.SetContinuousScanning(true) in Start() // some controllers might work without this but we want to make sure if (continuousScan) { // O U Y A buttons bool up_O = OuyaInput.GetButtonUp(OuyaButton.O, player); bool up_U = OuyaInput.GetButtonUp(OuyaButton.U, player); bool up_Y = OuyaInput.GetButtonUp(OuyaButton.Y, player); bool up_A = OuyaInput.GetButtonUp(OuyaButton.A, player); // joystick click down buttons bool up_LeftStick = OuyaInput.GetButtonUp(OuyaButton.L3, player); bool up_RightStick = OuyaInput.GetButtonUp(OuyaButton.R3, player); // trigger buttons bool up_LeftTrigger = OuyaInput.GetButtonUp(OuyaButton.LT, player); bool up_RightTrigger = OuyaInput.GetButtonUp(OuyaButton.RT, player); //shoulder buttons bool up_LeftShoulder = OuyaInput.GetButtonUp(OuyaButton.LB, player); bool up_RightShoulder = OuyaInput.GetButtonUp(OuyaButton.RB, player); // center buttons bool up_Start = OuyaInput.GetButtonUp(OuyaButton.START, player); bool up_Select = OuyaInput.GetButtonUp(OuyaButton.SELECT, player); bool up_System = OuyaInput.GetButtonUp(OuyaButton.SYSTEM, player); } }