AniDriver_CameraLocation.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. using ChivaXR;
  2. using Sirenix.OdinInspector;
  3. using System;
  4. using System.Collections;
  5. using System.Collections.Generic;
  6. using UnityEngine;
  7. public class AniDriver_CameraLocation : AnimationDriverBase
  8. {
  9. [LabelText("需要移动对象")]
  10. public Transform moveObj;
  11. [LabelText("移动路径点")]
  12. public List<Transform> pathPoints = new List<Transform>();
  13. private Vector3 initPos;
  14. private Quaternion initRotation;
  15. public override void FinishedState()
  16. {
  17. moveObj.transform.position = pathPoints[pathPoints.Count - 1].position;
  18. moveObj.transform.rotation = pathPoints[pathPoints.Count - 1].rotation;
  19. }
  20. public override void InitState()
  21. {
  22. moveObj.transform.position = pathPoints[0].position;
  23. moveObj.transform.rotation = pathPoints[0].rotation;
  24. }
  25. public override void StartPlay(Action finishedCallBack = null)
  26. {
  27. moveObj.transform.position = pathPoints[pathPoints.Count - 1].position;
  28. moveObj.transform.rotation = pathPoints[pathPoints.Count - 1].rotation;
  29. finishedCallBack?.Invoke();
  30. }
  31. }