public static object Predict(IUnitValuePort port, GraphReference reference) { Ensure.That(nameof(port)).IsNotNull(port); var flow = New(reference); flow.isPrediction = true; object value; if (port is ValueInput) { value = flow.GetValue((ValueInput)port); } else if (port is ValueOutput) { value = flow.GetValue((ValueOutput)port); } else { throw new NotSupportedException(); } flow.Dispose(); return(value); }
public static bool CanPredict(IUnitValuePort port, GraphReference reference) { Ensure.That(nameof(port)).IsNotNull(port); var flow = New(reference); flow.isPrediction = true; bool canPredict; if (port is ValueInput) { canPredict = flow.CanPredict((ValueInput)port); } else if (port is ValueOutput) { canPredict = flow.CanPredict((ValueOutput)port); } else { throw new NotSupportedException(); } flow.Dispose(); return(canPredict); }
public void SetValue(IUnitValuePort port, object value) { Ensure.That(nameof(port)).IsNotNull(port); Ensure.That(nameof(value)).IsOfType(value, port.type); if (locals.ContainsKey(port)) { locals[port] = value; } else { locals.Add(port, value); } }
public static T Predict <T>(IUnitValuePort port, GraphReference pointer) { return((T)Predict(port, pointer, typeof(T))); }
public static object Predict(IUnitValuePort port, GraphReference reference, Type type) { return(ConversionUtility.Convert(Predict(port, reference), type)); }
public bool IsLocal(IUnitValuePort port) { Ensure.That(nameof(port)).IsNotNull(port); return(locals.ContainsKey(port)); }