using System; namespace Unity.VisualScripting { /// /// Compares two inputs to determine if they are equal or not equal. /// [UnitCategory("Logic")] [UnitTitle("Equality Comparison")] [UnitSurtitle("Equality")] [UnitShortTitle("Comparison")] [UnitOrder(4)] [Obsolete("Use the Comparison node instead.")] public sealed class EqualityComparison : Unit { /// /// The first input. /// [DoNotSerialize] public ValueInput a { get; private set; } /// /// The second input. /// [DoNotSerialize] public ValueInput b { get; private set; } /// /// Whether A is equal to B. /// [DoNotSerialize] [PortLabel("A = B")] public ValueOutput equal { get; private set; } /// /// Whether A is different than B. /// [DoNotSerialize] [PortLabel("A \u2260 B")] public ValueOutput notEqual { get; private set; } protected override void Definition() { a = ValueInput(nameof(a)).AllowsNull(); b = ValueInput(nameof(b)).AllowsNull(); equal = ValueOutput(nameof(equal), Equal).Predictable(); notEqual = ValueOutput(nameof(notEqual), NotEqual).Predictable(); Requirement(a, equal); Requirement(b, equal); Requirement(a, notEqual); Requirement(b, notEqual); } private bool Equal(Flow flow) { return OperatorUtility.Equal(flow.GetValue(a), flow.GetValue(b)); } private bool NotEqual(Flow flow) { return OperatorUtility.NotEqual(flow.GetValue(a), flow.GetValue(b)); } } }