package Ġf rc . team 5 3 3 3 . strong hold . core . systems Ċ Ċ import Ġf rc . team 5 3 3 3 . strong hold . core . control . Control Lease Ċ import Ġf rc . team 5 3 3 3 . strong hold . core . control . IO Ċ Ċ class ĠSh it take System Ġ{ ĊĊĠĠĠ Ġvar ĠLE ASE Ġ= ĠControl Lease ( this ) ĊĊĠĠĠ Ġenum Ġclass ĠAct uation Ġ{ ĊĠĠĠĠĠĠĠ ĠR AI SED , ĠLOWER ED , ĠUNKNOWN ; ĊĊĠĠĠĠĠĠĠ Ġfun Ġopposite (): ĠAct uation Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( this Ġ== ĠR AI SED ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠLOWER ED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSt ow Ġaway Ġby Ġdefault , Ġeven Ġif Ġunknown ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠR AI SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġlateinit Ġprivate Ġvar Ġlease _ instance : ĠControl Lease . Lease < Sh it take System > ĊĊĠĠĠ Ġfun Ġinit () Ġ{ ĊĠĠĠĠĠĠĠ Ġlease _ instance Ġ= ĠLE ASE . acquire ( Control Lease . Priority . NORMAL ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Act uation ( state : ĠAct uation ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( state Ġ== ĠAct uation . LOWER ED ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIO . sh it take _ lower . set ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIO . sh it take _ raise . set ( false ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĠĠĠĠĠĠĠ Ġ// ĠSt ow Ġaway Ġby Ġdefault Ġ( i . e . ĠR AI SED Ġor ĠUNKNOWN ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIO . sh it take _ lower . set ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIO . sh it take _ raise . set ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Act uation (): ĠAct uation Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġr Ġ= ĠIO . sh it take _ raise . get () ĊĠĠĠĠĠĠĠ Ġvar Ġl Ġ= ĠIO . sh it take _ lower . get () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( r Ġ&& Ġ! l ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠAct uation . RAI SED ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( l Ġ&& Ġ! r ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠAct uation . LOWER ED ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠAct uation . UNKNOWN ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Sh it take ( value : ĠDouble ) Ġ= ĠIO . set Sh it take ( value ) ĊĊĠĠĠ Ġfun Ġtick () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġjo ystick Ġ= ĠSystems . control . shoot Joystick () ĊĊĠĠĠĠĠĠĠ Ġvar Ġsh it take Ġ= Ġ 0 . 0 ĊĊĠĠĠĠĠĠĠ Ġif Ġ( jo ystick . isPresent ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġjo y Ġ= Ġjo ystick . get () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( joy . getRaw Button ( 3 )) ĠĠĠĠĠĠĠ Ġsh it take Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġif Ġ( joy . getRaw Button ( 4 )) ĠĠ Ġsh it take Ġ= Ġ- 1 . 0 ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( joy . pov Ġ== Ġ 0 Ġ|| Ġjo y . pov Ġ== Ġ 3 6 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠRaise ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Act uation ( Act uation . RAI SED ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( joy . pov Ġ== Ġ 1 8 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠLower ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Act uation ( Act uation . LOWER ED ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġlease _ instance . use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Sh it take ( sh it take ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }