Browse Source

Carrying methods in Transportable

Bastien Sevajol 9 years ago
parent
commit
e560a693bb

+ 1 - 9
intelligine/synergy/object/BaseBug.py View File

1
 from intelligine.core.exceptions import BodyPartAlreadyExist
1
 from intelligine.core.exceptions import BodyPartAlreadyExist
2
 from intelligine.synergy.object.Transportable import Transportable
2
 from intelligine.synergy.object.Transportable import Transportable
3
-from intelligine.cst import ALIVE, ATTACKABLE, COL_ALIVE, COLONY, CARRIED
3
+from intelligine.cst import ALIVE, ATTACKABLE, COL_ALIVE, COLONY
4
 from intelligine.simulation.object.brain.Brain import Brain
4
 from intelligine.simulation.object.brain.Brain import Brain
5
 
5
 
6
 
6
 
18
         self._brain = self._get_brain_instance()
18
         self._brain = self._get_brain_instance()
19
         self._parts = {}
19
         self._parts = {}
20
         self._init_parts()
20
         self._init_parts()
21
-        self._is_carried = False
22
 
21
 
23
     def die(self):
22
     def die(self):
24
         self._remove_state(ALIVE)
23
         self._remove_state(ALIVE)
55
 
54
 
56
     def get_brain(self):
55
     def get_brain(self):
57
         return self._brain
56
         return self._brain
58
-
59
-    def set_is_carried(self, is_carried, by_obj):
60
-        self._is_carried = bool(is_carried)
61
-        if self._is_carried:
62
-            self._context.metas.value.set(CARRIED, subject=by_obj.get_id(), value=self.get_id())
63
-        else:
64
-            self._context.metas.value.unset(CARRIED, subject=by_obj.get_id())

+ 10 - 2
intelligine/synergy/object/Transportable.py View File

1
 from synergine_xyz.SynergyObject import SynergyObject as XyzSynergyObject
1
 from synergine_xyz.SynergyObject import SynergyObject as XyzSynergyObject
2
-from intelligine.cst import TRANSPORTABLE
2
+from intelligine.cst import TRANSPORTABLE, CARRIED
3
 
3
 
4
 
4
 
5
 class Transportable(XyzSynergyObject):
5
 class Transportable(XyzSynergyObject):
8
         super().__init__(collection, context)
8
         super().__init__(collection, context)
9
         self._carried_by = None
9
         self._carried_by = None
10
         context.metas.states.add(self.get_id(), TRANSPORTABLE)
10
         context.metas.states.add(self.get_id(), TRANSPORTABLE)
11
+        self._is_carried = False
11
 
12
 
12
     def set_carried_by(self, obj):
13
     def set_carried_by(self, obj):
13
         if obj is not None:
14
         if obj is not None:
28
         return self
29
         return self
29
 
30
 
30
     def is_takable(self):
31
     def is_takable(self):
31
-        return not self.is_carried()
32
+        return not self.is_carried()
33
+
34
+    def set_is_carried(self, is_carried, by_obj):
35
+        self._is_carried = bool(is_carried)
36
+        if self._is_carried:
37
+            self._context.metas.value.set(CARRIED, subject=by_obj.get_id(), value=self.get_id())
38
+        else:
39
+            self._context.metas.value.unset(CARRIED, subject=by_obj.get_id())