LerpAngle.cs 862 B

123456789101112131415161718192021222324252627282930
  1. using UnityEngine;
  2. namespace BehaviorDesigner.Runtime.Tasks.Unity.Math
  3. {
  4. [TaskCategory("Unity/Math")]
  5. [TaskDescription("Lerp the angle by an amount.")]
  6. public class LerpAngle : Action
  7. {
  8. [Tooltip("The from value")]
  9. public SharedFloat fromValue;
  10. [Tooltip("The to value")]
  11. public SharedFloat toValue;
  12. [Tooltip("The amount to lerp")]
  13. public SharedFloat lerpAmount;
  14. [Tooltip("The lerp resut")]
  15. [RequiredField]
  16. public SharedFloat storeResult;
  17. public override TaskStatus OnUpdate()
  18. {
  19. storeResult.Value = Mathf.LerpAngle(fromValue.Value, toValue.Value, lerpAmount.Value);
  20. return TaskStatus.Success;
  21. }
  22. public override void OnReset()
  23. {
  24. fromValue = toValue = lerpAmount = storeResult = 0;
  25. }
  26. }
  27. }