package Ġcom . gmail . mi lo sz was acz . mun ch kin level counter Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . Rect Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . view . Motion Event Ċ import Ġandroid . view . input method . Input Method Manager Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcom . google . gson . Gson Ċ import Ġkotlinx . android . synt hetic . main . activity _ settings .* Ċ Ċ class ĠCreate Game Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġmax Level Ġ= Ġ 1 0 ĊĠĠĠ Ġprivate Ġvar Ġmin Level Ġ= Ġ 1 ĊĠĠĠ Ġinternal Ġlateinit Ġvar Ġname : ĠString ĊĠĠĠ Ġprivate Ġvar Ġgame List Size Ġ= Ġ 0 ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ settings ) ĊĊĠĠĠĠĠĠĠ Ġmax Level Ġ= Ġresources . getInteger ( R . integer . default _ rules ) ĊĠĠĠĠĠĠĠ Ġmin Level Ġ= Ġresources . getInteger ( R . integer . min _ level ) ĊĠĠĠĠĠĠĠ Ġgame List Size Ġ= Ġintent . getInt Extra (" EXTRA _ SIZE ", Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar !!. title Ġ= Ġresources . getString ( R . string . activity _ title _ new _ game ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar !!. set Display Home As Up Enabled ( true ) ĊĊĠĠĠĠĠĠĠ Ġ// Z ak tual iz uj Ġpo zy c je Ġswitch ' y ĊĠĠĠĠĠĠĠ Ġwhen Ġ( max Level ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresources . getInteger ( R . integer . default _ rules ) Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġswitch Game mode . isChecked Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġswitch D ungeon . isChecked Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresources . getInteger ( R . integer . d ungeon _ rules ) Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġswitch Game mode . isChecked Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġswitch D ungeon . isChecked Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresources . getInteger ( R . integer . epic _ rules ) Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġswitch Game mode . isChecked Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġswitch D ungeon . isChecked Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresources . getInteger ( R . integer . epic _ d ungeon _ rules ) Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġswitch Game mode . isChecked Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġswitch D ungeon . isChecked Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// U staw Ġmak sym al ny Ġpo zi om Ġgr ac za ĊĠĠĠĠĠĠĠ Ġswitch Game mode . setOn Checked ChangeListener Ġ{ Ġbutton View , Ġis Checked Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmax Level Ġ= Ġif Ġ( isChecked ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( switch D ungeon . isChecked ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresources . getInteger ( R . integer . epic _ d ungeon _ rules ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresources . getInteger ( R . integer . epic _ rules ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( switch D ungeon . isChecked ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresources . getInteger ( R . integer . d ungeon _ rules ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresources . getInteger ( R . integer . default _ rules ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// U staw Ġmak sym al ny Ġpo zi om Ġgr ac za ĊĠĠĠĠĠĠĠ Ġswitch D ungeon . setOn Checked ChangeListener Ġ{ Ġbutton View , Ġis Checked Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmax Level Ġ= Ġif Ġ( isChecked ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( switch Game mode . isChecked ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresources . getInteger ( R . integer . epic _ d ungeon _ rules ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresources . getInteger ( R . integer . d ungeon _ rules ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( switch Game mode . isChecked ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresources . getInteger ( R . integer . epic _ rules ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresources . getInteger ( R . integer . default _ rules ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Tw or zenie Ġdom y ÅĽ l nej Ġlist y Ġgr ac zy ĊĠĠĠ Ġfun Ġcreate Default Player List (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġplayer List Ġ= ĠArrayList < Player >() ĊĠĠĠĠĠĠĠ Ġplayer List . add ( Player ("${ resources . getString ( R . string . player )} Ġ 1 ", Ġresources . getInteger ( R . integer . min _ level ))) ĊĠĠĠĠĠĠĠ Ġplayer List . add ( Player ("${ resources . getString ( R . string . player )} Ġ 2 ", Ġresources . getInteger ( R . integer . min _ level ))) ĊĠĠĠĠĠĠĠ Ġplayer List . add ( Player ("${ resources . getString ( R . string . player )} Ġ 3 ", Ġresources . getInteger ( R . integer . min _ level ))) ĊĠĠĠĠĠĠĠ Ġreturn ĠGson (). toJson ( player List ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Tw or zenie Ġgu z ik Ã³w Ġna Ġapp Ġbar ze ĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmenu . clear () ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . toolbar _ menu , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġval Ġm Confirm Button Ġ= Ġmenu . find Item ( R . id . action _ confirm ) ĊĠĠĠĠĠĠĠ Ġm Confirm Button . isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġsupport ActionBar !!. set Display Home As Up Enabled ( true ) ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . onCreate Options Menu ( menu ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Gu z iki Ġna Ġapp Ġbar ze ĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ= Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Pot w ier d zenie ĊĠĠĠĠĠĠĠ ĠR . id . action _ confirm Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Back Pressed ( Activity . RESULT _ OK ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Str za ÅĤ ec z ka Ġ" back " ĊĠĠĠĠĠĠĠ Ġandroid . R . id . home Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Back Pressed ( Activity . RESULT _ C ANCE LED ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Wy j ÅĽ cie Ġz ĠActivity ĊĠĠĠ Ġ@ Suppress Lint (" SetText I 1 8 n ") ĊĠĠĠ Ġprivate Ġfun Ġon Back Pressed ( result : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġedit Text Name . setText ( edit Text Name . text . trim ()) ĊĠĠĠĠĠĠĠ Ġif Ġ( edit Text Name . text . toString () Ġ== Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġedit Text Name . setText ("${ resources . getString ( R . string . game )} Ġ${ ( game List Size Ġ+ Ġ 1 )} ") ĊĠĠĠĠĠĠĠ Ġname Ġ= Ġedit Text Name . text . toString () ĊĠĠĠĠĠĠĠ Ġval Ġreturn Intent Ġ= ĠIntent () ĊĠĠĠĠĠĠĠ Ġreturn Intent . putExtra (" result Game ", ĠGson (). toJson ( Game ( name , Ġcreate Default Player List (), Ġmax Level , Ġmin Level ))) ĊĠĠĠĠĠĠĠ Ġset Result ( result , Ġreturn Intent ) ĊĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Str a Äĩ Ġfocus Ġpod cz as Ġprz ew ij ania ĊĠĠĠ Ġoverride Ġfun Ġdispatch Touch Event ( event : ĠMotion Event ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif ( event . action Ġ== ĠMotion Event . ACTION _ DOWN ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġv Ġ= Ġcurrent Focus ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( edit Text Name . is Focused ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġout Rect Ġ= ĠRect () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġedit Text Name . getGlobal Visible Rect ( out Rect ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif (! out Rect . contains ( event . raw X . toInt (), Ġevent . raw Y . toInt ())) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġedit Text Name . clear Focus () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠHide Ġkeyboard ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimm : ĠInput Method Manager Ġ= Ġv !!. context . getSystem Service ( Context . INPUT _ METHOD _ SERVICE ) Ġas ĠInput Method Manager ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimm . hide Soft Input From Window ( v . window Token , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . dispatch Touch Event ( event ) ĊĠĠĠ Ġ} Ċ } Ċ