interface ĠGame Stage Ċ { ĊĠĠĠ Ġfun Ġhandle Controller ( controller : ĠController ) ĊĠĠĠ Ġfun Ġupdate () ĊĊĠĠĠ Ġval Ġroot : ĠPIX I . Display Object ĊĠĠĠ Ġval Ġgame Size : ĠPoint ĊĠĠĠ Ġval Ġended : ĠBoolean Ċ } Ċ Ċ class ĠIn game Stage ( val Ġsize : ĠPoint , Ġval Ġlevel Index : ĠInt ): ĠGame Stage Ċ { ĊĠĠĠ Ġval Ġnode Ġ= ĠPIX I . Container () ĊĠĠĠ Ġval Ġlevel Ġ= ĠLevel ( node , ĠLayout . levels [ level Index ], Ġsize ) ĊĠĠĠ Ġvar Ġrunning Ġ= Ġtrue ĊĊĠĠĠ Ġoverride Ġfun Ġhandle Controller ( controller : ĠController ) ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġ/* if Ġ( controller . isActive ( Controller Action . Step )) ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrunning Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlevel . update () ĊĠĠĠĠĠĠĠ Ġ}*/ ĊĊĠĠĠĠĠĠĠ Ġif Ġ( controller . isActive ( Controller Action . Up )) ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlevel . jump () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( controller . isActive ( Controller Action . Select )) ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlevel . action () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwhen ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontroller . isActive ( Controller Action . Left ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlevel . move Left () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontroller . isActive ( Controller Action . Right ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlevel . move Right () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate () ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( running ) ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlevel . update () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġroot : ĠPIX I . Display Object ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġnode ĊĠĠĠ Ġoverride Ġval Ġgame Size : ĠPoint ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġsize ĊĊĠĠĠ Ġoverride Ġval Ġended : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġlevel . completed Ċ } Ċ