CompareSharedGameObject.cs 984 B

123456789101112131415161718192021222324252627282930
  1. using UnityEngine;
  2. namespace BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables
  3. {
  4. [TaskCategory("Unity/SharedVariable")]
  5. [TaskDescription("Returns success if the variable value is equal to the compareTo value.")]
  6. public class CompareSharedGameObject : Conditional
  7. {
  8. [Tooltip("The first variable to compare")]
  9. public SharedGameObject variable;
  10. [Tooltip("The variable to compare to")]
  11. public SharedGameObject compareTo;
  12. public override TaskStatus OnUpdate()
  13. {
  14. if (variable.Value == null && compareTo.Value != null)
  15. return TaskStatus.Failure;
  16. if (variable.Value == null && compareTo.Value == null)
  17. return TaskStatus.Success;
  18. return variable.Value.Equals(compareTo.Value) ? TaskStatus.Success : TaskStatus.Failure;
  19. }
  20. public override void OnReset()
  21. {
  22. variable = null;
  23. compareTo = null;
  24. }
  25. }
  26. }