private void SetValues(InstructionGraph graph, InstructionStore variables, int iteration, VariableValue item) { if (Index.IsAssigned) { Index.SetValue(variables, VariableValue.Create(iteration)); } if (Value.IsAssigned) { Value.SetValue(variables, item); } graph.GoTo(Loop, nameof(Loop)); }
private void TextChanged(string text) { if (_variables != null) { var result = Variable.SetValue(_variables, VariableValue.Create(_text.textComponent.text)); if (result == SetVariableResult.NotFound) { Debug.LogWarningFormat(this, _variableNotFoundWarning, name, Variable); } else if (result == SetVariableResult.ReadOnly) { Debug.LogWarningFormat(this, _readOnlyWarning, name, Variable); } } }
public void Assign(IVariableStore variables, VariableReference reference, VariableValue value) { if (reference.IsAssigned) { var result = reference.SetValue(variables, value); switch (result) { case SetVariableResult.NotFound: Debug.LogWarningFormat(this, _missingAssignmentWarning, reference, name); break; case SetVariableResult.ReadOnly: Debug.LogWarningFormat(this, _readOnlyAssignmentWarning, reference, name); break; case SetVariableResult.TypeMismatch: Debug.LogWarningFormat(this, _invalidAssignmentWarning, reference, name); break; } } }
public override IEnumerator Run(InstructionGraph graph, InstructionStore variables, int iteration) { var condition = Condition.Execute(this, variables, VariableType.Bool); if (condition.Bool && Loop != null) { if (Index.IsAssigned) { Index.SetValue(variables, VariableValue.Create(iteration)); } graph.GoTo(Loop, nameof(Loop)); } yield break; }