public CombatAINode Create(CombatController controller) { var node = new CombatAINode(); conditionals.ForEach(c => { node.AddConditional(c.Create(controller)); }); abilities.ForEach(a => { node.AddAbility(a.Create(controller)); }); return(node); }
public void SetupAction(Action callback) { nodeToUse = null; foreach (var node in nodes) { if (node.CanUse()) { nodeToUse = node; nodeToUse.SetupAction((ability) => { controller.character.broadcastPreparedAIAbility(ability); callback(); }); return; } } }
public void AddNode(CombatAINode node) { nodes.Add(node); }