package Ġnet . ro lod oph one . cov ids im Ċ Ċ import Ġandroid . graphics . Rect F Ċ import Ġandroid . media . Audio Manager Ċ import Ġandroid . media . Sound Pool Ċ import Ġcom . google . android . ex op layer 2 . Player Ċ import Ġcom . google . android . ex op layer 2 . Simple Exo Player Ċ import Ġnet . ro lod oph one . core .* Ċ Ċ class ĠGame Window ( ctx : ĠMainActivity Core , Ġloading Window : ĠLoading Window ) Ġ: ĠLoad able Window ( ctx , Ġloading Window ) Ġ{ ĊĠĠĠ Ġvar Ġdead Ġ= Ġfalse ĊĠĠĠ Ġvar Ġv ictor ious Ġ= Ġfalse ĊĊĠĠĠ Ġval Ġsound Pool Ġ= ĠSound Pool ( 1 0 , ĠAudio Manager . STREAM _ M US IC , Ġ 0 ) ĊĠĠĠ Ġval Ġex op layer Ġ= ĠSimple Exo Player . Builder ( ctx ). build () ĊĠĠĠ Ġprivate Ġval Ġground work Ġ= Ġctx . music . load ( R . raw . ground work ) ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġsound Pool . setOn Load Complete Listener Ġ{ Ġ_, Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġloading Window . count Down () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġex op layer . addListener ( object Ġ: ĠPlayer . EventListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Loading Changed ( isLoading : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! isLoading ) Ġloading Window . count Down () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġex op layer . repeat Mode Ġ= ĠPlayer . REPEAT _ MODE _ ONE ĊĠĠĠĠĠĠĠ Ġex op layer . prepare ( ground work ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġjo ystick Ġ= ĠJo ystick ( this ) ĊĠĠĠ Ġval Ġtiles Ġ= ĠT iles ( this ) ĊĠĠĠ Ġval Ġplayer Ġ= ĠPlayer ( this ) ĊĠĠĠ Ġval Ġpeople Ġ= ĠPeople ( this ) ĊĠĠĠ Ġval Ġcamera Ġ= ĠCamera ( this ) ĊĠĠĠ Ġval Ġdebug Ġ= ĠDebug ( this ) ĊĠĠĠ Ġval Ġarrow Ġ= ĠArrow ( this ) ĊĠĠĠ Ġval Ġdeath Warning Ġ= ĠDe ath Warning ( this ) ĊĊĠĠĠ Ġval Ġdeath Message Ġ= ĠDe ath Message ( this ) ĊĠĠĠ Ġval Ġv ictory Message Ġ= ĠV ictory Message ( this ) ĊĠĠĠ Ġval Ġretry Button Ġ= ĠButton ( Rect F ( 0 f , Ġ 0 f , Ġwidth , Ġheight )) Ġ{ ĊĠĠĠĠĠĠĠ Ġex op layer . release () ĊĠĠĠĠĠĠĠ Ġctx . active Window Ġ= ĠGame Loading Window ( ctx ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġseek ables Ġ= ĠlistOf ( jo ystick ) ĊĠĠĠ Ġoverride Ġval Ġup Buttons Ġ= Ġmutable ListOf ( retry Button ) ĊĊĠĠĠ Ġoverride Ġfun ĠonLoad () Ġ{ ĊĠĠĠĠĠĠĠ Ġex op layer . play When Ready Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate () Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdead Ġ|| Ġv ictor ious Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġretry Button . update () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . update () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpeople . update () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjo ystick . update () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdebug . update () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcamera . update () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarrow . update () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdraw () Ġ{ ĊĠĠĠĠĠĠĠ Ġcanvas . draw RGB ( 0 , Ġ 0 , Ġ 0 ) ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdead Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdeath Message . draw () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġretry Button . draw () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġv ictor ious Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv ictory Message . draw () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġretry Button . draw () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . save () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcamera . apply Shift () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtiles . draw () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . draw () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpeople . draw () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarrow . draw Target () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . restore () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarrow . draw () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdeath Warning . draw () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjo ystick . draw () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdebug . draw () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }