/////////////////////////////////////////////////////////////////////////////////////////////// /// <summary> /// assigns the latest gamepad input to leftStick /// </summary> /// <param name="_event"></param> /////////////////////////////////////////////////////////////////////////////////////////////// void UpdateInput(EVENT_GAMEPAD_P1 _event) { leftStick = _event.gamepad.ls; }
/////////////////////////////////////////////////////////////////////////////////////////////// #endregion #region PRIVATE METHODS /////////////////////////////////////////////////////////////////////////////////////////////// void TestButtons(EVENT_GAMEPAD_P1 _event) { //y button y_status.text = _event.gamepad.y.Status.ToString(); y_value.text = _event.gamepad.y.XYValues.x.ToString("F2"); y_held.text = _event.gamepad.y.HeldDuration.ToString("F2"); y_inactive.text = _event.gamepad.y.InactiveDuration.ToString("F2"); //b button b_status.text = _event.gamepad.b.Status.ToString(); b_value.text = _event.gamepad.b.XYValues.x.ToString("F2"); b_held.text = _event.gamepad.b.HeldDuration.ToString("F2"); b_inactive.text = _event.gamepad.b.InactiveDuration.ToString("F2"); //a button a_status.text = _event.gamepad.a.Status.ToString(); a_value.text = _event.gamepad.a.XYValues.x.ToString("F2"); a_held.text = _event.gamepad.a.HeldDuration.ToString("F2"); a_inactive.text = _event.gamepad.a.InactiveDuration.ToString("F2"); //x button x_status.text = _event.gamepad.x.Status.ToString(); x_value.text = _event.gamepad.x.XYValues.x.ToString("F2"); x_held.text = _event.gamepad.x.HeldDuration.ToString("F2"); x_inactive.text = _event.gamepad.x.InactiveDuration.ToString("F2"); //select button select_status.text = _event.gamepad.select.Status.ToString(); select_value.text = _event.gamepad.select.XYValues.x.ToString("F2"); select_held.text = _event.gamepad.select.HeldDuration.ToString("F2"); select_inactive.text = _event.gamepad.select.InactiveDuration.ToString("F2"); //start button start_status.text = _event.gamepad.start.Status.ToString(); start_value.text = _event.gamepad.start.XYValues.x.ToString("F2"); start_held.text = _event.gamepad.start.HeldDuration.ToString("F2"); start_inactive.text = _event.gamepad.start.InactiveDuration.ToString("F2"); //lb lb_status.text = _event.gamepad.lb.Status.ToString(); lb_value.text = _event.gamepad.lb.XYValues.x.ToString("F2"); lb_held.text = _event.gamepad.lb.HeldDuration.ToString("F2"); lb_inactive.text = _event.gamepad.lb.InactiveDuration.ToString("F2"); //rb rb_status.text = _event.gamepad.rb.Status.ToString(); rb_value.text = _event.gamepad.rb.XYValues.x.ToString("F2"); rb_held.text = _event.gamepad.rb.HeldDuration.ToString("F2"); rb_inactive.text = _event.gamepad.rb.InactiveDuration.ToString("F2"); //lt lt_status.text = _event.gamepad.lt.Status.ToString(); lt_value.text = _event.gamepad.lt.XYValues.x.ToString("F2"); lt_raw.text = _event.gamepad.lt.XYRawValues.x.ToString("F2"); lt_held.text = _event.gamepad.lt.HeldDuration.ToString("F2"); lt_inactive.text = _event.gamepad.lt.InactiveDuration.ToString("F2"); //rt rt_status.text = _event.gamepad.rt.Status.ToString(); rt_value.text = _event.gamepad.rt.XYValues.x.ToString("F2"); rt_raw.text = _event.gamepad.rt.XYRawValues.x.ToString("F2"); rt_held.text = _event.gamepad.rt.HeldDuration.ToString("F2"); rt_inactive.text = _event.gamepad.rt.InactiveDuration.ToString("F2"); //dpad up up_status.text = _event.gamepad.dp_up.Status.ToString(); up_value.text = _event.gamepad.dp_up.XYValues.x.ToString("F2"); up_held.text = _event.gamepad.dp_up.HeldDuration.ToString("F2"); up_inactive.text = _event.gamepad.dp_up.InactiveDuration.ToString("F2"); //dpad right right_status.text = _event.gamepad.dp_right.Status.ToString(); right_value.text = _event.gamepad.dp_right.XYValues.x.ToString("F2"); right_held.text = _event.gamepad.dp_right.HeldDuration.ToString("F2"); right_inactive.text = _event.gamepad.dp_right.InactiveDuration.ToString("F2"); //dpad down down_status.text = _event.gamepad.dp_down.Status.ToString(); down_value.text = _event.gamepad.dp_down.XYValues.x.ToString("F2"); down_held.text = _event.gamepad.dp_down.HeldDuration.ToString("F2"); down_inactive.text = _event.gamepad.dp_down.InactiveDuration.ToString("F2"); //dpad left left_status.text = _event.gamepad.dp_left.Status.ToString(); left_value.text = _event.gamepad.dp_left.XYValues.x.ToString("F2"); left_held.text = _event.gamepad.dp_left.HeldDuration.ToString("F2"); left_inactive.text = _event.gamepad.dp_left.InactiveDuration.ToString("F2"); //l3 l3_status.text = _event.gamepad.l3.Status.ToString(); l3_value.text = _event.gamepad.l3.XYValues.x.ToString("F2"); l3_held.text = _event.gamepad.l3.HeldDuration.ToString("F2"); l3_inactive.text = _event.gamepad.l3.InactiveDuration.ToString("F2"); //ls ls_status.text = _event.gamepad.ls.Status.ToString(); ls_value.text = _event.gamepad.ls.XYValues.x.ToString("F2"); ls_held.text = _event.gamepad.ls.HeldDuration.ToString("F2"); ls_inactive.text = _event.gamepad.ls.InactiveDuration.ToString("F2"); ls_angle.text = _event.gamepad.ls.Angle.ToString(); ls_aa.text = _event.gamepad.ls.ArcadeAxis.ToString(); //r3 r3_status.text = _event.gamepad.r3.Status.ToString(); r3_value.text = _event.gamepad.r3.XYValues.x.ToString("F2"); r3_held.text = _event.gamepad.r3.HeldDuration.ToString("F2"); r3_inactive.text = _event.gamepad.r3.InactiveDuration.ToString("F2"); //ls rs_status.text = _event.gamepad.rs.Status.ToString(); rs_value.text = _event.gamepad.rs.XYValues.x.ToString("F2"); rs_held.text = _event.gamepad.rs.HeldDuration.ToString("F2"); rs_inactive.text = _event.gamepad.rs.InactiveDuration.ToString("F2"); rs_angle.text = _event.gamepad.rs.Angle.ToString(); rs_aa.text = _event.gamepad.rs.ArcadeAxis.ToString(); if (_event.gamepad.comboTracker != null) { InputData[] temp = new InputData[10]; _event.gamepad.comboTracker.CopyTo(temp, 0); for (int i = 0; i < 10; ++i) { if (temp[i] != null) { comboButtons[i].sprite = temp[i].IconXBox; } } } }
/////////////////////////////////////////////////////////////////////////////////////////////// #endregion #region PRIVATE METHODS /////////////////////////////////////////////////////////////////////////////////////////////// protected virtual void RespondToInput(EVENT_GAMEPAD_P1 _event) { switch (button) { case XBoxButtons.Y: if (_event.gamepad.y.Status == InputStatus.RELEASED) { OnReleased(_event.gamepad.y); } else if (_event.gamepad.y.Status == InputStatus.HELD) { OnHeld(_event.gamepad.y); } else if (_event.gamepad.y.Status == InputStatus.PRESSED) { OnPressed(_event.gamepad.y); } else { OnInactive(_event.gamepad.y); } break; case XBoxButtons.B: if (_event.gamepad.b.Status == InputStatus.RELEASED) { OnReleased(_event.gamepad.b); } else if (_event.gamepad.b.Status == InputStatus.HELD) { OnHeld(_event.gamepad.b); } else if (_event.gamepad.b.Status == InputStatus.PRESSED) { OnPressed(_event.gamepad.b); } else { OnInactive(_event.gamepad.b); } break; case XBoxButtons.A: if (_event.gamepad.a.Status == InputStatus.RELEASED) { OnReleased(_event.gamepad.a); } else if (_event.gamepad.a.Status == InputStatus.HELD) { OnHeld(_event.gamepad.a); } else if (_event.gamepad.a.Status == InputStatus.PRESSED) { OnPressed(_event.gamepad.a); } else { OnInactive(_event.gamepad.a); } break; case XBoxButtons.X: if (_event.gamepad.x.Status == InputStatus.RELEASED) { OnReleased(_event.gamepad.x); } else if (_event.gamepad.x.Status == InputStatus.HELD) { OnHeld(_event.gamepad.x); } else if (_event.gamepad.x.Status == InputStatus.PRESSED) { OnPressed(_event.gamepad.x); } else { OnInactive(_event.gamepad.x); } break; case XBoxButtons.SELECT: if (_event.gamepad.select.Status == InputStatus.RELEASED) { OnReleased(_event.gamepad.select); } else if (_event.gamepad.select.Status == InputStatus.HELD) { OnHeld(_event.gamepad.select); } else if (_event.gamepad.select.Status == InputStatus.PRESSED) { OnPressed(_event.gamepad.select); } else { OnInactive(_event.gamepad.select); } break; case XBoxButtons.START: if (_event.gamepad.start.Status == InputStatus.RELEASED) { OnReleased(_event.gamepad.start); } else if (_event.gamepad.start.Status == InputStatus.HELD) { OnHeld(_event.gamepad.start); } else if (_event.gamepad.start.Status == InputStatus.PRESSED) { OnPressed(_event.gamepad.start); } else { OnInactive(_event.gamepad.start); } break; case XBoxButtons.LT: if (_event.gamepad.lt.Status == InputStatus.RELEASED) { OnReleased(_event.gamepad.lt); } else if (_event.gamepad.lt.Status == InputStatus.HELD) { OnHeld(_event.gamepad.lt); } else if (_event.gamepad.lt.Status == InputStatus.PRESSED) { OnPressed(_event.gamepad.lt); } else { OnInactive(_event.gamepad.lt); } break; case XBoxButtons.RT: if (_event.gamepad.rt.Status == InputStatus.RELEASED) { OnReleased(_event.gamepad.rt); } else if (_event.gamepad.rt.Status == InputStatus.HELD) { OnHeld(_event.gamepad.rt); } else if (_event.gamepad.rt.Status == InputStatus.PRESSED) { OnPressed(_event.gamepad.rt); } else { OnInactive(_event.gamepad.rt); } break; case XBoxButtons.LB: if (_event.gamepad.lb.Status == InputStatus.RELEASED) { OnReleased(_event.gamepad.lb); } else if (_event.gamepad.lb.Status == InputStatus.HELD) { OnHeld(_event.gamepad.lb); } else if (_event.gamepad.lb.Status == InputStatus.PRESSED) { OnPressed(_event.gamepad.lb); } else { OnInactive(_event.gamepad.lb); } break; case XBoxButtons.RB: if (_event.gamepad.rb.Status == InputStatus.RELEASED) { OnReleased(_event.gamepad.rb); } else if (_event.gamepad.rb.Status == InputStatus.HELD) { OnHeld(_event.gamepad.rb); } else if (_event.gamepad.rb.Status == InputStatus.PRESSED) { OnPressed(_event.gamepad.rb); } else { OnInactive(_event.gamepad.rb); } break; case XBoxButtons.DP_UP: if (_event.gamepad.dp_up.Status == InputStatus.RELEASED) { OnReleased(_event.gamepad.dp_up); } else if (_event.gamepad.dp_up.Status == InputStatus.HELD) { OnHeld(_event.gamepad.dp_up); } else if (_event.gamepad.dp_up.Status == InputStatus.PRESSED) { OnPressed(_event.gamepad.dp_up); } else { OnInactive(_event.gamepad.dp_up); } break; case XBoxButtons.DP_RIGHT: if (_event.gamepad.dp_right.Status == InputStatus.RELEASED) { OnReleased(_event.gamepad.dp_right); } else if (_event.gamepad.dp_right.Status == InputStatus.HELD) { OnHeld(_event.gamepad.dp_right); } else if (_event.gamepad.dp_right.Status == InputStatus.PRESSED) { OnPressed(_event.gamepad.dp_right); } else { OnInactive(_event.gamepad.dp_right); } break; case XBoxButtons.DP_DOWN: if (_event.gamepad.dp_down.Status == InputStatus.RELEASED) { OnReleased(_event.gamepad.dp_down); } else if (_event.gamepad.start.Status == InputStatus.HELD) { OnHeld(_event.gamepad.dp_down); } else if (_event.gamepad.dp_down.Status == InputStatus.PRESSED) { OnPressed(_event.gamepad.dp_down); } else { OnInactive(_event.gamepad.dp_down); } break; case XBoxButtons.DP_LEFT: if (_event.gamepad.dp_left.Status == InputStatus.RELEASED) { OnReleased(_event.gamepad.dp_left); } else if (_event.gamepad.dp_left.Status == InputStatus.HELD) { OnHeld(_event.gamepad.dp_left); } else if (_event.gamepad.dp_left.Status == InputStatus.PRESSED) { OnPressed(_event.gamepad.dp_left); } else { OnInactive(_event.gamepad.dp_left); } break; case XBoxButtons.LS: if (_event.gamepad.ls.Status == InputStatus.RELEASED) { OnReleased(_event.gamepad.ls); } else if (_event.gamepad.ls.Status == InputStatus.HELD) { OnHeld(_event.gamepad.ls); } else if (_event.gamepad.ls.Status == InputStatus.PRESSED) { OnPressed(_event.gamepad.ls); } else { OnInactive(_event.gamepad.ls); } break; case XBoxButtons.RS: if (_event.gamepad.rs.Status == InputStatus.RELEASED) { OnReleased(_event.gamepad.rs); } else if (_event.gamepad.rs.Status == InputStatus.HELD) { OnHeld(_event.gamepad.rs); } else if (_event.gamepad.rs.Status == InputStatus.PRESSED) { OnPressed(_event.gamepad.rs); } else { OnInactive(_event.gamepad.rs); } break; case XBoxButtons.L3: if (_event.gamepad.l3.Status == InputStatus.RELEASED) { OnReleased(_event.gamepad.l3); } else if (_event.gamepad.l3.Status == InputStatus.HELD) { OnHeld(_event.gamepad.l3); } else if (_event.gamepad.l3.Status == InputStatus.PRESSED) { OnPressed(_event.gamepad.l3); } else { OnInactive(_event.gamepad.l3); } break; case XBoxButtons.R3: if (_event.gamepad.r3.Status == InputStatus.RELEASED) { OnReleased(_event.gamepad.r3); } else if (_event.gamepad.r3.Status == InputStatus.HELD) { OnHeld(_event.gamepad.r3); } else if (_event.gamepad.r3.Status == InputStatus.PRESSED) { OnPressed(_event.gamepad.r3); } else { OnInactive(_event.gamepad.r3); } break; default: break; } }