FromToRotation.cs 913 B

1234567891011121314151617181920212223242526272829
  1. using UnityEngine;
  2. namespace BehaviorDesigner.Runtime.Tasks.Unity.UnityQuaternion
  3. {
  4. [TaskCategory("Unity/Quaternion")]
  5. [TaskDescription("Stores a rotation which rotates from the first direction to the second.")]
  6. public class FromToRotation : Action
  7. {
  8. [Tooltip("The from rotation")]
  9. public SharedVector3 fromDirection;
  10. [Tooltip("The to rotation")]
  11. public SharedVector3 toDirection;
  12. [Tooltip("The stored result")]
  13. [RequiredField]
  14. public SharedQuaternion storeResult;
  15. public override TaskStatus OnUpdate()
  16. {
  17. storeResult.Value = Quaternion.FromToRotation(fromDirection.Value, toDirection.Value);
  18. return TaskStatus.Success;
  19. }
  20. public override void OnReset()
  21. {
  22. fromDirection = toDirection = Vector3.zero;
  23. storeResult = Quaternion.identity;
  24. }
  25. }
  26. }