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