package Ġme . y sh als ager . t ict act oe . screens . pass Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ Ċ class ĠPass Turn ViewModel ( last Player : ĠInt ) Ġ: ĠViewModel () Ġ{ ĊĠĠĠ Ġprivate Ġval Ġ_ last Player Ġ= ĠMutable LiveData < Int >() ĊĊĠĠĠ Ġprivate Ġval Ġ_ next Player Ġ= ĠMutable LiveData < Int >() ĊĠĠĠ Ġval Ġnext Player : ĠLive Data < Int > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ next Player ĊĊĠĠĠ Ġprivate Ġval Ġ_ event Pass Turn Ġ= ĠMutable LiveData < Boolean >() ĊĠĠĠ Ġval Ġevent Pass Turn : ĠLive Data < Boolean > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ event Pass Turn ĊĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ last Player . value Ġ= Ġlast Player ĊĠĠĠĠĠĠĠ Ġ_ event Pass Turn . value Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġswap Player () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġswap Player () Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ next Player . value Ġ= Ġwhen Ġ(_ last Player . value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġpass () Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ event Pass Turn . value Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġon Pass Turn Complete () Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ event Pass Turn . value Ġ= Ġfalse ĊĠĠĠ Ġ} Ċ }