Browse Source

clean code of actions

Bastien Sevajol 9 years ago
parent
commit
975e5756c1

+ 0 - 4
intelligine/synergy/event/move/MoveAction.py View File

14
         self._move_to_point = None
14
         self._move_to_point = None
15
         self._move_to_direction = None
15
         self._move_to_direction = None
16
 
16
 
17
-    def prepare(self, context):
18
-        # TODO: C'est event qui doit tout preparer. Action::prepare pourra meme disparaitre ?
19
-        pass
20
-
21
     def run(self, obj, context, synergy_manager):
17
     def run(self, obj, context, synergy_manager):
22
         try:
18
         try:
23
             self._apply_move(obj, context)
19
             self._apply_move(obj, context)

+ 9 - 18
intelligine/synergy/event/transport/TakeableAction.py View File

6
 
6
 
7
 
7
 
8
 class TakeableAction(Action):
8
 class TakeableAction(Action):
9
-    """
10
-    TODO: Prendre le premier prenable, interrompre la recherche si trouve
11
-          si au run de l'action objet non prenable, tant pis. ActionAborted.
12
-    """
9
+
13
     _listen = TakeableEvent
10
     _listen = TakeableEvent
14
     _depend = [MoveAction]
11
     _depend = [MoveAction]
15
 
12
 
16
     def __init__(self, object_id, parameters):
13
     def __init__(self, object_id, parameters):
17
         super().__init__(object_id, parameters)
14
         super().__init__(object_id, parameters)
18
 
15
 
19
-    def prepare(self, context):
20
-        # TODO: C l'event qui doit preparer les donnees
21
-        pass
22
-
23
     def run(self, obj, context, synergy_manager):
16
     def run(self, obj, context, synergy_manager):
24
         obj_id_transportable = self._parameters[TakeableEvent.PARAM_TAKE]
17
         obj_id_transportable = self._parameters[TakeableEvent.PARAM_TAKE]
25
         obj_transportable = synergy_manager.get_map().get_object(obj_id_transportable)
18
         obj_transportable = synergy_manager.get_map().get_object(obj_id_transportable)
26
-        if obj_transportable.is_carried():  # TODO: is_takable
19
+
20
+        if not obj_transportable.is_takable():
27
             raise ActionAborted()
21
             raise ActionAborted()
28
-        try:
29
-            obj_carried = obj_transportable.get_what_carry()
30
-            obj_carried.set_carried_by(obj)
31
-            obj.carry(obj_carried)
32
-            context.metas.value.set(CANT_PUT_STILL, obj.get_id(), 5)
33
-            obj.get_brain().get_part(BRAIN_PART_TAKE).done(obj, obj_carried, context)
34
-        except ValueError: # Une NotCarriableError serais pus approprie
35
-            # TODO: tmp? Si on as pas pu le porter c'est qu'il vient d'etre porte par une autre.
36
-            pass
22
+
23
+        obj_carried = obj_transportable.get_what_carry()
24
+        obj_carried.set_carried_by(obj)
25
+        obj.carry(obj_carried)
26
+        context.metas.value.set(CANT_PUT_STILL, obj.get_id(), 5)
27
+        obj.get_brain().get_part(BRAIN_PART_TAKE).done(obj, obj_carried, context)

+ 4 - 1
intelligine/synergy/object/Transportable.py View File

24
         return False
24
         return False
25
 
25
 
26
     def get_what_carry(self):
26
     def get_what_carry(self):
27
-        return self
27
+        return self
28
+
29
+    def is_takable(self):
30
+        return not self.is_carried()