File size: 956 Bytes
18a519f | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | namespace Unity.VisualScripting
{
/// <summary>
/// Inverts the value of a boolean.
/// </summary>
[UnitCategory("Logic")]
[UnitOrder(3)]
public sealed class Negate : Unit
{
/// <summary>
/// The input boolean.
/// </summary>
[DoNotSerialize]
[PortLabel("X")]
public ValueInput input { get; private set; }
/// <summary>
/// True if the input is false, false if the input is true.
/// </summary>
[DoNotSerialize]
[PortLabel("~X")]
public ValueOutput output { get; private set; }
protected override void Definition()
{
input = ValueInput<bool>(nameof(input));
output = ValueOutput(nameof(output), Operation).Predictable();
Requirement(input, output);
}
public bool Operation(Flow flow)
{
return !flow.GetValue<bool>(input);
}
}
}
|