package Ġc ga . exercise . components . D or ado čĊč Ċ import Ġc ga . exercise . components . geometry . Mesh č Ċ import Ġc ga . exercise . components . geometry . Render able č Ċ import Ġorg . j om l . Vector 3 f čĊč Ċ class ĠToken ( var Ġis Blocked : Boolean Ġ= Ġfalse , Ġvar Ġposition : ĠInt Ġ= Ġ 0 , Ġvar Ġcolour : ĠVector 3 f , Ġvar Ġnumber : ĠInt , var Ġis Is land : ĠBoolean Ġ= Ġfalse , Ġmesh List : ĠMutable List < Mesh >) Ġ: ĠRender able ( mesh List ) Ġ{ čĊčĊĠĠĠ Ġfun Ġmove ( hex agon List : ĠMutable List < Hex agon >, Ġamount : ĠInt ){ čĊčĊĠĠĠĠĠĠĠ Ġfor ( i Ġin Ġ 0 Ġuntil Ġamount ){ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġne ue Pos i Ġ= Ġhex agon List [ position + i ]. get World Position () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġste in Pos i Ġ= Ġthis . get World Position () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmov Ġ= Vector 3 f (( ne ue Pos i . x Ġ- Ġste in Pos i . x ), Ġ(( ne ue Pos i . y Ġ+ Ġ 0 . 0 7 f ) Ġ- Ġste in Pos i . y ), Ġ( ne ue Pos i . z Ġ- Ġste in Pos i . z )) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . translate Global ( mov ) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġposition Ġ+= Ġamount čĊčĊĠĠĠ Ġ} č Ċ }