Comparison.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. using GraphProcessor;
  2. using UnityEngine.Rendering;
  3. namespace NodeGraphProcessor.Examples
  4. {
  5. [System.Serializable, NodeMenuItem("Conditional/Comparison")]
  6. public class Comparison : BaseNode
  7. {
  8. [Input(name = "In A")]
  9. public float inA;
  10. [Input(name = "In B")]
  11. public float inB;
  12. [Output(name = "Out")]
  13. public bool compared;
  14. public CompareFunction compareFunction = CompareFunction.LessEqual;
  15. public override string name => "Comparison";
  16. protected override void Process()
  17. {
  18. switch (compareFunction)
  19. {
  20. default:
  21. case CompareFunction.Disabled:
  22. case CompareFunction.Never: compared = false; break;
  23. case CompareFunction.Always: compared = true; break;
  24. case CompareFunction.Equal: compared = inA == inB; break;
  25. case CompareFunction.Greater: compared = inA > inB; break;
  26. case CompareFunction.GreaterEqual: compared = inA >= inB; break;
  27. case CompareFunction.Less: compared = inA < inB; break;
  28. case CompareFunction.LessEqual: compared = inA <= inB; break;
  29. case CompareFunction.NotEqual: compared = inA != inB; break;
  30. }
  31. }
  32. }
  33. }