12345678910111213141516171819202122232425262728293031 |
- from synergine_xyz.SynergyObject import SynergyObject as XyzSynergyObject
- from intelligine.cst import TRANSPORTABLE
-
-
- class Transportable(XyzSynergyObject):
-
- def __init__(self, collection, context):
- super().__init__(collection, context)
- self._carried_by = None
- context.metas.states.add(self.get_id(), TRANSPORTABLE)
-
- def set_carried_by(self, obj):
- if obj is not None:
- assert self._carried_by is None
- self._carried_by = obj
- self._context.metas.states.remove(self.get_id(), TRANSPORTABLE)
- else:
- assert self._carried_by is not None
- self._carried_by = None
- self._context.metas.states.add(self.get_id(), TRANSPORTABLE)
-
- def is_carried(self):
- if self._carried_by:
- return True
- return False
-
- def get_what_carry(self):
- return self
-
- def is_takable(self):
- return not self.is_carried()
|