AniDriver_OpenHandChe.cs 858 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using ChivaXR;
  5. using System;
  6. using Sirenix.OdinInspector;
  7. public class AniDriver_OpenHandChe : AnimationDriverBase
  8. {
  9. [LabelText("行车追随目标点")]
  10. public Transform followTarget;
  11. public float duration;
  12. public override void InitState()
  13. {
  14. if (Application.isPlaying)
  15. {
  16. HangDiaoController.instance.moveTimeLimit = duration;
  17. HangDiaoController.instance.SetTarget(followTarget);
  18. }
  19. }
  20. public override void FinishedState()
  21. {
  22. }
  23. public override void StartPlay(Action finishedCallBack = null)
  24. {
  25. StartAniCoroutine(WaitForSeconds(finishedCallBack));
  26. }
  27. IEnumerator WaitForSeconds(Action finishedCallback)
  28. {
  29. HangDiaoController.instance.MoveToTargetPointInTime();
  30. yield return new WaitForSeconds(duration);
  31. finishedCallback?.Invoke();
  32. }
  33. }