package Ġio . kom mon s . design patterns . extension objects Ċ Ċ import Ġio . kom mon s . logging . K Logging Ċ import Ġio . kom mon s . logging . info Ċ Ċ class ĠSol dier ( val Ġunit : ĠSol dier Unit ): ĠSol dier Extension Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject : ĠK Logging () ĊĊĠĠĠ Ġoverride Ġfun Ġsol dier Ready () Ġ{ ĊĠĠĠĠĠĠĠ Ġlog . info Ġ{ Ġ"[ Soldier ] Ġ${ unit . name } Ġis Ġready " Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠSer ge ant ( val Ġunit : ĠSer ge ant Unit ): ĠSer ge ant Extension Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject : ĠK Logging () ĊĊĠĠĠ Ġoverride Ġfun Ġser ge ant Ready () Ġ{ ĊĠĠĠĠĠĠĠ Ġlog . info Ġ{ Ġ"[ Ser ge ant ] Ġ${ unit . name } Ġis Ġready " Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠCommand er ( val Ġunit : ĠCommand er Unit ): ĠCommand er Extension Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject : ĠK Logging () ĊĊĠĠĠ Ġoverride Ġfun Ġcommand er Ready () Ġ{ ĊĠĠĠĠĠĠĠ Ġlog . info Ġ{ Ġ"[ Command er ] Ġ${ unit . name } Ġis Ġready " Ġ} ĊĠĠĠ Ġ} Ċ }