/* ĊĠĠĠ ĠTeam Ġ 5 8 9 3 ĠDirect ĠCurrent ĊĊĠĠĠ ĠAuthors : ĠMat thew ĠF an ĊĠĠĠ ĠDate ĠCreated : Ġ 2 0 1 7 - 1 1 - 0 2 ĊĊĠĠĠ ĠPlease Ġad here Ġto Ġthese Ġunits Ġwhen Ġworking Ġin Ġthis Ġproject : ĊĊĠĠĠ ĠTime : ĠM illiseconds ĊĠĠĠ ĠDistance : ĠCent ime ters ĊĠĠĠ ĠAngle : ĠDe grees Ġ( mat hematic al Ġorientation ) Ċ Ġ*/ Ċ @ file : Suppress (" Package Directory Mismatch ") Ċ package Ġorg . direct current . core . game controller ĊĊ Ċ import Ġcom . qual comm . robot core . hardware . Gamepad Ċ import Ġorg . first insp ires . ft c . robot controller . internal . Core . Utility . Toggle ĊĊ Ċ /** Ċ Ġ* ĠWrapper Ġclass Ġfor Ġthe Ġgame Ġp ads Ġin ĠOp Mode , Ġpack s Ġin Ġa Ġbunch Ġof Ġadditional Ġfunctionality Ċ Ġ* Ġsuch Ġas Ġdetect ing Ġbutton Ġp resses Ċ Ġ*/ Ċ @ Suppress (" unused ", Ġ" Private PropertyName ") Ċ class ĠController Ċ { ĊĠĠĠ Ġprivate Ġval Ġ_ INPUT _ BUFFER Ġ= Ġ. 1 5 ĊĊĠĠĠ Ġprivate Ġvar Ġ_ game Pad : ĠGame pad ? Ġ= Ġnull ĊĊĠĠĠ Ġ// ĠButton Ġtoggle Ġvariables ĊĠĠĠ Ġprivate Ġvar Ġ_ a Toggle Ġ= ĠToggle () ĊĠĠĠ Ġprivate Ġvar Ġ_ b Toggle Ġ= ĠToggle () ĊĠĠĠ Ġprivate Ġvar Ġ_ x Toggle Ġ= ĠToggle () ĊĠĠĠ Ġprivate Ġvar Ġ_ y Toggle Ġ= ĠToggle () ĊĊĠĠĠ Ġprivate Ġvar Ġ_ left Bump er Toggle Ġ= ĠToggle () ĊĠĠĠ Ġprivate Ġvar Ġ_ right Bump er Toggle Ġ= ĠToggle () ĊĊĠĠĠ Ġprivate Ġvar Ġ_ left Stick Button Toggle Ġ= ĠToggle () ĊĠĠĠ Ġprivate Ġvar Ġ_ right Stick Button Toggle Ġ= ĠToggle () ĊĊĠĠĠ Ġprivate Ġvar Ġ_ d Up Toggle Ġ= ĠToggle () ĊĠĠĠ Ġprivate Ġvar Ġ_ d Down Toggle Ġ= ĠToggle () ĊĠĠĠ Ġprivate Ġvar Ġ_ d Left Toggle Ġ= ĠToggle () ĊĠĠĠ Ġprivate Ġvar Ġ_ d Right Toggle Ġ= ĠToggle () ĊĊĊĠĠĠ Ġprivate Ġvar Ġ_ re ceiving Input Ġ= Ġfalse ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReads Ġinput Ġfrom Ġa Ġgame Ġpad , Ġcall Ġthis Ġin Ġevery Ġiteration Ġof Ġyour ĠOp Mode Ġloop . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġread ( GAME _ PAD : ĠGame pad ) ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ game Pad Ġ= ĠGAME _ PAD ĊĠĠĠĠĠĠĠ Ġ_ re ceiving Input Ġ= Ġfalse ĠĠĠĠ Ġ// ĠAssume Ġat Ġfirst Ġno Ġinput Ġis Ġsent Ġto Ġthe Ġcontroller ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġwhether Ġthe Ġ" a " Ġbutton Ġis Ġcurrently Ġpressed Ġor Ġnot ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġa (): ĠBoolean ? ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ re ceiving Input Ġ= Ġ_ re ceiving Input Ġ|| Ġ_ game Pad !!. a ĊĠĠĠĠĠĠĠ Ġreturn Ġ_ game Pad ?. a ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġwhether Ġthe Ġ" a " Ġbutton Ġhas Ġbeen Ġfully Ġclicked Ġ( up Ġand Ġdown ) Ġor Ġnot ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġa Clicked (): ĠBoolean ? ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ_ a Toggle . is Pressed (_ game Pad !!. a ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġwhether Ġthe Ġ" b " Ġbutton Ġis Ġcurrently Ġpressed Ġor Ġnot ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġb (): ĠBoolean ? ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ re ceiving Input Ġ= Ġ_ re ceiving Input Ġ|| Ġ_ game Pad !!. b ĊĠĠĠĠĠĠĠ Ġreturn Ġ_ game Pad ?. b ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġwhether Ġthe Ġ" b " Ġbutton Ġhas Ġbeen Ġfully Ġclicked Ġ( up Ġand Ġdown ) Ġor Ġnot ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġb Clicked (): ĠBoolean ? ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ_ b Toggle . is Pressed (_ game Pad !!. b ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġwhether Ġthe Ġ" b " Ġbutton Ġis Ġcurrently Ġpressed Ġor Ġnot ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġx (): ĠBoolean ? ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ re ceiving Input Ġ= Ġ_ re ceiving Input Ġ|| Ġ_ game Pad !!. x ĊĠĠĠĠĠĠĠ Ġreturn Ġ_ game Pad ?. x ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġwhether Ġthe Ġ" x " Ġbutton Ġhas Ġbeen Ġfully Ġclicked Ġ( up Ġand Ġdown ) Ġor Ġnot ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġx Clicked (): ĠBoolean ? ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ_ x Toggle . is Pressed (_ game Pad !!. x ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġwhether Ġthe Ġ" b " Ġbutton Ġis Ġcurrently Ġpressed Ġor Ġnot ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġy (): ĠBoolean ? ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ re ceiving Input Ġ= Ġ_ re ceiving Input Ġ|| Ġ_ game Pad !!. y ĊĠĠĠĠĠĠĠ Ġreturn Ġ_ game Pad ?. y ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġwhether Ġthe Ġ" y " Ġbutton Ġhas Ġbeen Ġfully Ġclicked Ġ( up Ġand Ġdown ) Ġor Ġnot ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġy Clicked (): ĠBoolean ? ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ_ y Toggle . is Pressed (_ game Pad !!. y ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġwhether Ġthe Ġleft Ġbump er Ġis Ġcurrently Ġpressed Ġor Ġnot ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġleft Bump er (): ĠBoolean ? ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ re ceiving Input Ġ= Ġ_ re ceiving Input Ġ|| Ġ_ game Pad !!. left _ bump er ĊĠĠĠĠĠĠĠ Ġreturn Ġ_ game Pad ?. left _ bump er ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġwhether Ġthe Ġleft Ġbump er Ġhas Ġbeen Ġfully Ġclicked Ġ( up Ġand Ġdown ) Ġor Ġnot ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġleft Bump er Clicked (): ĠBoolean ? ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ_ left Bump er Toggle . is Pressed (_ game Pad !!. left _ bump er ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġwhether Ġthe Ġright Ġbump er Ġis Ġcurrently Ġpressed Ġor Ġnot ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġright Bump er (): ĠBoolean ? ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ re ceiving Input Ġ= Ġ_ re ceiving Input Ġ|| Ġ_ game Pad !!. right _ bump er ĊĠĠĠĠĠĠĠ Ġreturn Ġ_ game Pad ?. right _ bump er ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġwhether Ġthe Ġright Ġbump er Ġhas Ġbeen Ġfully Ġclicked Ġ( up Ġand Ġdown ) Ġor Ġnot ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġright Bump er Clicked (): ĠBoolean ? ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ_ right Bump er Toggle . is Pressed (_ game Pad !!. right _ bump er ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġwhether Ġthe Ġleft Ġstick Ġbutton Ġis Ġcurrently Ġpressed Ġor Ġnot ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġleft Stick Button (): ĠBoolean ? ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ re ceiving Input Ġ= Ġ_ re ceiving Input Ġ|| Ġ_ game Pad !!. left _ stick _ button ĊĠĠĠĠĠĠĠ Ġreturn Ġ_ game Pad ?. left _ stick _ button ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġwhether Ġthe Ġleft Ġstick Ġbutton Ġhas Ġbeen Ġfully Ġclicked Ġ( up Ġand Ġdown ) Ġor Ġnot ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġleft Stick Button Clicked (): ĠBoolean ? ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ_ left Stick Button Toggle . is Pressed (_ game Pad !!. left _ stick _ button ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġwhether Ġthe Ġright Ġstick Ġbutton Ġis Ġcurrently Ġpressed Ġor Ġnot ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġright Stick Button (): ĠBoolean ? ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ re ceiving Input Ġ= Ġ_ re ceiving Input Ġ|| Ġ_ game Pad !!. right _ stick _ button ĊĠĠĠĠĠĠĠ Ġreturn Ġ_ game Pad ?. right _ stick _ button ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġwhether Ġthe Ġright Ġstick Ġbutton Ġhas Ġbeen Ġfully Ġclicked Ġ( up Ġand Ġdown ) Ġor Ġnot ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġright Stick Button Clicked (): ĠBoolean ? ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ_ right Stick Button Toggle . is Pressed (_ game Pad !!. right _ stick _ button ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġwhether Ġthe Ġd pad Ġup Ġbutton Ġis Ġcurrently Ġpressed Ġor Ġnot ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġd Up (): ĠBoolean ? ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ re ceiving Input Ġ= Ġ_ re ceiving Input Ġ|| Ġ_ game Pad !!. dp ad _ up ĊĠĠĠĠĠĠĠ Ġreturn Ġ_ game Pad !!. dp ad _ up ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġwhether Ġthe Ġd pad Ġup Ġbutton Ġhas Ġbeen Ġfully Ġclicked Ġ( up Ġand Ġdown ) Ġor Ġnot ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġd Up Clicked (): ĠBoolean ? ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ_ d Up Toggle . is Pressed (_ game Pad !!. dp ad _ up ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġwhether Ġthe Ġd pad Ġdown Ġbutton Ġis Ġcurrently Ġpressed Ġor Ġnot ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġd Down (): ĠBoolean ? ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ re ceiving Input Ġ= Ġ_ re ceiving Input Ġ|| Ġ_ game Pad !!. dp ad _ down ĊĠĠĠĠĠĠĠ Ġreturn Ġ_ game Pad !!. dp ad _ down ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġwhether Ġthe Ġd pad Ġdown Ġbutton Ġhas Ġbeen Ġfully Ġclicked Ġ( up Ġand Ġdown ) Ġor Ġnot ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġd Down Clicked (): ĠBoolean ? ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ_ d Down Toggle . is Pressed (_ game Pad !!. dp ad _ down ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġwhether Ġthe Ġd pad Ġleft Ġbutton Ġis Ġcurrently Ġpressed Ġor Ġnot ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġd Left (): ĠBoolean ? ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ re ceiving Input Ġ= Ġ_ re ceiving Input Ġ|| Ġ_ game Pad !!. dp ad _ left ĊĠĠĠĠĠĠĠ Ġreturn Ġ_ game Pad !!. dp ad _ left ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġwhether Ġthe Ġd pad Ġleft Ġbutton Ġhas Ġbeen Ġfully Ġclicked Ġ( up Ġand Ġdown ) Ġor Ġnot ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġd Left Clicked (): ĠBoolean ? ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ_ d Left Toggle . is Pressed (_ game Pad !!. dp ad _ left ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġwhether Ġthe Ġd pad Ġright Ġbutton Ġis Ġcurrently Ġpressed Ġor Ġnot ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġd Right (): ĠBoolean ? ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ re ceiving Input Ġ= Ġ_ re ceiving Input Ġ|| Ġ_ game Pad !!. dp ad _ right ĊĠĠĠĠĠĠĠ Ġreturn Ġ_ game Pad !!. dp ad _ right ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġwhether Ġthe Ġd pad Ġright Ġbutton Ġhas Ġbeen Ġfully Ġclicked Ġ( up Ġand Ġdown ) Ġor Ġnot ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġd Right Clicked (): ĠBoolean ? ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ_ d Right Toggle . is Pressed (_ game Pad !!. dp ad _ right ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthe Ġvalue Ġof Ġthe Ġleft Ġstick , Ġx Ġvalue ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġleft X (): ĠDouble ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ re ceiving Input Ġ= Ġ_ re ceiving Input Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMath . abs (_ game Pad ?. left _ stick _ x !!. toDouble ()) Ġ>= Ġ_ INPUT _ BUFFER ĊĊĠĠĠĠĠĠĠ Ġreturn Ġ_ game Pad ?. left _ stick _ x !!. toDouble () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthe Ġvalue Ġof Ġthe Ġleft Ġstick , Ġy Ġvalue ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġleft Y (): ĠDouble ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ re ceiving Input Ġ= Ġ_ re ceiving Input Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMath . abs (_ game Pad ?. left _ stick _ y !!. toDouble ()) Ġ>= Ġ_ INPUT _ BUFFER ĊĊĠĠĠĠĠĠĠ Ġreturn Ġ_ game Pad ?. left _ stick _ y !!. toDouble () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthe Ġvalue Ġof Ġthe Ġright Ġstick , Ġx Ġvalue ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġright X (): ĠDouble ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ re ceiving Input Ġ= Ġ_ re ceiving Input Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMath . abs (_ game Pad ?. right _ stick _ x !!. toDouble ()) Ġ>= Ġ_ INPUT _ BUFFER ĊĊĠĠĠĠĠĠĠ Ġreturn Ġ_ game Pad ?. right _ stick _ x !!. toDouble () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthe Ġvalue Ġof Ġthe Ġright Ġstick , Ġy Ġvalue ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġright Y (): ĠDouble ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ re ceiving Input Ġ= Ġ_ re ceiving Input Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMath . abs (_ game Pad ?. right _ stick _ y !!. toDouble ()) Ġ>= Ġ_ INPUT _ BUFFER ĊĊĠĠĠĠĠĠĠ Ġreturn Ġ_ game Pad ?. right _ stick _ y !!. toDouble () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthe Ġvalue Ġof Ġthe Ġleft Ġtrigger ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġleft Trigger (): ĠDouble ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ re ceiving Input Ġ= Ġ_ re ceiving Input Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMath . abs (_ game Pad ?. left _ trigger !!. toDouble ()) Ġ>= Ġ_ INPUT _ BUFFER ĊĊĠĠĠĠĠĠĠ Ġreturn Ġ_ game Pad ?. left _ trigger !!. toDouble () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthe Ġvalue Ġof Ġthe Ġright Ġtrigger ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġright Trigger (): ĠDouble ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ re ceiving Input Ġ= Ġ_ re ceiving Input Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMath . abs (_ game Pad ?. right _ trigger !!. toDouble ()) Ġ>= Ġ_ INPUT _ BUFFER ĊĊĠĠĠĠĠĠĠ Ġreturn Ġ_ game Pad ?. right _ trigger !!. toDouble () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġwhether Ġor Ġnot Ġthe Ġcontroller Ġis Ġreceiving Ġinput ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġreceiving Input (): ĠBoolean Ġ= Ġ_ re ceiving Input Ċ }