package Ġio . github . adv ancer man . tod d . asset . texture . static Ċ Ċ import Ġcom . badlogic . gdx . G dx Ċ import Ġcom . badlogic . gdx . graphics . g 2 d . Batch Ċ import Ġcom . badlogic . gdx . graphics . g 2 d . Texture Region Ċ import Ġio . github . adv ancer man . tod d . asset . texture . Base T odd Drawable Ċ import Ġio . github . adv ancer man . tod d . asset . texture . Cover ed T iled Region Info Ċ import Ġio . github . adv ancer man . tod d . asset . texture . Texture Manager Ċ import Ġkotlin . math . min Ċ Ċ class ĠCover ed T iled Drawable ( private Ġval Ġinfo : ĠCover ed T iled Region Info ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcover Tile : ĠTexture Region , Ġbody Tile : ĠTexture Region ) Ġ: ĠBase T odd Drawable () Ġ{ ĊĠĠĠ Ġconstructor ( info : ĠCover ed T iled Region Info ?, Ġregion : ĠTexture Region , Ġu h : ĠInt ) Ġ: ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinfo , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTexture Region ( region , Ġ 0 , Ġregion . region Height Ġ- Ġu h , Ġregion . region Width , Ġu h ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġregion . apply Ġ{ Ġregion Height Ġ-= Ġu h Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġconstructor ( info : ĠCover ed T iled Region Info , Ġregion : ĠTexture Region ) Ġ: Ġthis ( info , Ġregion , Ġinfo . uh ) ĊĊĠĠĠ Ġprivate Ġval Ġcover Ġ= ĠTransform T iled Drawable ( null , Ġcover Tile ) ĊĠĠĠ Ġprivate Ġval Ġbody Ġ= ĠTransform T iled Drawable ( null , Ġbody Tile ) ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠminWidth Ġ= Ġcover . min Width Ġ+ Ġbody . min Width ĊĠĠĠĠĠĠĠ ĠminHeight Ġ= Ġcover . min Height Ġ+ Ġbody . min Height ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdraw ( batch : ĠBatch , Ġx : ĠFloat , Ġy : ĠFloat , Ġwidth : ĠFloat , Ġheight : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġh Ġ= Ġmin ( cover . min Height , Ġheight ) ĊĠĠĠĠĠĠĠ Ġcover . draw ( batch , Ġx , Ġy Ġ+ Ġheight Ġ- Ġh , Ġwidth , Ġh ) ĊĠĠĠĠĠĠĠ Ġif Ġ( h Ġ!= Ġheight ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbody . draw ( batch , Ġx , Ġy , Ġwidth , Ġheight Ġ- Ġh ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdraw ( batch : ĠBatch , Ġx : ĠFloat , Ġy : ĠFloat , Ġorigin X : ĠFloat , Ġorigin Y : ĠFloat , Ġwidth : ĠFloat , Ġheight : ĠFloat , Ġscale X : ĠFloat , Ġscale Y : ĠFloat , Ġrotation : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġh Ġ= Ġmin ( cover . min Height , Ġheight ) ĊĠĠĠĠĠĠĠ Ġcover . draw ( batch , Ġx , Ġy Ġ+ Ġheight Ġ- Ġh , Ġorigin X , Ġorigin Y Ġ- Ġheight Ġ+ Ġh , Ġwidth , Ġh , Ġscale X , Ġscale Y , Ġrotation ) ĊĠĠĠĠĠĠĠ Ġif Ġ( h Ġ!= Ġheight ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbody . draw ( batch , Ġx , Ġy , Ġorigin X , Ġorigin Y , Ġwidth , Ġheight Ġ- Ġh , Ġscale X , Ġscale Y , Ġrotation ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdraw ( batch : ĠBatch , Ġx : ĠFloat , Ġy : ĠFloat , Ġorigin X : ĠFloat , Ġorigin Y : ĠFloat , Ġwidth : ĠFloat , Ġheight : ĠFloat , Ġscale X : ĠFloat , Ġscale Y : ĠFloat , Ġrotation : ĠFloat , Ġflip X : ĠBoolean , Ġflip Y : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( flip X Ġ|| Ġflip Y ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG dx . app . error (" Cover ed T iled Drawable ", Ġ" Flip Ġis Ġnot Ġsupported ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdraw ( batch , Ġx , Ġy , Ġorigin X , Ġorigin Y , Ġwidth , Ġheight , Ġscale X , Ġscale Y , Ġrotation ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdispose ( manager : ĠTexture Manager ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinfo ?. let Ġ{ Ġmanager . unload ( it ) Ġ} ĊĠĠĠ Ġ} Ċ } Ċ