Fix stopping slot animations and playing the same frame

#1927
This commit is contained in:
Wojtek Figat
2023-12-27 23:45:55 +01:00
parent 7f4d2d8db6
commit b6337c748c
3 changed files with 8 additions and 0 deletions

View File

@@ -2098,6 +2098,12 @@ void AnimGraphExecutor::ProcessGroupAnimation(Box* boxBase, Node* nodeBase, Valu
auto& slot = slots[bucket.Index];
Animation* anim = slot.Animation;
ASSERT(slot.Animation && slot.Animation->IsLoaded());
if (slot.Reset)
{
// Start from the begining
slot.Reset = false;
bucket.TimePosition = 0.0f;
}
const float deltaTime = slot.Pause ? 0.0f : context.DeltaTime * slot.Speed;
const float length = anim->GetLength();
const bool loop = bucket.LoopsLeft != 0;