package Ġdev . ray zr . game bo i . game Ċ Ċ import Ġdev . ray zr . game bo i . render . Render Context Ċ import Ġnet . dv 8 tion . j da . api . entities . Message Ċ import Ġnet . dv 8 tion . j da . api . entities . Message Reaction Ċ Ċ abstract Ġclass ĠGame ( private Ġval Ġwidth : ĠInt , Ġprivate Ġval Ġheight : ĠInt , Ġval Ġname : ĠString , Ġval Ġmax Players : ĠInt ) Ġ{ ĊĠĠĠ Ġfun Ġcreate Render Context ( match : ĠMatch ): ĠRender Context Ġ= ĠRender Context ( match , Ġwidth , Ġheight ) ĊĊĠĠĠ Ġfun Ġrender ( match : ĠMatch , Ġre actions : ĠList < String >, Ġembed Description : ĠString ? Ġ= Ġnull , Ġmessage Contents : ĠString ? Ġ= Ġnull , Ġfunction : ĠRender Context . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmatch . render Context . clear () ĊĠĠĠĠĠĠĠ Ġfunction . invoke ( match . render Context ) ĊĠĠĠĠĠĠĠ Ġmatch . render Context . draw ( embed Description , Ġmessage Contents ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Re actions ( it , Ġre actions ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġadd Re actions ( message : ĠMessage , Ġre actions : ĠList < String >) Ġ= Ġre actions . forEach Ġ{ Ġmessage . add Reaction ( it ). queue () Ġ} ĊĊĠĠĠ Ġabstract Ġfun Ġbegin ( match : ĠMatch ) ĊĠĠĠ Ġabstract Ġfun Ġhandle Message ( player : ĠPlayer , Ġmatch : ĠMatch , Ġmessage : ĠMessage ) ĊĠĠĠ Ġabstract Ġfun Ġhandle Reaction ( player : ĠPlayer , Ġmatch : ĠMatch , Ġreaction : ĠMessage Reaction ) ĊĠĠĠ Ġabstract Ġfun Ġcreate Data ( match : ĠMatch ): ĠMatch Data Ċ } Ċ