|
@@ 60-70 (lines=11) @@
|
| 57 |
|
def get_carried(self): |
| 58 |
|
return self._carried |
| 59 |
|
|
| 60 |
|
def carry(self, obj): |
| 61 |
|
self._carried = obj |
| 62 |
|
self._context.metas.states.add(self.get_id(), CARRYING) |
| 63 |
|
self._add_col(COL_TRANSPORTER_CARRYING) |
| 64 |
|
self._remove_col(COL_TRANSPORTER_NOT_CARRYING) |
| 65 |
|
obj.set_is_carried(True, self) |
| 66 |
|
self._context.metas.value.set(CARRY, self.get_id(), obj.get_id()) |
| 67 |
|
# TODO: pour le moment hardcode, a gerer dans AntTakeBrainPart (callback en fct de ce qui est depose) |
| 68 |
|
if isinstance(obj, Food): |
| 69 |
|
self.get_brain().switch_to_mode(MODE_GOHOME) |
| 70 |
|
self.get_movement_molecule_gland().appose() |
| 71 |
|
|
| 72 |
|
def is_carrying(self): |
| 73 |
|
if self._carried: |
|
@@ 46-55 (lines=10) @@
|
| 43 |
|
def get_movement_molecule_gland(self): |
| 44 |
|
return self.get_body_part(BODY_PART_PHEROMONE_GLAND) |
| 45 |
|
|
| 46 |
|
def put_carry(self, obj, position=None): |
| 47 |
|
if position is None: |
| 48 |
|
position = self._get_position() |
| 49 |
|
self._carried = None |
| 50 |
|
obj.set_position(position) |
| 51 |
|
obj.set_is_carried(False, self) |
| 52 |
|
self._context.metas.states.remove(self.get_id(), CARRYING) |
| 53 |
|
self._context.metas.value.unset(CARRY, self.get_id()) |
| 54 |
|
self._add_col(COL_TRANSPORTER_NOT_CARRYING) |
| 55 |
|
self._remove_col(COL_TRANSPORTER_CARRYING) |
| 56 |
|
|
| 57 |
|
def get_carried(self): |
| 58 |
|
return self._carried |