protected IEnumerator PlayTimeline(TimelineAsset timelineAsset) { while (!m_loaded) { yield return(null); } m_playableDirector.set_playableAsset(timelineAsset); m_playableDirector.set_time(0.0); m_playableDirector.set_extrapolationMode(2); m_playableDirector.Play(); while (!m_playableDirector.HasReachedEndOfAnimation()) { yield return(null); } }