A game about forced loneliness, made by TACStudios
1namespace Unity.VisualScripting
2{
3 [UnitOrder(401)]
4 public abstract class Normalize<T> : Unit
5 {
6 /// <summary>
7 /// The vector to normalize.
8 /// </summary>
9 [DoNotSerialize]
10 [PortLabelHidden]
11 public ValueInput input { get; private set; }
12
13 /// <summary>
14 /// The normalized vector.
15 /// </summary>
16 [DoNotSerialize]
17 [PortLabelHidden]
18 public ValueOutput output { get; private set; }
19
20 protected override void Definition()
21 {
22 input = ValueInput<T>(nameof(input));
23 output = ValueOutput(nameof(output), Operation).Predictable();
24
25 Requirement(input, output);
26 }
27
28 private T Operation(Flow flow)
29 {
30 return Operation(flow.GetValue<T>(input));
31 }
32
33 public abstract T Operation(T input);
34 }
35}