A game about forced loneliness, made by TACStudios
1using System.Collections.Generic; 2using System.Linq; 3 4namespace Unity.VisualScripting 5{ 6 [UnitOrder(301)] 7 public abstract class Minimum<T> : MultiInputUnit<T> 8 { 9 /// <summary> 10 /// The minimum. 11 /// </summary> 12 [DoNotSerialize] 13 [PortLabelHidden] 14 public ValueOutput minimum { get; private set; } 15 16 protected override void Definition() 17 { 18 base.Definition(); 19 20 minimum = ValueOutput(nameof(minimum), Operation).Predictable(); 21 22 foreach (var multiInput in multiInputs) 23 { 24 Requirement(multiInput, minimum); 25 } 26 } 27 28 public abstract T Operation(T a, T b); 29 public abstract T Operation(IEnumerable<T> values); 30 31 public T Operation(Flow flow) 32 { 33 if (inputCount == 2) 34 { 35 return Operation(flow.GetValue<T>(multiInputs[0]), flow.GetValue<T>(multiInputs[1])); 36 } 37 else 38 { 39 return Operation(multiInputs.Select(flow.GetValue<T>)); 40 } 41 } 42 } 43}