public ActionGraph Then(ActionGraph act) { Graph.AddRange(act.Graph); return(this); }
public Trigger(ActionGraph action, Condition condition = null) { Condition = condition; Action = action.Unravel(); }
public static List <QueueAction> Then(this List <QueueAction> ql, ActionGraph act) { ql.AddRange(act.Unravel()); return(ql); }
public ActionGraph(ActionGraph g) { Graph = new List <QueueAction>(g.Graph); }
public static ActionGraph MulliganChoice(ActionGraph Player = null) { return(new CreateChoice { Args = { Player, MulliganSelector, (int)ChoiceType.MULLIGAN } }); }
public Task <ActionResult> RunAsync(IEntity source, ActionGraph g) { return(g != null?RunAsync(source, g.Unravel()) : Task.FromResult(ActionResult.None)); }
public ActionResult Run(IEntity source, ActionGraph g) { return(RunAsync(source, g).Result); }
public void EnqueueDeferred(IEntity source, ActionGraph g) { // Don't queue unimplemented cards if (g != null) EnqueueDeferred(source, g.Unravel()); }
public void StartBlock(IEntity source, ActionGraph g, BlockStart gameBlock = null) { if (g != null) StartBlock(source, g.Unravel(), gameBlock); }