SetIsEnabled.cs 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. using UnityEngine;
  2. namespace BehaviorDesigner.Runtime.Tasks.Unity.UnityBehaviour
  3. {
  4. [TaskCategory("Unity/Behaviour")]
  5. [TaskDescription("Enables/Disables the object. Returns Success.")]
  6. public class SetIsEnabled : Action
  7. {
  8. [Tooltip("The Object to use")]
  9. public SharedObject specifiedObject;
  10. [Tooltip("The enabled/disabled state")]
  11. public SharedBool enabled;
  12. public override TaskStatus OnUpdate()
  13. {
  14. if (specifiedObject == null && !(specifiedObject.Value is UnityEngine.Behaviour)) {
  15. Debug.LogWarning("SpecifiedObject is null or not a subclass of UnityEngine.Behaviour");
  16. return TaskStatus.Failure;
  17. }
  18. (specifiedObject.Value as Behaviour).enabled = enabled.Value;
  19. return TaskStatus.Success;
  20. }
  21. public override void OnReset()
  22. {
  23. if (specifiedObject != null) {
  24. specifiedObject.Value = null;
  25. }
  26. enabled = false;
  27. }
  28. }
  29. }