package Ġcom . github . c zy z by . setup . views Ċ Ċ import Ġcom . badlogic . gdx . scenes . scene 2 d . ui . Button Ċ import Ġcom . badlogic . gdx . scenes . scene 2 d . utils . Disable able Ċ import Ġcom . badlogic . gdx . utils . Object Set Ċ import Ġcom . github . c zy z by . aut umn . annotation . Processor Ċ import Ġcom . github . c zy z by . aut umn . context . Context Ċ import Ġcom . github . c zy z by . aut umn . context . Context Destroy er Ċ import Ġcom . github . c zy z by . aut umn . context . Context Initializer Ċ import Ġcom . github . c zy z by . aut umn . processor . Abstract Annotation Processor Ċ import Ġcom . github . c zy z by . l ml . annotation . L ml Actor Ċ import Ġcom . github . c zy z by . setup . data . platforms . Core Ċ import Ġcom . github . c zy z by . setup . data . platforms . Platform Ċ Ċ /** Ċ Ġ* ĠHandles Ġplatform - related Ġinput . Ċ Ġ* Ġ@ author ĠM J Ċ Ġ*/ Ċ @ Processor Ċ class ĠPlatform s Data Ġ: ĠAbstract Annotation Processor < G dx Platform >() Ġ{ ĊĠĠĠ Ġval Ġplatforms Ġ= Ġmutable Map Of < String , ĠPlatform >() ĊĊĠĠĠ Ġ@ L ml Actor (" android Sdk ") Ġprivate Ġlateinit Ġvar Ġandroid Sdk : ĠDisable able ĊĠĠĠ Ġ@ L ml Actor (" android Sdk Button ") Ġprivate Ġlateinit Ġvar Ġandroid Sdk Button : ĠDisable able ĊĠĠĠ Ġ@ L ml Actor ("\ $ platforms ") Ġprivate Ġlateinit Ġvar Ġplatform Buttons : ĠObject Set < Button > ĊĊĠĠĠ Ġfun Ġtoggle Android Platform ( active : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġandroid Sdk . is Disabled Ġ= Ġ! active ĊĠĠĠĠĠĠĠ Ġandroid Sdk Button . is Disabled Ġ= Ġ! active ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtoggle Standard Platforms () Ġ= Ġplatform Buttons . filter Ġ{ Ġplatforms [ it . name ] !!. is Standard Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ Ġit . isChecked Ġ= Ġ! it . isChecked Ġ} ĊĊĠĠĠ Ġfun Ġtoggle Platforms () Ġ= Ġplatform Buttons . filter Ġ{ Ġit . name Ġ!= ĠCore . ID Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ Ġit . isChecked Ġ= Ġ! it . isChecked Ġ} ĊĊĊĠĠĠ Ġoperator Ġfun Ġget ( platform Id : ĠString ): ĠPlatform Ġ= Ġplatforms [ platform Id ] !! ĊĊĠĠĠ Ġfun Ġget Selected Platforms (): ĠMap < String , ĠPlatform > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplatform Buttons . filter Ġ{ Ġit . isChecked Ġ}. map Ġ{ Ġplatforms [ it . name ] !! Ġ}. associate By Ġ{ Ġit . id Ġ} ĊĊĠĠĠ Ġ// ĠAutomatic Ġscanning Ġof Ġplatforms : ĊĊĠĠĠ Ġoverride Ġfun Ġget Supported Annotation Type (): ĠClass < G dx Platform > Ġ= ĠG dx Platform :: class . java ĊĠĠĠ Ġoverride Ġfun Ġis Support ing Types (): ĠBoolean Ġ= Ġtrue ĊĠĠĠ Ġoverride Ġfun Ġprocess Type ( type : ĠClass <* >, Ġannotation : ĠG dx Platform , Ġcomponent : ĠAny , Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinitializer : ĠContext Initializer , Ġcontext Destroy er : ĠContext Destroy er ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġplatform Ġ= Ġcomponent Ġas ĠPlatform ĊĠĠĠĠĠĠĠ Ġplatforms [ platform . id ] Ġ= Ġplatform ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠShould Ġannotate Ġall ĠLib G DX Ġplatforms . Ċ Ġ* Ġ@ author ĠM J Ċ Ġ*/ Ċ @ Target ( Annotation Target . CLASS ) Ċ @ Retention ( Annotation Retention . RUNTIME ) Ċ annotation Ġclass ĠG dx Platform Ċ