Don't trigger animation events when paused (#15677)
# Objective Pausing the `animated_fox` example perfectly as one of the feet hits the ground causes the event to be triggered every frame. Context: #15538 ## Solution Don't trigger animation events if the animation is paused. ## Testing Ran the example, I no longer see the issue.
This commit is contained in:
parent
6edb78a8c3
commit
70269ef758
@ -1143,25 +1143,27 @@ pub fn animate_targets(
|
||||
continue;
|
||||
};
|
||||
|
||||
// Trigger all animation events that occurred this tick, if any.
|
||||
if let Some(triggered_events) = TriggeredEvents::from_animation(
|
||||
AnimationEventTarget::Node(target_id),
|
||||
clip,
|
||||
active_animation,
|
||||
) {
|
||||
if !triggered_events.is_empty() {
|
||||
par_commands.command_scope(move |mut commands| {
|
||||
for TimedAnimationEvent { time, event } in
|
||||
triggered_events.iter()
|
||||
{
|
||||
commands.queue(trigger_animation_event(
|
||||
entity,
|
||||
*time,
|
||||
active_animation.weight,
|
||||
event.clone().0,
|
||||
));
|
||||
}
|
||||
});
|
||||
if !active_animation.paused {
|
||||
// Trigger all animation events that occurred this tick, if any.
|
||||
if let Some(triggered_events) = TriggeredEvents::from_animation(
|
||||
AnimationEventTarget::Node(target_id),
|
||||
clip,
|
||||
active_animation,
|
||||
) {
|
||||
if !triggered_events.is_empty() {
|
||||
par_commands.command_scope(move |mut commands| {
|
||||
for TimedAnimationEvent { time, event } in
|
||||
triggered_events.iter()
|
||||
{
|
||||
commands.queue(trigger_animation_event(
|
||||
entity,
|
||||
*time,
|
||||
active_animation.weight,
|
||||
event.clone().0,
|
||||
));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user