public void AddLoop(IActor conditionActor, Func <bool> condition, ActionChain body) { AddAction(new ChainElement(conditionActor, new LoopAction(conditionActor, condition, body))); }
public ConditionalAction(Func <bool> condition, ActionChain trueChain, ActionChain falseChain) { TrueChain = trueChain; FalseChain = falseChain; }
public void AddBranch(IActor conditionActor, Func <bool> condition, ActionChain trueBranch, ActionChain falseBranch) { AddAction(new ChainElement(conditionActor, new ConditionalAction(condition, trueBranch, falseBranch))); }
public LoopAction(IActor conditionActor, Func <bool> condition, ActionChain body) { Body = body; Condition = condition; body.AddAction(conditionActor, this); }