package Ġcom . arc ad an . push _ the _ player Ċ Ċ import Ġcom . arc ad an . push _ the _ player . overlay s . Game Over Overlay Ċ import Ġcom . arc ad an . push _ the _ player . overlay s . Hud Stuff Ċ import Ġcom . arc ad an . push _ the _ player . overlay s . On screen Controls Ċ import Ġcom . arc ad an . push _ the _ player . overlay s . V ictory Overlay Ċ import Ġcom . arc ad an . push _ the _ player . util . Assets Ċ import Ġcom . arc ad an . push _ the _ player . util . Ch ase Cam Ċ import Ġcom . arc ad an . push _ the _ player . util . Constants Ċ import Ġcom . arc ad an . push _ the _ player . util . Constants . DEBUG _ MODE Ċ import Ġcom . arc ad an . push _ the _ player . util . Level Loader . load Ċ import Ġcom . arc ad an . push _ the _ player . util . Utilities . seconds Since Ċ import Ġcom . badlogic . gdx . Application Ċ import Ġcom . badlogic . gdx . G dx Ċ import Ġcom . badlogic . gdx . Screen Adapter Ċ import Ġcom . badlogic . gdx . graphics . GL 2 0 Ċ import Ġcom . badlogic . gdx . graphics . g 2 d . Sprite Batch Ċ import Ġcom . badlogic . gdx . utils . Time Utils Ċ Ċ class ĠGame play Screen ( var Ġmixture Game : ĠMix ture Game ) Ġ: ĠScreen Adapter () Ġ{ ĊĠĠĠ Ġvar Ġon screen Controls : ĠOn screen Controls ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġbatch : ĠSprite Batch ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġlevel End Overlay StartTime : ĠLong Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġlevel : ĠLevel ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġch ase Cam : ĠCh ase Cam ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġh ud : ĠH ud Stuff ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġv ictory Overlay : ĠV ictory Overlay ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġgame Over Overlay : ĠGame Over Overlay ? Ġ= Ġnull ĊĠĠĠ Ġoverride Ġfun Ġshow () Ġ{ ĊĠĠĠĠĠĠĠ Ġbatch Ġ= ĠSprite Batch () ĊĠĠĠĠĠĠĠ Ġch ase Cam Ġ= ĠCh ase Cam () ĊĠĠĠĠĠĠĠ Ġh ud Ġ= ĠH ud Stuff () ĊĠĠĠĠĠĠĠ Ġv ictory Overlay Ġ= ĠV ictory Overlay () ĊĠĠĠĠĠĠĠ Ġgame Over Overlay Ġ= ĠGame Over Overlay () ĊĠĠĠĠĠĠĠ Ġon screen Controls Ġ= ĠOn screen Controls () ĊĠĠĠĠĠĠĠ Ġ// Ġ ĠUse ĠG dx . input . setInput Processor () Ġto Ġsend Ġtouch Ġevents Ġto Ġon screen Controls ĊĠĠĠĠĠĠĠ Ġ// Ġ ĠWhen Ġyou 're Ġdone Ġtesting , Ġuse Ġon Mobile () Ġturn Ġoff Ġthe Ġcontrols Ġwhen Ġnot Ġon Ġa Ġmobile Ġdevice ĊĠĠĠĠĠĠĠ Ġif Ġ( on Mobile ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG dx . input . input Processor Ġ= Ġon screen Controls ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġstart New Level () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon Mobile (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠG dx . app . type Ġ== ĠApplication . Application Type . Android Ġ|| ĠG dx . app . type Ġ== ĠApplication . Application Type . iOS ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġresize ( width : ĠInt , Ġheight : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġh ud !!. viewport . update ( width , Ġheight , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġv ictory Overlay !!. viewport . update ( width , Ġheight , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġgame Over Overlay !!. viewport . update ( width , Ġheight , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġlevel !!. viewport . update ( width , Ġheight , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġch ase Cam !!. camera Ġ= Ġlevel !!. viewport . camera ĊĠĠĠĠĠĠĠ Ġ// Ġ ĠUpdate Ġthe Ġon screen Controls . viewport ĊĠĠĠĠĠĠĠ Ġon screen Controls !!. viewport . update ( width , Ġheight , Ġtrue ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ ĠCall Ġre calculate Button Positions () Ġon Ġthe Ġon screen Controls ĊĠĠĠĠĠĠĠ Ġon screen Controls !!. re calculate Button Positions () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdispose () Ġ{ ĊĠĠĠĠĠĠĠ ĠAssets . instance . dispose () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrender ( delta : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlevel !!. update ( delta ) ĊĠĠĠĠĠĠĠ Ġch ase Cam !!. update ( delta ) ĊĠĠĠĠĠĠĠ ĠG dx . gl . gl Clear Color ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConstants . BACKGROUND _ COLOR . r , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConstants . BACKGROUND _ COLOR . g , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConstants . BACKGROUND _ COLOR . b , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConstants . BACKGROUND _ COLOR . a ) ĊĠĠĠĠĠĠĠ ĠG dx . gl . gl Clear ( GL 2 0 . GL _ COLOR _ BUFFER _ BIT ) ĊĠĠĠĠĠĠĠ Ġlevel !!. render ( batch !! ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ ĠWhen Ġyou 're Ġdone Ġtesting , Ġuse Ġon Mobile () Ġturn Ġoff Ġthe Ġcontrols Ġwhen Ġnot Ġon Ġa Ġmobile Ġdevice ĊĠĠĠĠĠĠĠ Ġif Ġ( on Mobile ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon screen Controls !!. render ( batch !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġh ud !!. render ( batch !! , Ġlevel !!. player . li ves , Ġlevel !!. player . am mo , Ġlevel !!. score ) ĊĠĠĠĠĠĠĠ Ġrender Level End Overlay s ( batch ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġrender Level End Overlay s ( batch : ĠSprite Batch ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( level !!. v ictory ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( level End Overlay StartTime Ġ== Ġ 0 L ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlevel End Overlay StartTime Ġ= ĠTime Utils . nano Time () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv ictory Overlay !!. init () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv ictory Overlay !!. render ( batch !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( seconds Since ( level End Overlay StartTime ) Ġ> ĠConstants . LEVEL _ END _ DURATION ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlevel End Overlay StartTime Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlevel Complete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġ ĠRepeat Ġthe Ġlevel Ġv ictory Ġlogic Ġto Ġdisplay Ġthe Ġgame Ġover Ġscreen Ġand Ġcall Ġlevel Failed () ĊĠĠĠĠĠĠĠ Ġif Ġ( level !!. game Over ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( level End Overlay StartTime Ġ== Ġ 0 L ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlevel End Overlay StartTime Ġ= ĠTime Utils . nano Time () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgame Over Overlay !!. init () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgame Over Overlay !!. render ( batch !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( seconds Since ( level End Overlay StartTime ) Ġ> ĠConstants . LEVEL _ END _ DURATION ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlevel End Overlay StartTime Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlevel Failed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġstart New Level () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( DEBUG _ MODE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlevel Ġ= ĠLevel () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlevel !!. initialize Debug Level () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ Ċ // ĠĠĠĠĠĠĠ ĠString Ġlevel Name Ġ= ĠConstants . LEVEL S [ Math Utils . random ( Constants . LEVEL S . length Ġ- Ġ 1 )]; Ċ // ĠĠĠĠĠĠĠ Ġlevel Ġ= ĠLevel Loader . load ( level Name ); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlevel Ġ= Ġload ( Assets . instance . current Level . toInt ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġch ase Cam !!. camera Ġ= Ġlevel !!. viewport . camera ĊĠĠĠĠĠĠĠ Ġch ase Cam !!. target Ġ= Ġlevel !!. player ĊĠĠĠĠĠĠĠ Ġon screen Controls !!. player Ġ= Ġlevel !!. player ĊĠĠĠĠĠĠĠ Ġresize ( G dx . graphics . width , ĠG dx . graphics . height ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġstart Level 2 () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( DEBUG _ MODE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlevel Ġ= ĠLevel () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlevel !!. initialize Debug Level () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlevel Ġ= Ġload ( 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġch ase Cam !!. camera Ġ= Ġlevel !!. viewport . camera ĊĠĠĠĠĠĠĠ Ġch ase Cam !!. target Ġ= Ġlevel !!. player ĊĠĠĠĠĠĠĠ Ġon screen Controls !!. player Ġ= Ġlevel !!. player ĊĠĠĠĠĠĠĠ Ġresize ( G dx . graphics . width , ĠG dx . graphics . height ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġlevel Complete () Ġ{ ĊĠĠĠĠĠĠĠ Ġstart Level 2 () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġlevel Failed () Ġ{ ĊĠĠĠĠĠĠĠ Ġstart New Level () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠTAG Ġ= ĠGame play Screen :: class . java . name ĊĠĠĠ Ġ} Ċ }