Browse Source

Carrying methods in Transportable

Bastien Sevajol 9 years ago
parent
commit
e560a693bb
2 changed files with 11 additions and 11 deletions
  1. 1 9
      intelligine/synergy/object/BaseBug.py
  2. 10 2
      intelligine/synergy/object/Transportable.py

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

@@ -1,6 +1,6 @@
1 1
 from intelligine.core.exceptions import BodyPartAlreadyExist
2 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 4
 from intelligine.simulation.object.brain.Brain import Brain
5 5
 
6 6
 
@@ -18,7 +18,6 @@ class BaseBug(Transportable):
18 18
         self._brain = self._get_brain_instance()
19 19
         self._parts = {}
20 20
         self._init_parts()
21
-        self._is_carried = False
22 21
 
23 22
     def die(self):
24 23
         self._remove_state(ALIVE)
@@ -55,10 +54,3 @@ class BaseBug(Transportable):
55 54
 
56 55
     def get_brain(self):
57 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,5 +1,5 @@
1 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 5
 class Transportable(XyzSynergyObject):
@@ -8,6 +8,7 @@ class Transportable(XyzSynergyObject):
8 8
         super().__init__(collection, context)
9 9
         self._carried_by = None
10 10
         context.metas.states.add(self.get_id(), TRANSPORTABLE)
11
+        self._is_carried = False
11 12
 
12 13
     def set_carried_by(self, obj):
13 14
         if obj is not None:
@@ -28,4 +29,11 @@ class Transportable(XyzSynergyObject):
28 29
         return self
29 30
 
30 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())