GetLayer.cs 846 B

12345678910111213141516171819202122232425262728
  1. using UnityEngine;
  2. namespace BehaviorDesigner.Runtime.Tasks.Unity.UnityLayerMask
  3. {
  4. [TaskCategory("Unity/LayerMask")]
  5. [TaskDescription("Gets the layer of a GameObject.")]
  6. public class GetLayer : Action
  7. {
  8. [Tooltip("The GameObject to set the layer of")]
  9. public SharedGameObject targetGameObject;
  10. [Tooltip("The name of the layer to get")]
  11. [RequiredField]
  12. public SharedString storeResult;
  13. public override TaskStatus OnUpdate()
  14. {
  15. var currentGameObject = GetDefaultGameObject(targetGameObject.Value);
  16. storeResult.Value = LayerMask.LayerToName(currentGameObject.layer);
  17. return TaskStatus.Success;
  18. }
  19. public override void OnReset()
  20. {
  21. targetGameObject = null;
  22. storeResult = "";
  23. }
  24. }
  25. }