12345678910111213141516171819202122232425 |
- from intelligine.synergy.event.move.MoveAction import MoveAction
- from synergine.synergy.event.Action import Action
- from intelligine.synergy.event.transport.PutableEvent import PutableEvent
- from intelligine.cst import CANT_CARRY_STILL, BRAIN_PART_PUT
-
-
- class PutableAction(Action):
-
- _listen = PutableEvent
- _depend = [MoveAction]
-
- def __init__(self, object_id, parameters):
- super().__init__(object_id, parameters)
-
- def run(self, obj, context, synergy_manager):
- position_to_put = self._parameters[PutableEvent.PARAM_PUT_TO]
- obj_transported = obj.get_carried()
-
- obj_transported.set_carried_by(None)
- # TODO: re controle de si posable ? (5 max etc)
- obj.put_carry(obj_transported, position_to_put)
- context.metas.value.set(CANT_CARRY_STILL, obj.get_id(), 5)
-
- obj.get_brain().get_part(BRAIN_PART_PUT).done(obj, obj_transported, context)
|