package Ġcom . github . v ini 2 0 0 3 . blade . common . mis cellaneous Ċ Ċ interface ĠPosition Ġ: ĠPosition Holder Ġ{ Ċ ĉ fun Ġoffset ( x : ĠNumber , Ġy : ĠNumber ): ĠPosition Ġ= Ġof ( this , Ġx . toFloat (), Ġy . toFloat ()) ĊĊ ĉ comp anion Ġobject Ġ{ Ċĉ ĉ @ Jvm Static Ċĉ ĉ fun Ġof ( x : ĠNumber , Ġy : ĠNumber ): ĠPosition Ġ= ĠSimple Position ( x . toFloat (), Ġy . toFloat ()) ĊĊĉ ĉ @ Jvm Static Ċĉ ĉ fun Ġof ( anchor : ĠPosition Holder , Ġx : ĠNumber , Ġy : ĠNumber ): ĠPosition Ġ= Ġof ( x . toFloat () Ġ+ Ġanchor . x , Ġy . toFloat () Ġ+ Ġanchor . y ) ĊĊĉ ĉ @ Jvm Static Ċĉ ĉ fun Ġof ( anchor : ĠPosition Holder ): ĠPosition Ġ= Ġof ( anchor , Ġ 0 , Ġ 0 ) Ċ ĉ } ĊĊ ĉ data Ġclass ĠSimple Position ( override Ġval Ġx : ĠFloat , Ġoverride Ġval Ġy : ĠFloat ) Ġ: ĠPosition Ċ } Ċ Ċ interface ĠPosition ed Ġ: ĠPosition Holder Ġ{ Ċ ĉ var Ġposition : ĠPosition ĊĊ ĉ override Ġvar Ġx : ĠFloat Ċĉ ĉ get () Ġ= Ġposition . x Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ position Ġ= ĠPosition . of ( value , Ġposition . y ) Ċĉ ĉ } ĊĊ ĉ override Ġvar Ġy : ĠFloat Ċĉ ĉ get () Ġ= Ġposition . y Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ position Ġ= ĠPosition . of ( position . x , Ġvalue ) Ċĉ ĉ } Ċ } Ċ Ċ interface ĠPosition Holder Ġ{ Ċ ĉ val Ġx : ĠFloat Ċ ĉ val Ġy : ĠFloat Ċ }