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
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."""
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):