package Ġcom . ser ge y . space game . common . event Ċ Ċ import Ġcom . badlogic . ash ley . core . Entity Ċ import Ġcom . google . gson . Gson Builder Ċ import Ġcom . ser ge y . space game . common . game . Level Ċ import Ġcom . ser ge y . space game . common . game . orders . I Order Ċ import Ġorg . lu aj . vm 2 . Lua Value Ċ Ċ // -------------------------------- ----------- Ċ // Simple Ġevents Ċ Ċ /** Ċ Ġ* ĠAn Ġevent Ġto Ġregister Ġthings Ġto Ġthe ĠGson Ġbefore Ġit Ġis Ġbuilt Ċ Ġ* Ċ Ġ* Ġ@ author Ġser ge ys Ċ Ġ*/ Ċ class ĠGson Register Event ( val Ġgson : ĠGson Builder ) Ġ: ĠEvent () Ċ Ċ /** Ċ Ġ* ĠAn Ġevent Ġthat Ġis Ġcalled Ġwhen Ġa Ġlevel Ġis Ġbe gun Ċ Ġ* Ċ Ġ* Ġ@ author Ġser ge ys Ċ Ġ*/ Ċ class ĠBegin Level Event ( val Ġlevel : ĠLevel ) Ġ: ĠEvent () Ċ Ċ /** Ċ Ġ* ĠAn Ġevent Ġthat Ġis Ġcalled Ġafter Ġlua Ġposted Ġa Ġdelay Ġevent Ġwith Ġa Ġgiven Ġid Ġand Ġvalue Ċ Ġ* Ċ Ġ* Ġ@ author Ġser ge ys Ċ Ġ*/ Ċ class ĠLua Delay Event ( val Ġid : ĠLua Value , Ġval Ġparameter : ĠLua Value ) Ġ: ĠEvent () Ċ Ċ // -------------------------------- ----------- Ċ // Single Ġinstance Ġper Ġbuilder Ġevents Ċ Ċ /** Ċ Ġ* ĠSelection ĠChange ĠEvent Ġdone Ġin Ġa Ġway Ġthat Ġthe Ġevent Ġis Ġcreated Ġthrough Ġa Ġbuilder Ġthat Ġuses Ġa Ġsingle Ġinstance Ċ Ġ* Ċ Ġ* Ġ@ author Ġser ge ys Ċ Ġ*/ Ċ class ĠSelection ChangeEvent Ġ: ĠEvent () Ġ{ ĊĠĠĠĠĊĠĠĠ Ġlateinit Ġvar Ġselected : ĠList < Entity > ĊĠĠĠĠĊĠĠĠ Ġclass ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġselection ChangeEvent Ġ= ĠSelection ChangeEvent () ĊĠĠĠĠĊĠĠĠĠĠĠĠ Ġoperator Ġfun Ġget ( selected : ĠList < Entity >): ĠSelection ChangeEvent Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselection ChangeEvent . selected Ġ= Ġselected ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġselection ChangeEvent ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠCommand ĠIss ued ĠEvent Ġdone Ġin Ġa Ġway Ġthat Ġthe Ġevent Ġis Ġcreated Ġthrough Ġa Ġbuilder Ġthat Ġuses Ġa Ġsingle Ġinstance Ċ Ġ* Ċ Ġ* Ġ@ author Ġser ge ys Ċ Ġ*/ Ċ class ĠCommand Iss ued Event Ġ: ĠEvent () Ġ{ ĊĠĠĠ Ġlateinit Ġvar Ġtargets : ĠIterator < Entity > ĊĠĠĠ Ġvar Ġcount : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġlateinit Ġvar Ġid : ĠString ĊĠĠĠĠĊĠĠĠ Ġclass ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġevent Ġ= ĠCommand Iss ued Event () ĊĠĠĠĠĊĠĠĠĠĠĠĠ Ġoperator Ġfun Ġget ( targets : ĠIterator < Entity >, Ġid : ĠString , Ġcount : ĠInt ): ĠCommand Iss ued Event Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevent . targets Ġ= Ġtargets ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevent . id Ġ= Ġid ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevent . count Ġ= Ġcount ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġevent ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠOrder ĠInitialized ĠEvent Ġdone Ġin Ġa Ġway Ġthat Ġthe Ġevent Ġis Ġcreated Ġthrough Ġa Ġbuilder Ġthat Ġuses Ġa Ġsingle Ġinstance Ċ Ġ* Ċ Ġ* Ġ@ author Ġser ge ys Ċ Ġ*/ Ċ class ĠOrder Initialized Event Ġ: ĠEvent () Ġ{ ĊĠĠĠĠĊĠĠĠ Ġlateinit Ġvar Ġorder : ĠI Order ĊĠĠĠĠĊĠĠĠ Ġclass ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġevent Ġ= ĠOrder Initialized Event () ĊĠĠĠĠĊĠĠĠĠĠĠĠ Ġoperator Ġfun Ġget ( order : ĠI Order ): ĠOrder Initialized Event Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevent . order Ġ= Ġorder ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġevent ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ // -------------------------------- ----------- Ċ // Other Ġevents Ċ