package Ġmm ori hi ro . match land . view Ċ Ċ import Ġcom . badlogic . gdx . G dx Ċ import Ġcom . badlogic . gdx . graphics . Color Ċ import Ġcom . badlogic . gdx . scenes . scene 2 d . Stage Ċ import Ġcom . badlogic . gdx . scenes . scene 2 d . actions . Actions Ċ import Ġcom . badlogic . gdx . scenes . scene 2 d . ui . Label Ċ import Ġk tx . actors . onClick Ċ import Ġk tx . actors . plus Ċ import Ġk tx . actors . then Ċ import Ġk tx . scene 2 d . Scene 2 DS kin Ċ import Ġmm ori hi ro . match land . controller . P uzzle Controller Ċ import Ġmm ori hi ro . match land . controller . Score Controller Ċ import Ġmm ori hi ro . match land . controller . Stage Change Controller Ċ import Ġmm ori hi ro . match land . controller . Stage Change Effect Ċ import Ġmm ori hi ro . match land . model . Config Model Ċ import Ġmm ori hi ro . match land . model . ItemType Ċ import Ġmm ori hi ro . match land . model . Values ĊĊ Ċ class ĠStage View ( private Ġval Ġon Home : Ġ() Ġ-> ĠUnit , Ġprivate Ġval Ġtop : ĠView ) Ġ: ĠView () Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġcurrent Views : ĠList < View > Ġ= Ġcreate View () ĊĠĠĠ Ġprivate Ġval Ġlabel Ġ= ĠLabel (" Lv Ġ${ Config Model . config . stage Number }", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠScene 2 DS kin . default Skin , Ġ" default - font 2 ", ĠColor . WHITE ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġx Ġ= Ġ 4 4 f ĊĠĠĠĠĠĠĠ Ġy Ġ= ĠValues . height Ġ- Ġ 3 7 f ĊĠĠĠĠĠĠĠ Ġthis @ Stage View Ġ+ Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate View (): ĠList < View > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfig Ġ= ĠConfig Model . config ĊĠĠĠĠĠĠĠ Ġval Ġbar Controller Ġ= ĠScore Controller ({ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConfig Model . on Stage Change () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġclear View Ġ= ĠStage Change Controller (" Stage ĠCompleted !") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG dx . input . input Processor Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStage Change Effect (). add Effect ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ġ+ Ġ( Actions . delay ( 0 . 9 f ) Ġthen ĠActions . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlabel . setText (" Lv Ġ${ Config Model . config . stage Number }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Views Ġ= Ġcreate View () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. view ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG dx . input . input Processor Ġ= Ġclear View ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Views Ġ+= Ġclear View ĊĠĠĠĠĠĠĠ Ġ}, Ġconfig . stage Number ) ĊĠĠĠĠĠĠĠ Ġval Ġbar View Ġ= Ġbar Controller . view ĊĠĠĠĠĠĠĠ Ġval Ġenemy Type Ġ= ĠItem Type . values () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Not Ġ{ Ġit Ġ== Ġconfig . item Type Ġ|| Ġit Ġ== ĠItem Type . WATER Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. let Ġ{ Ġit [ config . stage Number Ġ% Ġ 3 ] Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġpuzzle View Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠP uzzle Controller ( bar Controller :: percent Effect , Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpause View Ġ= Ġbuild Pause View () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG dx . input . input Processor Ġ= Ġpause View ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Views Ġ+= Ġpause View ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġenemy Type ). view ĊĠĠĠĠĠĠĠ ĠG dx . input . input Processor Ġ= Ġpuzzle View ĊĠĠĠĠĠĠĠ Ġreturn ĠlistOf ( pu zzle View , Ġbar View ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġbuild Pause View (): ĠPause View Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPause View (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresume Button . onClick Ġ{ Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Views Ġ-= Ġcurrent Views . last () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG dx . input . input Processor Ġ= Ġcurrent Views . first () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreset Button . onClick Ġ{ Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG dx . input . input Processor Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStage Change Effect (). add Effect ( this @ Stage View ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Stage View Ġ+ Ġ( Actions . delay ( 0 . 9 f ) Ġthen ĠActions . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Views Ġ= Ġcreate View () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhome Button . onClick Ġ{ Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG dx . input . input Processor Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStage Change Effect (). add Effect ( top ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ+ Ġ( Actions . delay ( 0 . 9 f ) Ġthen ĠActions . run Ġ{ Ġon Home () Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdraw () Ġ{ ĊĠĠĠĠĠĠĠ Ġcurrent Views . forEach ( Stage :: draw ) ĊĠĠĠĠĠĠĠ Ġsuper . draw () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġact ( delta : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . act ( delta ) ĊĠĠĠĠĠĠĠ Ġcurrent Views . forEach Ġ{ Ġit . act ( delta ) Ġ} ĊĠĠĠ Ġ} Ċ }