package Ġde . gle ex . plt cmd . game . engine . attributes . goals . test implement ations Ċ Ċ import Ġde . gle ex . plt cmd . game . engine . Game Context Ċ import Ġde . gle ex . plt cmd . game . engine . attributes . goals . Goal Ċ import Ġde . gle ex . plt cmd . game . engine . entities . types . Element Entity Ċ import Ġorg . hex works . ame th yst . api . Message Ċ import Ġorg . hex works . cob alt . datat ypes . Maybe Ċ Ċ /** Ċ Ġ* ĠA Ġgoal Ġused Ġas Ġsub - goal Ġthat Ġis Ġfinished Ġafter Ġone Ġinvocation Ġof Ġ[ step ]. ĠThis Ġinvocation Ġreturns Ġa Ġ[ Test Message ] Ċ Ġ* Ġcontaining Ġ[ value ]. Ċ Ġ* Ċ Ġ* Ġ@ param Ġvalue Ġto Ġbe Ġput Ġinto Ġthe Ġ[ Test Message ] Ġreturned Ġby Ġ[ step ]. Ċ Ġ*/ Ċ data Ġclass ĠTest Sub Goal ( val Ġvalue : ĠInt ) Ġ: ĠGoal () Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġfinished Ġ= Ġfalse ĊĠĠĠ Ġoverride Ġfun Ġis Finished ( element : ĠElement Entity ) Ġ= Ġfinished ĊĊĠĠĠ Ġoverride Ġfun Ġstep ( element : ĠElement Entity , Ġcontext : ĠGame Context ): ĠMaybe < Message < Game Context >> Ġ{ ĊĠĠĠĠĠĠĠ Ġfinished Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġreturn ĠMaybe . of ( Test Message ( value , Ġelement , Ġcontext )) ĊĠĠĠ Ġ} Ċ }