1
0
Fork 0
LaboratoryProtection/Assets/PMaker/Timeline/Scripts/Extension/TimelineExtension.cs

25 lines
713 B
C#
Raw Normal View History

2023-09-12 15:55:51 +08:00
using Cysharp.Threading.Tasks;
using System;
using System.Threading;
using UnityEngine;
using UnityEngine.Playables;
public static class TimelineExtension
{
public static async UniTask WaitPlayAsync(this PlayableDirector director, CancellationToken cancellationToken)
{
var duration = director.duration;
director.Play();
var speed = director.playableGraph.GetRootPlayable(0).GetSpeed();
Debug.Log(speed);
var time = duration / speed;
var isCancel = await UniTask.Delay(TimeSpan.FromSeconds(time), cancellationToken: cancellationToken).SuppressCancellationThrow();
if (isCancel == true)
{
director.Stop();
}
}
}