package Ġcom . element alg . min ig ame . screens čĊč Ċ import Ġcom . badlogic . gdx . G dx č Ċ import Ġcom . badlogic . gdx . audio . Music č Ċ import Ġcom . badlogic . gdx . graphics . Color č Ċ import Ġcom . badlogic . gdx . graphics . g 2 d . Bitmap Font č Ċ import Ġcom . badlogic . gdx . graphics . g 2 d . Texture Atlas č Ċ import Ġcom . badlogic . gdx . math . Vector 2 č Ċ import Ġcom . badlogic . gdx . scenes . scene 2 d . Input Event č Ċ import Ġcom . badlogic . gdx . scenes . scene 2 d . Stage č Ċ import Ġcom . badlogic . gdx . scenes . scene 2 d . ui . Button č Ċ import Ġcom . badlogic . gdx . scenes . scene 2 d . ui . Label č Ċ import Ġcom . badlogic . gdx . scenes . scene 2 d . utils . ClickListener č Ċ import Ġcom . badlogic . gdx . scenes . scene 2 d . utils . Texture Region Drawable č Ċ import Ġcom . badlogic . gdx . utils . Align č Ċ import Ġcom . badlogic . gdx . utils . viewport . Fit Viewport č Ċ import Ġcom . element alg . client . managers . Locale Manager č Ċ import Ġcom . element alg . client . managers . Screen Manager č Ċ import Ġcom . element alg . min ig ame . Game č Ċ import Ġcom . element alg . min ig ame . world . Basic Listener čĊč Ċ class ĠRestart Window ( private Ġval Ġgame : ĠGame , Ġmain Screen : ĠMain Screen , Ġrestart Listener : ĠBasic Listener ) Ġ{ čĊĠĠĠ Ġprivate Ġclass ĠRestart Button Listener ( čĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġrestart Window : ĠRestart Window , čĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġrestart Listener : ĠBasic Listener čĊĠĠĠ Ġ) Ġ: ĠClick Listener () Ġ{ čĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġclicked ( event : ĠInput Event ?, Ġx : ĠFloat , Ġy : ĠFloat ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġrestart Window . hide () čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġrestart Listener . handle () čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . clicked ( event , Ġx , Ġy ) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġprivate Ġclass ĠBack Button Listener ( čĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġrestart Window : ĠRestart Window , Ġprivate Ġval Ġscreen Manager : ĠScreen Manager , čĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġmain Screen : ĠMain Screen čĊĠĠĠ Ġ) Ġ: čĊĠĠĠĠĠĠĠ ĠClick Listener () Ġ{ čĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġclicked ( event : ĠInput Event ?, Ġx : ĠFloat , Ġy : ĠFloat ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġrestart Window . hide () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġscreen Manager . setActive Screen ( main Screen ) čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . clicked ( event , Ġx , Ġy ) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġprivate Ġval Ġactors Viewport : ĠFit Viewport Ġ= ĠFit Viewport ( 1 0 2 4 f , Ġ 1 0 2 4 f ) čĊĠĠĠ Ġprivate Ġval Ġstage : ĠStage Ġ= ĠStage ( actors Viewport ) čĊčĊĠĠĠ Ġprivate Ġval Ġrestart Button Listener : ĠRestart Button Listener Ġ= ĠRestart Button Listener ( čĊĠĠĠĠĠĠĠ Ġthis , čĊĠĠĠĠĠĠĠ Ġrestart Listener čĊĠĠĠ Ġ) čĊĠĠĠ Ġprivate Ġval Ġback Button Listener : ĠBack Button Listener Ġ= ĠBack Button Listener ( čĊĠĠĠĠĠĠĠ Ġthis , Ġgame . get Screen Manager (), čĊĠĠĠĠĠĠĠ Ġmain Screen čĊĠĠĠ Ġ) čĊčĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġrestart Button : ĠButton čĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġback Button : ĠButton čĊčĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġscore Title : ĠLabel čĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġscore Value : ĠLabel čĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġscore Message : ĠLabel čĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġscore Message Provider : ĠScore Message Provider čĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġscore Fire works : ĠScore Fire works čĊčĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġhigh Score Music : ĠMusic čĊčĊĠĠĠ Ġprivate Ġvar Ġwas High Score Music Playing : ĠBoolean Ġ= Ġfalse čĊčĊĠĠĠ Ġfun Ġcreate () Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġdependency Manager Ġ= Ġgame . get Dependency Manager () čĊčĊĠĠĠĠĠĠĠ Ġcheck ( dependency Manager . is Dependency Available ( DEPEND ENCY _ NAME )) Ġ{ Ġ"' $ DEPEND ENCY _ NAME ' Ġis Ġnot Ġloaded Ġyet ." Ġ} čĊčĊĠĠĠĠĠĠĠ Ġval Ġassets : ĠHashMap < String , ĠAny > Ġ= Ġdependency Manager . retrieve Assets ( DEPEND ENCY _ NAME ) čĊčĊĠĠĠĠĠĠĠ Ġcheck ( assets . containsKey ( WIDGET _ AT LAS )) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Main Ġscreen Ġdependency Ġ'$ WIDGET _ AT LAS ' Ġis Ġnot Ġsolved ." čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġval Ġatlas : ĠTexture Atlas Ġ= Ġassets [ WIDGET _ AT LAS ] Ġas ĠTexture Atlas čĊčĊĠĠĠĠĠĠĠ Ġrestart Button Ġ= ĠButton ( Texture Region Drawable ( atlas . find Region (" Restart Button "))) čĊĠĠĠĠĠĠĠ Ġrestart Button . setSize ( 3 7 1 f , Ġ 3 2 1 f ) čĊĠĠĠĠĠĠĠ Ġrestart Button . setPosition ( 3 2 7 f , Ġ 3 5 1 f , ĠAlign . bottom Left ) čĊčĊĠĠĠĠĠĠĠ Ġback Button Ġ= ĠButton ( Texture Region Drawable ( atlas . find Region (" Back Button "))) čĊĠĠĠĠĠĠĠ Ġback Button . setSize ( 1 2 5 f , Ġ 1 0 9 f ) čĊĠĠĠĠĠĠĠ Ġback Button . setPosition ( 6 9 8 f , Ġ 2 9 6 f , ĠAlign . bottom Left ) čĊčĊĠĠĠĠĠĠĠ Ġval Ġscore Text Font : ĠBitmap Font Ġ= Ġassets [ SCORE _ TEXT _ FONT ] Ġas ĠBitmap Font čĊĠĠĠĠĠĠĠ Ġval Ġscore Value Font : ĠBitmap Font Ġ= Ġassets [ SCORE _ VALUE _ FONT ] Ġas ĠBitmap Font čĊčĊĠĠĠĠĠĠĠ Ġval Ġscore TextStyle : ĠLabel . Label Style Ġ= ĠLabel . Label Style ( score Text Font , ĠColor ( 0 x 2 9 E FFFF F )) čĊĠĠĠĠĠĠĠ Ġval Ġscore Value Style : ĠLabel . Label Style Ġ= ĠLabel . Label Style ( score Value Font , ĠColor ( 0 . 6 f , Ġ 0 . 9 7 f , Ġ 1 f , Ġ 1 f )) čĊčĊĠĠĠĠĠĠĠ Ġscore Title Ġ= ĠLabel ("", Ġscore TextStyle ) čĊĠĠĠĠĠĠĠ Ġscore Title . set Alignment ( Align . center , ĠAlign . center ) čĊĠĠĠĠĠĠĠ Ġscore Title . setSize ( 8 2 4 f , Ġ 8 4 f ) čĊĠĠĠĠĠĠĠ Ġscore Title . setPosition ( 1 0 0 f , Ġ 9 0 6 f , ĠAlign . bottom Left ) čĊĠĠĠĠĠĠĠ Ġscore Value Ġ= ĠLabel ("", Ġscore Value Style ) čĊĠĠĠĠĠĠĠ Ġscore Value . set Alignment ( Align . center , ĠAlign . center ) čĊĠĠĠĠĠĠĠ Ġscore Value . setSize ( 8 2 4 f , Ġ 8 4 f ) čĊĠĠĠĠĠĠĠ Ġscore Value . setPosition ( 1 0 0 f , Ġ 7 6 6 f , ĠAlign . bottom Left ) čĊĠĠĠĠĠĠĠ Ġscore Message Ġ= ĠLabel ("", Ġscore TextStyle ) čĊĠĠĠĠĠĠĠ Ġscore Message . set Alignment ( Align . center , ĠAlign . center ) čĊĠĠĠĠĠĠĠ Ġscore Message . setSize ( 8 2 4 f , Ġ 1 6 8 f ) čĊĠĠĠĠĠĠĠ Ġscore Message . setPosition ( 1 0 0 f , Ġ 7 4 f , ĠAlign . bottom Left ) čĊĠĠĠĠĠĠĠ Ġscore Message . wrap Ġ= Ġtrue čĊčĊĠĠĠĠĠĠĠ Ġscore Message Provider Ġ= ĠScore Message Provider () čĊčĊĠĠĠĠĠĠĠ Ġval Ġfire works Position : ĠVector 2 Ġ= ĠVector 2 ( 1 0 0 f , Ġ 7 6 6 f ) čĊĠĠĠĠĠĠĠ Ġval Ġfire works Size : ĠVector 2 Ġ= ĠVector 2 ( 8 2 4 f , Ġ 2 1 2 f ) čĊĠĠĠĠĠĠĠ Ġscore Fire works Ġ= ĠScore Fire works ( čĊĠĠĠĠĠĠĠĠĠĠĠ Ġfire works Position , Ġfire works Size , čĊĠĠĠĠĠĠĠĠĠĠĠ ĠMAX _ FIRE WORK S , Ġatlas čĊĠĠĠĠĠĠĠ Ġ) čĊčĊĠĠĠĠĠĠĠ Ġhigh Score Music Ġ= Ġassets [ HIGH _ SCORE _ M US IC ] Ġas ĠMusic čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġfun Ġshow ( score : ĠFloat ) Ġ{ čĊĠĠĠĠĠĠĠ Ġstage . add Actor ( restart Button ) čĊĠĠĠĠĠĠĠ Ġrestart Button . addListener ( restart Button Listener ) čĊčĊĠĠĠĠĠĠĠ Ġstage . add Actor ( back Button ) čĊĠĠĠĠĠĠĠ Ġback Button . addListener ( back Button Listener ) čĊčĊĠĠĠĠĠĠĠ Ġval Ġprevious High Score : ĠFloat Ġ= ĠGame . instance (). get Leader board (). get High Score () čĊĠĠĠĠĠĠĠ Ġval Ġworld High Score : ĠFloat Ġ= ĠGame . instance (). get Leader board (). get World High Score () čĊĠĠĠĠĠĠĠ Ġval Ġlocale Manager : ĠLocale Manager Ġ= ĠGame . instance (). getLocale Manager () čĊčĊĠĠĠĠĠĠĠ Ġif Ġ( previous High Score Ġ< Ġscore ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġscore Title . setText ( locale Manager . get (" RE START _ HIGH _ SCORE _ TITLE ")) čĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġscore Title . setText ( locale Manager . get (" RE START _ SCORE _ TITLE ")) čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġscore Value . setText ( String . format ("% . 1 fs ", Ġscore )) čĊčĊĠĠĠĠĠĠĠ Ġval Ġmessage Type : ĠScore Message . Type Ġ= Ġwhen Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġscore Ġ> Ġworld High Score Ġ-> ĠScore Message . Type . GO AT čĊĠĠĠĠĠĠĠĠĠĠĠ Ġscore Ġ> Ġprevious High Score Ġ-> ĠScore Message . Type . GO OD čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( score Ġ<= Ġprevious High Score ) Ġ&& Ġ( score Ġ> ĠPATH ET IC _ SCORE ) Ġ-> ĠScore Message . Type . NE UT R AL čĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠScore Message . Type . BAD čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġscore Message . setText ( score Message Provider . retrieve Message ( message Type )) čĊĠĠĠĠĠĠĠ Ġstage . add Actor ( score Title ) čĊĠĠĠĠĠĠĠ Ġstage . add Actor ( score Value ) čĊĠĠĠĠĠĠĠ Ġstage . add Actor ( score Message ) čĊčĊĠĠĠĠĠĠĠ Ġif Ġ( score Ġ> Ġprevious High Score ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġscore Fire works . show () čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġhigh Score Music . position Ġ= Ġ 0 f čĊĠĠĠĠĠĠĠĠĠĠĠ Ġhigh Score Music . volume Ġ= ĠHIGH _ SCORE _ VOLUME čĊĠĠĠĠĠĠĠĠĠĠĠ Ġhigh Score Music . is Loop ing Ġ= Ġfalse čĊĠĠĠĠĠĠĠĠĠĠĠ Ġhigh Score Music . play () čĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġscore Fire works . hide () čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ ĠG dx . input . input Processor Ġ= Ġstage čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġfun Ġdraw () Ġ{ čĊĠĠĠĠĠĠĠ Ġactors Viewport . apply ( true ) čĊĠĠĠĠĠĠĠ Ġstage . draw () čĊčĊĠĠĠĠĠĠĠ Ġstage . batch . begin () čĊĠĠĠĠĠĠĠ Ġscore Fire works . draw ( stage . batch , ĠG dx . graphics . deltaTime ) čĊĠĠĠĠĠĠĠ Ġstage . batch . end () čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġfun Ġpause () Ġ{ čĊĠĠĠĠĠĠĠ Ġif Ġ( high Score Music . is Playing ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġhigh Score Music . pause () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġwas High Score Music Playing Ġ= Ġtrue čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġfun Ġresume () Ġ{ čĊĠĠĠĠĠĠĠ Ġif Ġ( was High Score Music Playing ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġhigh Score Music . play () čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġfun Ġhide () Ġ{ čĊĠĠĠĠĠĠĠ Ġrestart Button . clear Listeners () čĊĠĠĠĠĠĠĠ Ġrestart Button . remove () čĊĠĠĠĠĠĠĠ Ġback Button . clear Listeners () čĊĠĠĠĠĠĠĠ Ġback Button . remove () čĊčĊĠĠĠĠĠĠĠ Ġscore Title . remove () čĊĠĠĠĠĠĠĠ Ġscore Value . remove () čĊĠĠĠĠĠĠĠ Ġscore Message . remove () čĊčĊĠĠĠĠĠĠĠ Ġscore Fire works . hide () čĊčĊĠĠĠĠĠĠĠ Ġhigh Score Music . stop () čĊĠĠĠĠĠĠĠ Ġwas High Score Music Playing Ġ= Ġfalse čĊčĊĠĠĠĠĠĠĠ ĠG dx . input . input Processor Ġ= Ġnull čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġcompanion Ġobject Ġ{ čĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠDE PEND ENCY _ NAME : ĠString Ġ= Ġ" RE START _ WIDGET " čĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠW ID GET _ AT LAS : ĠString Ġ= Ġ" Restart Widget Atlas " čĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠS CORE _ TEXT _ FONT : ĠString Ġ= Ġ" Score Text " čĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠS CORE _ VALUE _ FONT : ĠString Ġ= Ġ" Score Value " čĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠHIGH _ SCORE _ M US IC : ĠString Ġ= Ġ" High Score " čĊčĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠPATH ET IC _ SCORE : ĠFloat Ġ= Ġ 1 0 f čĊčĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠMAX _ FIRE WORK S : ĠInt Ġ= Ġ 3 0 čĊčĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠHIGH _ SCORE _ VOLUME : ĠFloat Ġ= Ġ 0 . 4 f čĊĠĠĠ Ġ} č Ċ }