A game about forced loneliness, made by TACStudios
1namespace Unity.VisualScripting 2{ 3 [UnitOrder(406)] 4 public abstract class Project<T> : Unit 5 { 6 /// <summary> 7 /// The vector to project. 8 /// </summary> 9 [DoNotSerialize] 10 public ValueInput a { get; private set; } 11 12 /// <summary> 13 /// The vector on which to project. 14 /// </summary> 15 [DoNotSerialize] 16 public ValueInput b { get; private set; } 17 18 /// <summary> 19 /// The projection of A on B. 20 /// </summary> 21 [DoNotSerialize] 22 [PortLabelHidden] 23 public ValueOutput projection { get; private set; } 24 25 protected override void Definition() 26 { 27 a = ValueInput<T>(nameof(a)); 28 b = ValueInput<T>(nameof(b)); 29 projection = ValueOutput(nameof(projection), Operation).Predictable(); 30 31 Requirement(a, projection); 32 Requirement(b, projection); 33 } 34 35 private T Operation(Flow flow) 36 { 37 return Operation(flow.GetValue<T>(a), flow.GetValue<T>(b)); 38 } 39 40 public abstract T Operation(T a, T b); 41 } 42}