Exemple #1
0
        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);
        }
Exemple #2
0
 public UpdateStep(UpdateOrderProvider provider, string name)
 {
     Provider = provider;
     Name     = name;
 }