private IEnumerator SetValues(IGraphRunner graph, IVariableDictionary variables, int iteration, Variable item)
 {
     if (Index.IsValid)
     {
         Index.Execute(variables);                 // Variable.Int(iteration)
     }
     if (Value.IsValid)
     {
         Value.Execute(variables);                 // item
     }
     yield return(graph.Run(Loop, variables, nameof(Loop)));
 }
        public override IEnumerator Run(IGraphRunner graph, IVariableDictionary variables)
        {
            for (var i = 0; i < Sequence.Count; i++)
            {
                var node = Sequence[i];

                if (node)
                {
                    yield return(graph.Run(node, variables, GetConnectionName(nameof(Sequence), i)));
                }
            }
        }
Example #3
0
        public override IEnumerator Run(IGraphRunner graph, IVariableDictionary variables)
        {
            var index = 0;

            while (true)
            {
                if (Index.IsValid)
                {
                    Index.Assign(variables, Variable.Int(index++));
                }

                var condition = Condition.Execute(variables, VariableType.Bool);

                if (!condition.AsBool || Loop == null)
                {
                    break;
                }

                yield return(graph.Run(Loop, variables, nameof(Loop)));
            }
        }
Example #4
0
        private IEnumerator Run(IGraphRunner graph, IVariableDictionary variables, GraphNode node, string source, NodeState state)
        {
            yield return(graph.Run(node, variables, source));

            state.IsFinished = true;
        }