AniDriver_WaitAudioClipTime.cs 781 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. using ChivaXR;
  2. using System;
  3. using System.Collections;
  4. using System.Collections.Generic;
  5. using UnityEngine;
  6. public class AniDriver_WaitAudioClipTime : AnimationDriverBase
  7. {
  8. public AudioClip audioClip;
  9. public override void FinishedState()
  10. {
  11. }
  12. public override void InitState()
  13. {
  14. }
  15. public override void StartPlay(Action finishedCallBack = null)
  16. {
  17. if (audioClip == null)
  18. {
  19. finishedCallBack();
  20. }
  21. else
  22. {
  23. StartAniCoroutine(WaitAudioClipLength(audioClip, finishedCallBack));
  24. }
  25. }
  26. IEnumerator WaitAudioClipLength(AudioClip clip, Action finishedCallBack = null)
  27. {
  28. yield return new WaitForSeconds(clip.length);
  29. finishedCallBack?.Invoke();
  30. }
  31. }