public void OnExecuteNodeChanged(ExecuteNodeItem RootExecuteNode) { //Clear the Root execute node, then walk through it's connections and add the entries to collection DotaActionCollection ActionCollection = RootExecuteNode.ActionCollection; ActionCollection.Clear(); var connection = RootExecuteNode.Connector.Connectors.FirstOrDefault(); while (connection != null) { ActionNode node = connection.To.Node as ActionNode; if (node == null) { break; } ActionCollection.Add(node.DotaAction); connection = node.OutputExecute.Connector.Connectors.FirstOrDefault(); } Console.WriteLine("Complete Collection: " + ActionCollection.ToString()); }
public EventNode(DotaEvent Event, DotaActionCollection BackingCollection) : base(Event.ClassName) { this.Event = Event; this.ActionCollection = BackingCollection; this.HeaderColor = System.Drawing.Brushes.Brown; AddExecPin(); AddTargetNodes(); AddSpecialPins(); }