package Ġcom . github . qu ill r aven . commons . input Ċ Ċ import Ġcom . badlogic . gdx . controllers . Controller Ċ import Ġcom . badlogic . gdx . controllers . Controller Listener Ċ import Ġcom . badlogic . gdx . controllers . Controllers Ċ Ċ interface ĠX box Input Processor Ġ: ĠController Listener Ġ{ ĊĠ Ġoverride Ġfun Ġconnected ( controller : ĠController ?) Ġ= ĠUnit ĊĊĠ Ġoverride Ġfun Ġdisconnected ( controller : ĠController ?) Ġ= ĠUnit ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠAdds Ġthis Ġinstance Ġas Ġa Ġ[ Controller Listener ] Ġto Ġthe Ġfirst ĠX 3 6 0 ĠController Ġthat Ġis Ġfound . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġadd X box Controller Listener () Ġ{ ĊĠĠĠ ĠCont rollers . get Controllers () ĊĠĠĠĠĠ Ġ. first OrNull Ġ{ ĠCONT ROLL ER _ NAME Ġ== Ġit . name Ġ} ĊĠĠĠĠĠ Ġ? . run Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġto Ġavoid Ġadding Ġthe Ġsame Ġlistener Ġtwice , Ġwe Ġwill Ġfirst Ġremove Ġit . ĊĠĠĠĠĠĠĠ Ġ// Ġunfortunately , Ġthere Ġis Ġno Ġ" contains " Ġmethod Ġthat Ġis Ġwhy Ġwe Ġdo Ġit Ġlike Ġthis . ĊĠĠĠĠĠĠĠ Ġremove Listener ( this @ X box Input Processor ) ĊĠĠĠĠĠĠĠ Ġadd Listener ( this @ X box Input Processor ) ĊĠĠĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠRemoves Ġthis Ġinstance Ġas Ġa Ġ[ Controller Listener ] Ġfrom Ġthe Ġfirst ĠX 3 6 0 ĠController Ġthat Ġis Ġfound . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġremove X box Controller Listener () Ġ{ ĊĠĠĠ ĠCont rollers . get Controllers () ĊĠĠĠĠĠ Ġ. first OrNull Ġ{ ĠCONT ROLL ER _ NAME Ġ== Ġit . name Ġ} ĊĠĠĠĠĠ Ġ? . remove Listener ( this ) ĊĠ Ġ} ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġprivate Ġconst Ġval ĠCONT ROLL ER _ NAME Ġ= Ġ" X 3 6 0 ĠController " ĊĊĠĠĠ Ġconst Ġval ĠBUTTON _ A Ġ= Ġ 0 ĊĠĠĠ Ġconst Ġval ĠBUTTON _ B Ġ= Ġ 1 ĊĠĠĠ Ġconst Ġval ĠBUTTON _ X Ġ= Ġ 2 ĊĠĠĠ Ġconst Ġval ĠBUTTON _ Y Ġ= Ġ 3 ĊĠĠĠ Ġconst Ġval ĠBUTTON _ SELECT Ġ= Ġ 4 ĊĠĠĠ Ġconst Ġval ĠBUTTON _ START Ġ= Ġ 6 ĊĠĠĠ Ġconst Ġval ĠBUTTON _ L Ġ= Ġ 9 ĊĠĠĠ Ġconst Ġval ĠBUTTON _ R Ġ= Ġ 1 0 ĊĠĠĠ Ġconst Ġval ĠBUTTON _ UP Ġ= Ġ 1 1 ĊĠĠĠ Ġconst Ġval ĠBUTTON _ RIGHT Ġ= Ġ 1 4 ĊĠĠĠ Ġconst Ġval ĠBUTTON _ DOWN Ġ= Ġ 1 2 ĊĠĠĠ Ġconst Ġval ĠBUTTON _ LEFT Ġ= Ġ 1 3 ĊĠĠĠ Ġconst Ġval ĠBUTTON _ TRIGGER _ L Ġ= Ġ 7 ĊĠĠĠ Ġconst Ġval ĠBUTTON _ TRIGGER _ R Ġ= Ġ 8 ĊĊĠĠĠ Ġconst Ġval ĠAX IS _ X _ LEFT Ġ= Ġ 0 ĊĠĠĠ Ġconst Ġval ĠAX IS _ Y _ LEFT Ġ= Ġ 1 ĊĠĠĠ Ġconst Ġval ĠAX IS _ X _ RIGHT Ġ= Ġ 2 ĊĠĠĠ Ġconst Ġval ĠAX IS _ Y _ RIGHT Ġ= Ġ 3 ĊĠĠĠ Ġconst Ġval ĠAX IS _ L 2 Ġ= Ġ 4 ĊĠĠĠ Ġconst Ġval ĠAX IS _ R 2 Ġ= Ġ 5 ĊĠ Ġ} Ċ } Ċ