LookRotation.cs 857 B

1234567891011121314151617181920212223242526272829
  1. using UnityEngine;
  2. namespace BehaviorDesigner.Runtime.Tasks.Unity.UnityQuaternion
  3. {
  4. [TaskCategory("Unity/Quaternion")]
  5. [TaskDescription("Stores the quaternion of a forward vector.")]
  6. public class LookRotation : Action
  7. {
  8. [Tooltip("The forward vector")]
  9. public SharedVector3 forwardVector;
  10. [Tooltip("The second Vector3")]
  11. public SharedVector3 secondVector3;
  12. [Tooltip("The stored quaternion")]
  13. [RequiredField]
  14. public SharedQuaternion storeResult;
  15. public override TaskStatus OnUpdate()
  16. {
  17. storeResult.Value = Quaternion.LookRotation(forwardVector.Value);
  18. return TaskStatus.Success;
  19. }
  20. public override void OnReset()
  21. {
  22. forwardVector = Vector3.zero;
  23. storeResult = Quaternion.identity;
  24. }
  25. }
  26. }