package Ġnet . tor val d . ter rar um . game actors Ċ Ċ import Ġcom . badlogic . gdx . graphics . Color Ċ import Ġcom . badlogic . gdx . graphics . g 2 d . Sprite Batch Ċ import Ġnet . tor val d . sprite animation . Sprite Animation Ċ import Ġnet . tor val d . ter rar um . App Ċ import Ġnet . tor val d . ter rar um . Common Resource Pool Ċ import Ġnet . tor val d . ter rar um . T err ar um Ċ import Ġnet . tor val d . ter rar um . T err ar um App Configuration . TILE _ SIZ ED Ċ import Ġnet . tor val d . ter rar um sans bitmap . gdx . Texture Region Pack Ċ import Ġkotlin . math . floor Ċ Ċ /** Ċ Ġ* ĠUsed Ġas Ġconstruction Ġmarkers Ġand Ġfixture Ġghost Ġimages Ċ Ġ*/ Ċ class ĠBlock Marker Actor Ġ: ĠActor With Body ( Actor . Render Order . OVER LAY , Ġphys Prop Ġ= ĠPh ys Properties . MOB ILE _ OBJECT ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġdefault Size Ġ= Ġ 1 6 . 0 ĊĊĠĠĠ Ġoverride Ġvar Ġreference ID : ĠActor ID Ġ= Ġ 2 1 4 7 4 8 3 6 4 7 Ġ// Ġcustom Ġref ID ĊĠĠĠ Ġoverride Ġval Ġhit box Ġ= ĠHit box ( 0 . 0 , Ġ 0 . 0 , ĠT ILE _ SIZ ED , ĠT ILE _ SIZ ED ) ĊĊĠĠĠ Ġvar Ġmarker Colour Ġ= ĠColor . YELLOW ĊĠĠĠ Ġvar Ġmarker Shape Ġ= Ġ 0 ĊĊĠĠĠ Ġprivate Ġval Ġblock Mark ings : ĠTexture Region Pack ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠCommon Resource Pool . getAs Texture Region Pack (" block mark ings _ common ") ĊĊĠĠĠ Ġprivate Ġvar Ġghost : ĠSprite Animation ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġhas Ghost Ġ= Ġfalse ĊĠĠĠ Ġvar Ġghost Colour Ġ= ĠColor . WHITE ĊĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġrender Order Ġ= ĠActor . Render Order . OVER LAY Ġ// Ġfor Ġsome Ġreason Ġthe Ġconstructor Ġdidn 't Ġwork ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdraw Body ( batch : ĠSprite Batch ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( isVisible ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( has Ghost ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbatch . shader Ġ= ĠApp . shader Gh ast ly White ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( ghost Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbatch . color Ġ= Ġghost Colour ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Sprite In Good Position ( ghost !! , Ġbatch ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbatch . shader Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbatch . color Ġ= Ġmarker Colour ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbatch . draw ( block Mark ings . get ( marker Shape , Ġ 0 ), Ġhit box . start X . toFloat (), Ġhit box . start Y . toFloat ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbatch . shader Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġbatch . color Ġ= ĠColor . WHITE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdraw G low ( batch : ĠSprite Batch ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbatch . color Ġ= ĠColor . WHITE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdispose () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate ( delta : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( isVisible ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhit box . setPosition ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠT err ar um . mouse Tile X Ġ* ĠT ILE _ SIZ ED , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( T err ar um . mouse Tile Y Ġ- Ġfloor (( hit box . height Ġ- Ġ 0 . 5 ) Ġ/ ĠT ILE _ SIZ ED )) Ġ* ĠT ILE _ SIZ ED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Actor Value Change ( key : ĠString , Ġvalue : ĠAny ?) Ġ{ Ġ} ĊĊĊĠĠĠ Ġfun Ġset Ghost ( actor : ĠActor With Body ) Ġ{ ĊĠĠĠĠĠĠĠ Ġghost Ġ= Ġactor . sprite ĊĠĠĠĠĠĠĠ Ġhas Ghost Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġhit box . set Dimension ( actor . base Hit box W . toDouble (), Ġactor . base Hit box H . toDouble ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġunset Ghost () Ġ{ ĊĠĠĠĠĠĠĠ Ġghost Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġhas Ghost Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġset Ghost Colour None () ĊĠĠĠĠĠĠĠ Ġhit box . set Dimension ( TILE _ SIZ ED , ĠT ILE _ SIZ ED ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Ghost Colour None () Ġ{ Ġghost Colour Ġ= ĠColor . WHITE Ġ} ĊĠĠĠ Ġfun Ġset Ghost Colour Allow () Ġ{ Ġghost Colour Ġ= ĠColor (- 1 ) Ġ} ĊĠĠĠ Ġfun Ġset Ghost Colour Block () Ġ{ Ġghost Colour Ġ= ĠColor ( 0 ) Ġ} Ċ }