修改timeline 逻辑

This commit is contained in:
shenjianxing 2025-03-05 09:10:07 +08:00
parent 5b39ed7377
commit 66ce882ebb

View File

@ -64,6 +64,7 @@ public class TimeLineAction : IAction
{ {
play.Stop(); play.Stop();
play.time = curEndFrame / 24; play.time = curEndFrame / 24;
play.Evaluate();
} }
if (play.state != PlayState.Playing) if (play.state != PlayState.Playing)
{ {
@ -109,17 +110,31 @@ public class TimeLineAction : IAction
{ {
curSpeed = 1; curSpeed = 1;
} }
if (!play.playableGraph.IsValid())
{
play.RebuildGraph();
}
play.playableGraph.GetRootPlayable(0).SetSpeed(curSpeed);
play.Play();
if (string.IsNullOrEmpty(endFrame) == false) if (string.IsNullOrEmpty(endFrame) == false)
{ {
float.TryParse(endFrame, out curEndFrame); float.TryParse(endFrame, out curEndFrame);
} }
if (!play.playableGraph.IsValid())
{
play.RebuildGraph();
}
if (curFrame == curEndFrame)
{
play.time = curEndFrame / 24;
play.Evaluate();
Finished();
}
else
{
play.playableGraph.GetRootPlayable(0).SetSpeed(curSpeed);
play.Play();
}
bool iswait = true; bool iswait = true;
bool.TryParse(isWait, out iswait); bool.TryParse(isWait, out iswait);
if (iswait == false) if (iswait == false)