PutOutsideAction.py 866B

1234567891011121314151617181920
  1. from intelligine.cst import CANT_CARRY_STILL, BRAIN_PART_PUT, COL_PUT_OUTSIDE, MODE_EXPLO
  2. from intelligine.synergy.event.transport.PutOutsideEvent import PutOutsideEvent
  3. from intelligine.synergy.event.transport.PutableAction import PutableAction
  4. class PutOutsideAction(PutableAction):
  5. _listen = PutOutsideEvent
  6. def run(self, obj, context, synergy_manager):
  7. # TODO: Refact avec pare,t
  8. obj_transported = obj.get_carried()
  9. obj_transported.set_carried_by(None)
  10. obj.put_carry(obj_transported, self._parameters['position_to_put'])
  11. context.metas.value.set(CANT_CARRY_STILL, obj.get_id(), 5)
  12. obj.reinit_put_fail_count()
  13. # obj.get_brain().get_part(BRAIN_PART_PUT).done(obj_transported)
  14. obj._remove_col(COL_PUT_OUTSIDE)
  15. obj.get_brain().switch_to_mode(MODE_EXPLO) # TODO: dans le brain.done