X-Git-Url: https://git.yukkurigames.com/?p=python-bulletml.git;a=blobdiff_plain;f=bulletml%2Fparser.py;h=8bc23c0be3334f3471b046a5ef13512f6dda380b;hp=c8bc990b105bfab652326be334a7db4b0be6a820;hb=67aa3f0b15d5f8122a8f99f5903ec2e2029937c4;hpb=bf5ff1d116840e1330c80894132919ec515596e4 diff --git a/bulletml/parser.py b/bulletml/parser.py index c8bc990..8bc23c0 100644 --- a/bulletml/parser.py +++ b/bulletml/parser.py @@ -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.""" @@ -855,10 +861,13 @@ class FireDef(object): if appearance is None: appearance = owner.appearance + Action = action.__class__ + actions = [Action(None, action, params, rank) + for action, params in actions] bullet = owner.__class__( x=x, y=y, direction=direction, speed=speed, target=owner.target, actions=actions, rank=rank, - appearance=appearance, tags=tags, Action=action.__class__) + appearance=appearance, tags=tags) created.append(bullet) def __repr__(self):