package Ġnet . b ren ig . pix ele scape . render . ui . general Ċ Ċ import Ġcom . badlogic . gdx . scenes . scene 2 d . Input Event Ċ import Ġcom . badlogic . gdx . scenes . scene 2 d . ui . Image Text Button Ċ import Ġcom . badlogic . gdx . scenes . scene 2 d . ui . Skin Ċ import Ġcom . badlogic . gdx . scenes . scene 2 d . utils . ClickListener Ċ import Ġcom . badlogic . gdx . utils . Scaling Ċ import Ġde . g olf gl . gdx game sv cs . IG ame ServiceClient Ċ import Ġnet . b ren ig . pix ele scape . lib . Lang Keys Ċ import Ġnet . b ren ig . pix ele scape . lib . translate Ċ import Ġnet . b ren ig . pix ele scape . lib . utils . Ui Utils Ċ Ċ /** Ċ Ġ* Ċ Ġ*/ Ċ class ĠPlay Service Login Button ( ĊĠĠĠĠĠĠĠ Ġval Ġstyle Login : ĠImage Text ButtonStyle , ĊĠĠĠĠĠĠĠ Ġval Ġstyle Working : ĠImage Text ButtonStyle , ĊĠĠĠĠĠĠĠ Ġval Ġstyle Logout : ĠImage Text ButtonStyle , ĊĠĠĠĠĠĠĠ Ġval Ġplay Service : ĠI Game ServiceClient ) Ġ: ĠImage Text Button ("", Ġstyle Working ) Ġ{ ĊĊĠĠĠ Ġvar Ġstate Ġ= ĠState . WORK ING ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon StateChanged () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( skin : ĠSk in , Ġstyle Login : ĠString , Ġstyle Working : ĠString , Ġstyle Logout : ĠString , Ġplay Service : ĠI Game ServiceClient ) Ġ: Ġthis ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġskin . get ( style Login , ĠImage Text ButtonStyle :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġskin . get ( style Working , ĠImage Text ButtonStyle :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġskin . get ( style Logout , ĠImage Text ButtonStyle :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplay Service ) ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġpad ( 8 F ) ĊĠĠĠĠĠĠĠ Ġimage . set Scaling ( Scaling . fit ) ĊĠĠĠĠĠĠĠ Ġimage Cell . size ( Ui Utils . BUTTON _ SIZE ) ĊĠĠĠĠĠĠĠ Ġimage Cell . fill () ĊĠĠĠĠĠĠĠ Ġimage . setSize ( Ui Utils . BUTTON _ SIZE , ĠUi Utils . BUTTON _ SIZE ) ĊĠĠĠĠĠĠĠ Ġlabel . setFont Scale ( 1 f ) ĊĠĠĠĠĠĠĠ Ġupdate Info () ĊĠĠĠĠĠĠĠ Ġadd Listener ( object Ġ: ĠClick Listener () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġclicked ( event : ĠInput Event , Ġx : ĠFloat , Ġy : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( play Service ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( state ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠState . READY _ FOR _ LOGIN Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! is Connection Pending Ġ&& Ġ! is Session Active ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate Ġ= ĠState . WORK ING ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog In () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Info () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠState . READY _ FOR _ LOG OUT Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! is Connection Pending Ġ&& Ġis Session Active ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate Ġ= ĠState . WORK ING ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog Off () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Info () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠState . WORK ING Ġ-> Ġupdate Info () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate Info () Ġ{ ĊĠĠĠĠĠĠĠ Ġstate Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplay Service . is Connection Pending Ġ-> ĠState . WORK ING ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplay Service . is Session Active Ġ-> ĠState . READY _ FOR _ LOG OUT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠState . READY _ FOR _ LOGIN ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon StateChanged () Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( state ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠState . READY _ FOR _ LOGIN Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= Ġstyle Login ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= ĠLang Keys . Play Services . LOGIN . translate () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Disabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠState . READY _ FOR _ LOG OUT Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= Ġstyle Logout ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= ĠLang Keys . Play Services . LOG OUT . translate () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Disabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠState . WORK ING Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= Ġstyle Working ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= ĠLang Keys . Play Services . WORK ING . translate () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Disabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġenum Ġclass ĠState Ġ{ ĊĠĠĠĠĠĠĠ ĠREAD Y _ FOR _ LOGIN , ĠREAD Y _ FOR _ LOG OUT , ĠWORK ING ĊĠĠĠ Ġ} Ċ }