From 7689db49ff5dc3bee80729d975aeb38eba94abb2 Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Thu, 26 Aug 2021 12:40:37 +0200 Subject: [PATCH] Fix issue with `MapTrack` for actors --- .../Animations/SceneAnimations/SceneAnimationPlayer.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Source/Engine/Animations/SceneAnimations/SceneAnimationPlayer.cpp b/Source/Engine/Animations/SceneAnimations/SceneAnimationPlayer.cpp index 98498aab1..7aef6c7ae 100644 --- a/Source/Engine/Animations/SceneAnimations/SceneAnimationPlayer.cpp +++ b/Source/Engine/Animations/SceneAnimations/SceneAnimationPlayer.cpp @@ -236,23 +236,24 @@ void SceneAnimationPlayer::MapTrack(const StringView& from, const Guid& to) { const auto trackData = track.GetData(); _objectsMapping[trackData->ID] = to; - break; + return; } case SceneAnimation::Track::Types::Script: { const auto trackData = track.GetData(); _objectsMapping[trackData->ID] = to; - break; + return; } case SceneAnimation::Track::Types::CameraCut: { const auto trackData = track.GetData(); _objectsMapping[trackData->ID] = to; - break; + return; } default: ; } } + LOG(Warning, "Missing track '{0}' in scene animation '{1}' to map into object ID={2}", from, anim->ToString(), to); } void SceneAnimationPlayer::Restore(SceneAnimation* anim, int32 stateIndexOffset) @@ -744,7 +745,7 @@ void SceneAnimationPlayer::Tick(SceneAnimation* anim, float time, float dt, int3 const auto trackData = track.GetData(); Guid id = trackData->ID; _objectsMapping.TryGet(id, id); - state.Object = Scripting::FindObject(trackData->ID); + state.Object = Scripting::FindObject(id); if (!state.Object) { LOG(Warning, "Failed to find {3} of ID={0} for track '{1}' in scene animation '{2}'", id, track.Name, anim->ToString(), TEXT("actor"));