Action.Child: Handle calling the definition.
[python-bulletml.git] / bulletml / parser.py
index c8bc990..aee4f90 100644 (file)
@@ -367,8 +367,7 @@ class Repeat(object):
 
     def __call__(self, owner, action, params, rank, created):
         repeat = self.times(params, rank)
-        actions, params = self.action(params, rank)
-        child = action.Child(actions, params, rank, repeat)
+        child = action.Child(self.action, params, rank, repeat)
         owner.replace(action, child)
         child.step(owner, created)
         return True
@@ -422,11 +421,18 @@ class If(object):
             branch = self.else_
 
         if branch:
-            actions, params = branch(params, rank)
-            child = action.Child(actions, params, rank)
+            child = action.Child(branch, params, rank)
             owner.replace(action, child)
             child.step(owner, created)
             return True
+
+    def __repr__(self):
+        if self.else_:
+            return "%s(%r, then=%r, else_=%r)" % (
+                type(self).__name__, self.cond, self.then, self.else_)
+        else:
+            return "%s(%r, then=%r)" % (
+                type(self).__name__, self.cond, self.then)
         
 class Accel(object):
     """Accelerate over some time."""