Fix scene animation warning due to missing object to be fired once per-track without a spam
This commit is contained in:
@@ -765,10 +765,12 @@ void SceneAnimationPlayer::Tick(SceneAnimation* anim, float time, float dt, int3
|
|||||||
const auto trackData = track.GetData<SceneAnimation::ActorTrack::Data>();
|
const auto trackData = track.GetData<SceneAnimation::ActorTrack::Data>();
|
||||||
Guid id = trackData->ID;
|
Guid id = trackData->ID;
|
||||||
_objectsMapping.TryGet(id, id);
|
_objectsMapping.TryGet(id, id);
|
||||||
state.Object = Scripting::FindObject<Actor>(id);
|
state.Object = Scripting::TryFindObject<Actor>(id);
|
||||||
if (!state.Object)
|
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"));
|
if (state.Warn)
|
||||||
|
LOG(Warning, "Failed to find {3} of ID={0} for track '{1}' in scene animation '{2}'", id, track.Name, anim->ToString(), TEXT("actor"));
|
||||||
|
state.Warn = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -795,10 +797,12 @@ void SceneAnimationPlayer::Tick(SceneAnimation* anim, float time, float dt, int3
|
|||||||
// Find script
|
// Find script
|
||||||
Guid id = trackData->ID;
|
Guid id = trackData->ID;
|
||||||
_objectsMapping.TryGet(id, id);
|
_objectsMapping.TryGet(id, id);
|
||||||
state.Object = Scripting::FindObject<Script>(id);
|
state.Object = Scripting::TryFindObject<Script>(id);
|
||||||
if (!state.Object)
|
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("script"));
|
if (state.Warn)
|
||||||
|
LOG(Warning, "Failed to find {3} of ID={0} for track '{1}' in scene animation '{2}'", id, track.Name, anim->ToString(), TEXT("script"));
|
||||||
|
state.Warn = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1047,10 +1051,12 @@ void SceneAnimationPlayer::Tick(SceneAnimation* anim, float time, float dt, int3
|
|||||||
// Find actor
|
// Find actor
|
||||||
Guid id = trackData->ID;
|
Guid id = trackData->ID;
|
||||||
_objectsMapping.TryGet(id, id);
|
_objectsMapping.TryGet(id, id);
|
||||||
state.Object = Scripting::FindObject<Camera>(id);
|
state.Object = Scripting::TryFindObject<Camera>(id);
|
||||||
if (!state.Object)
|
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"));
|
if (state.Warn)
|
||||||
|
LOG(Warning, "Failed to find {3} of ID={0} for track '{1}' in scene animation '{2}'", id, track.Name, anim->ToString(), TEXT("camera"));
|
||||||
|
state.Warn = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ private:
|
|||||||
MField* Field = nullptr;
|
MField* Field = nullptr;
|
||||||
void* Method = nullptr;
|
void* Method = nullptr;
|
||||||
int32 RestoreStateIndex = -1;
|
int32 RestoreStateIndex = -1;
|
||||||
|
bool Warn = true;
|
||||||
|
|
||||||
TrackInstance()
|
TrackInstance()
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user