package Ġcom . my gdx . game . screens Ċ Ċ import Ġcom . badlogic . gdx . G dx Ċ import Ġcom . badlogic . gdx . graphics . GL 2 0 Ċ 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 . Image Ċ import Ġcom . badlogic . gdx . scenes . scene 2 d . ui . Text Button Ċ import Ġcom . badlogic . gdx . scenes . scene 2 d . utils . ClickListener Ċ import Ġcom . my gdx . game . Bl ud Bo urne Ċ import Ġcom . my gdx . game . Screen Manager .* Ċ import Ġcom . my gdx . game . Utility Ċ import Ġcom . my gdx . game . audio . Audio Observer . Audio Command Ċ import Ġcom . my gdx . game . audio . Audio Observer . Audio Type Event Ċ import Ġk tx . scene 2 d .* Ċ Ċ class ĠMain Menu Screen ( private Ġval Ġgame : ĠBl ud Bo urne ) Ġ: ĠGame Screen () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġstage : ĠStage Ġ= ĠStage () ĊĊĠĠĠ Ġoverride Ġfun Ġrender ( delta : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ ĠG dx . gl . gl Clear Color ( 0 f , Ġ 0 f , Ġ 0 f , Ġ 1 f ) ĊĠĠĠĠĠĠĠ ĠG dx . gl . gl Clear ( GL 2 0 . GL _ COLOR _ BUFFER _ BIT ) ĊĠĠĠĠĠĠĠ Ġstage . act ( delta ) ĊĠĠĠĠĠĠĠ Ġstage . draw () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġresize ( width : ĠInt , Ġheight : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstage . viewport . set Screen Size ( width , Ġheight ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow () Ġ{ ĊĠĠĠĠĠĠĠ Ġnotify ( Audio Command . M US IC _ PLAY _ LOOP , ĠAudio Type Event . M US IC _ TITLE ) ĊĠĠĠĠĠĠĠ ĠG dx . input . input Processor Ġ= Ġstage ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhide () Ġ{ ĊĠĠĠĠĠĠĠ ĠG dx . input . input Processor Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdispose () Ġ{ ĊĠĠĠĠĠĠĠ Ġstage . dispose () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġadd Act ors To Stage () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġadd Act ors To Stage () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtitle Ġ= ĠImage ( Utility . STATUS UI _ TEXTURE AT LAS . find Region (" bl ud bo urne _ title ")) ĊĠĠĠĠĠĠĠ Ġval Ġnew Game Button Ġ= ĠText Button (" New ĠGame ", ĠUtility . STATUS UI _ SK IN ) ĊĠĠĠĠĠĠĠ Ġval Ġload Game Button Ġ= ĠText Button (" Load ĠGame ", ĠUtility . STATUS UI _ SK IN ) ĊĠĠĠĠĠĠĠ Ġval Ġwatch Intro Button Ġ= ĠText Button (" Watch ĠIntro ", ĠUtility . STATUS UI _ SK IN ) ĊĠĠĠĠĠĠĠ Ġval Ġcredits Button Ġ= ĠText Button (" Credits ", ĠUtility . STATUS UI _ SK IN ) ĊĠĠĠĠĠĠĠ Ġval Ġexit Button Ġ= ĠText Button (" Exit ", ĠUtility . STATUS UI _ SK IN ) ĊĊĠĠĠĠĠĠĠ Ġstage . actors Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Fill Parent ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( title ). space Bottom ( 7 5 f ). row () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( new Game Button ). space Bottom ( 1 0 f ). row () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( load Game Button ). space Bottom ( 1 0 f ). row () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( watch Intro Button ). space Bottom ( 1 0 f ). row () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( credits Button ). space Bottom ( 1 0 f ). row () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( exit Button ). space Bottom ( 1 0 f ). row () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Listeners ĊĠĠĠĠĠĠĠ Ġnew Game Button . addListener ( object Ġ: ĠClick Listener () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġtouch Down ( event : ĠInput Event , Ġx : ĠFloat , Ġy : ĠFloat , Ġpointer : ĠInt , Ġbutton : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġtouch Up ( event : ĠInput Event , Ġx : ĠFloat , Ġy : ĠFloat , Ġpointer : ĠInt , Ġbutton : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgame . change Screen To Type ( Screen Type . New Game ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġload Game Button . addListener ( object Ġ: ĠClick Listener () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġtouch Down ( event : ĠInput Event , Ġx : ĠFloat , Ġy : ĠFloat , Ġpointer : ĠInt , Ġbutton : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġtouch Up ( event : ĠInput Event , Ġx : ĠFloat , Ġy : ĠFloat , Ġpointer : ĠInt , Ġbutton : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgame . change Screen To Type ( Screen Type . Load Game ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġexit Button . addListener ( object Ġ: ĠClick Listener () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġtouch Down ( event : ĠInput Event , Ġx : ĠFloat , Ġy : ĠFloat , Ġpointer : ĠInt , Ġbutton : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġtouch Up ( event : ĠInput Event , Ġx : ĠFloat , Ġy : ĠFloat , Ġpointer : ĠInt , Ġbutton : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG dx . app . exit () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġwatch Intro Button . addListener ( object Ġ: ĠClick Listener () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġtouch Down ( event : ĠInput Event , Ġx : ĠFloat , Ġy : ĠFloat , Ġpointer : ĠInt , Ġbutton : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġtouch Up ( event : ĠInput Event , Ġx : ĠFloat , Ġy : ĠFloat , Ġpointer : ĠInt , Ġbutton : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnotify ( Audio Command . M US IC _ STOP , ĠAudio Type Event . M US IC _ TITLE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgame . change Screen To Type ( Screen Type . Watch Intro ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġcredits Button . addListener ( object Ġ: ĠClick Listener () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġtouch Down ( event : ĠInput Event , Ġx : ĠFloat , Ġy : ĠFloat , Ġpointer : ĠInt , Ġbutton : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġtouch Up ( event : ĠInput Event , Ġx : ĠFloat , Ġy : ĠFloat , Ġpointer : ĠInt , Ġbutton : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgame . change Screen To Type ( Screen Type . Credits ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġnotify ( Audio Command . M US IC _ LOAD , ĠAudio Type Event . M US IC _ TITLE ) ĊĠĠĠ Ġ} Ċ Ċ }