package Ġorg . hex works . z ir con . internal . util . rex Ċ Ċ import Ġorg . hex works . z ir con . api . builder . data . Tile Builder Ċ import Ġorg . hex works . z ir con . api . builder . graphics . Layer Builder Ċ import Ġorg . hex works . z ir con . api . color . Tile Color Ċ import Ġorg . hex works . z ir con . api . data . Position Ċ import Ġorg . hex works . z ir con . api . data . Size Ċ import Ġorg . hex works . z ir con . api . graphics . Layer Ċ import Ġorg . hex works . z ir con . api . resource . Tile set Resource Ċ import Ġjava . nio . ByteBuffer Ċ Ċ /** Ċ Ġ* ĠRepresents Ġa ĠR EX ĠPaint ĠLayer , Ġwhich Ġcontains Ġits Ġsize Ġinformation Ġ( width , Ġheight ) Ġand Ġa Ġ[ List ] Ġof Ġ[ RE X Cell ] s . Ċ Ġ*/ Ċ data Ġclass ĠR EX Layer ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġwidth : ĠInt , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġheight : ĠInt , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġcells : ĠList < RE X Cell > Ċ ) Ġ{ ĊĊĠĠĠ Ġfun Ġget Width () Ġ= Ġwidth ĊĊĠĠĠ Ġfun Ġget Height () Ġ= Ġheight ĊĊĠĠĠ Ġfun Ġget Cells () Ġ= Ġcells ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġitself Ġas Ġa Ġ[ RE X Layer ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġto Layer ( tile set : ĠTile set Resource ): ĠLayer Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlayer Ġ= ĠLayer Builder . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Tile set ( tile set ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Size ( Size . create ( width , Ġheight )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( y Ġin Ġ 0 Ġuntil Ġheight ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( x Ġin Ġ 0 Ġuntil Ġwidth ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠHave Ġto Ġswap Ġx Ġand Ġy Ġdue Ġto Ġhow Ġimage Ġdata Ġis Ġstored ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcell Ġ= Ġcells [ x Ġ* Ġheight Ġ+ Ġy ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( cell . get BackgroundColor () Ġ== ĠTRAN SP ARENT _ BACKGROUND ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSkip Ġtransparent Ġcharacters ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayer . draw ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtile Ġ= ĠTile Builder . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Character ( cell . get Character ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with BackgroundColor ( cell . get BackgroundColor ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with ForegroundColor ( cell . get ForegroundColor ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Position Ġ= ĠPosition . create ( x , Ġy )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġlayer ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠTRAN SP ARENT _ BACKGROUND Ġ= ĠTile Color . create ( 2 5 5 , Ġ 0 , Ġ 2 5 5 ) ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠFactory Ġmethod Ġfor Ġ[ RE X Layer ], Ġwhich Ġreads Ġout ĠLayer Ġinformation Ġfrom Ġa Ġ[ ByteBuffer ]. ĊĠĠĠĠĠĠĠĠ Ġ* ĠThis Ġautomatically Ġgenerates Ġ[ RE X Cell ] Ġobjects Ġfrom Ġthe Ġdata Ġprovided . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġfrom ByteBuffer ( buffer : ĠByteBuffer ): ĠR EX Layer Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwidth Ġ= Ġbuffer . int ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġheight Ġ= Ġbuffer . int ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcells : ĠMutable List < RE X Cell > Ġ= Ġmutable ListOf () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġwidth Ġ* Ġheight ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcells . add ( RE X Cell . from ByteBuffer ( buffer )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠR EX Layer ( width , Ġheight , Ġcells ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ