def production_spawn(self):
     self.owner.production_list.remove(self)
     self.is_idle = True
     self.is_visible = True
     # change state
     self.fsm.change_state(states.StateIdle())
     # free structure
     self.origin_structure.fsm.change_state(states.StateIdle())
 def production_spawn(self):
     self.owner.production_list.remove(self)
     # position to building
     self.location = self.origin_structure.location
     # spawn
     super().spawn()
     # notify owner
     message = dispatcher.Message(self, dispatcher.MSG.NewWorkerUnit)
     self.owner.fsm.handle_message(message)
     # free structure
     self.origin_structure.fsm.change_state(states.StateIdle())
 def spawn(self):
     self.owner.add_entity(self)
     #sprite/asset
     self.image.fill(g_vars["Game"]["Colors"][self.tile_color])
     self.rect = self.image.get_rect()
     # initial draw
     self.is_visible = True
     self.rect.x = self.location[0] * g_vars["Game"]["TileSize"] + g_vars[
         "Game"]["TileSize"] / 3
     self.rect.y = self.location[1] * g_vars["Game"]["TileSize"] + g_vars[
         "Game"]["TileSize"] / 3
     # state
     self.fsm.change_state(states.StateIdle())