/* Ċ Ġ* ĠThis ĠSource ĠCode ĠForm Ġis Ġsubject Ġto Ġthe Ġterms Ġof Ġthe ĠMozilla ĠPublic Ċ Ġ* ĠLicense , Ġv . Ġ 2 . 0 . ĠIf Ġa Ġcopy Ġof Ġthe ĠM PL Ġwas Ġnot Ġdistributed Ġwith Ġthis Ċ Ġ* Ġfile , ĠYou Ġcan Ġobtain Ġone Ġat Ġhttps :// mozilla . org / MPL / 2 . 0 /. Ċ Ġ* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 , ĠGreen ĠHope ĠF al cons Ċ Ġ*/ Ċ Ċ package Ġorg . gh robot ics . lib . commands Ċ Ċ import Ġedu . wpi . first . wp ilib j 2 . command . Sequential Command Group Ċ Ċ internal Ġobject ĠF alcon Subsystem Handler Ġ{ ĊĠĠĠ Ġprivate Ġval Ġregistered Sub systems Ġ= Ġarray ListOf < F alcon Subsystem >() ĊĠĠĠ Ġinternal Ġval Ġtest Command Ġ= ĠSequential Command Group () ĊĊĠĠĠ Ġfun Ġadd ( subsystem : ĠF alcon Subsystem ) Ġ{ ĊĠĠĠĠĠĠĠ Ġregistered Sub systems . add ( subsystem ) ĊĠĠĠĠĠĠĠ Ġtest Command . add Commands ( subsystem . check Subsystem ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġlate Init () Ġ= Ġregistered Sub systems . forEach Ġ{ Ġit . late Init () Ġ} ĊĠĠĠ Ġfun Ġauto Reset () Ġ= Ġregistered Sub systems . forEach Ġ{ Ġit . auto Reset () Ġ} ĊĠĠĠ Ġfun Ġtele op Reset () Ġ= Ġregistered Sub systems . forEach Ġ{ Ġit . tele op Reset () Ġ} ĊĠĠĠ Ġfun Ġset Neutral () Ġ= Ġregistered Sub systems . forEach Ġ{ Ġit . set Neutral () Ġ} Ċ } Ċ