using System.Collections; using UnityEngine; using UnityEngine.Playables; using UnityEngine.Timeline; public class PauseMarkerReceiver : MonoBehaviour, INotificationReceiver { private PlayableDirector director; private bool isPaused = false; private void Awake() { director = GetComponent(); } public void OnNotify(Playable origin, INotification notification, object context) { if (notification is PauseMarker pauseMarker && !isPaused) { StartCoroutine(PauseAndResume(pauseMarker.pauseDuration)); } } private IEnumerator PauseAndResume(float duration) { isPaused = true; director.Pause(); // 재생 일시정지 yield return new WaitForSecondsRealtime(duration); // 실제 시간 기준 대기 director.Play(); // 재생 재개 isPaused = false; } }