private Dictionary <string, UpdateStep> GetUpdateGraphFromString(UpdateGraph <string> graph, string str) { var dictionary = new Dictionary <string, UpdateStep>(); var provider = new UpdateOrderProvider(); var updateNodes = str.Split(' '); foreach (var node in updateNodes) { (var name, var triggering, var triggered, var actual) = ParseUpdateStep(node); if (!dictionary.TryGetValue(name, out var step)) { step = new UpdateStep(provider, name); dictionary.Add(name, step); } foreach (var trigger in actual) { step.Triggers.Add(trigger); } graph.AddUpdate(triggering, new UpdateFunction <string>(step.Update, name), triggered); } return(dictionary); }
public UpdateStep(UpdateOrderProvider provider, string name) { Provider = provider; Name = name; }