public XboxController() { // Initialize Buttons Buttons = new XboxButton[14]; Buttons[0] = new XboxButton(OnButtonAPressed, OnButtonAReleased); Buttons[1] = new XboxButton(OnButtonBPressed, OnButtonBReleased); Buttons[2] = new XboxButton(OnButtonXPressed, OnButtonXReleased); Buttons[3] = new XboxButton(OnButtonYPressed, OnButtonYReleased); Buttons[4] = new XboxButton(OnButtonStartPressed, OnButtonStartReleased); Buttons[5] = new XboxButton(OnButtonBackPressed, OnButtonBackReleased); Buttons[6] = new XboxButton(OnButtonLeftShoulderPressed, OnButtonLeftShoulderReleased); Buttons[7] = new XboxButton(OnButtonRightShoulderPressed, OnButtonRightShoulderReleased); Buttons[8] = new XboxButton(OnThumbStickLeftPressed, OnThumbStickLeftReleased); Buttons[9] = new XboxButton(OnThumbStickRightPressed, OnThumbStickRightReleased); Buttons[10] = new XboxButton(OnDPadUpPressed, OnDPadUpReleased); Buttons[11] = new XboxButton(OnDPadDownPressed, OnDPadDownReleased); Buttons[12] = new XboxButton(OnDPadLeftPressed, OnDPadLeftReleased); Buttons[13] = new XboxButton(OnDPadRightPressed, OnDPadRightReleased); // Initialize Triggers Triggers = new XboxTrigger[2]; Triggers[0] = new XboxTrigger(OnTriggerLeftChanged); Triggers[1] = new XboxTrigger(OnTriggerRightChanged); // Initialize ThumbSticks ThumbSticks = new XboxThumbStick[2]; ThumbSticks[0] = new XboxThumbStick(OnThumbStickLeftChanged); ThumbSticks[1] = new XboxThumbStick(OnThumbStickRightChanged); Thread t = new Thread(x => { while (true) Listen(); }); t.Start(); }
/// <summary> /// Checks if the trigger has changed, returning true if it has, false otherwise. /// </summary> private bool CheckTrigger(float trigger, XboxTrigger Trigger) { if (Trigger == null) return false; if (trigger != Trigger.State) { Trigger.State = trigger; return true; } return false; }