BaseBug.py 1.1KB

1234567891011121314151617181920212223242526272829303132333435
  1. from xyzworld.SynergyObject import SynergyObject as XyzSynergyObject
  2. from synergine.metas import metas
  3. from intelligine.cst import ALIVE, ATTACKABLE, TRANSPORTABLE
  4. from synergine.synergy.Simulation import Simulation
  5. class BaseBug(XyzSynergyObject):
  6. def __init__(self):
  7. super().__init__()
  8. metas.list.add(Simulation.STATE, self.get_id(), ALIVE)
  9. metas.list.add(Simulation.STATE, self.get_id(), ATTACKABLE)
  10. self._life_points = 10
  11. self._carried_by = None
  12. def hurted(self, points):
  13. self._life_points -= points
  14. def get_life_points(self):
  15. return self._life_points
  16. def set_carried_by(self, obj):
  17. if obj is not None:
  18. assert self._carried_by is None
  19. self._carried_by = obj
  20. metas.list.remove(Simulation.STATE, self.get_id(), TRANSPORTABLE)
  21. else:
  22. assert self._carried_by is not None
  23. self._carried_by = None
  24. metas.list.add(Simulation.STATE, self.get_id(), TRANSPORTABLE)
  25. def is_carried(self):
  26. if self._carried_by:
  27. return True
  28. return False