From ec2da094eb8d6e1b824a55193ca7be1d601f8bd7 Mon Sep 17 00:00:00 2001 From: rosefarts Date: Sun, 6 Oct 2024 18:43:46 +0200 Subject: [PATCH 1/2] don't trigger animation events when paused --- crates/bevy_animation/src/lib.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/crates/bevy_animation/src/lib.rs b/crates/bevy_animation/src/lib.rs index ce849d068952c..1f1876330bc6e 100755 --- a/crates/bevy_animation/src/lib.rs +++ b/crates/bevy_animation/src/lib.rs @@ -1144,7 +1144,9 @@ pub fn animate_targets( }; // Trigger all animation events that occurred this tick, if any. - if let Some(triggered_events) = TriggeredEvents::from_animation( + if active_animation.paused { + // Don't trigger events when paused. + } else if let Some(triggered_events) = TriggeredEvents::from_animation( AnimationEventTarget::Node(target_id), clip, active_animation, From 7413cd5bff4c74ff8a92f04ee551e5078d8c8ca0 Mon Sep 17 00:00:00 2001 From: rosefarts Date: Sun, 6 Oct 2024 19:01:54 +0200 Subject: [PATCH 2/2] nested if --- crates/bevy_animation/src/lib.rs | 42 ++++++++++++++++---------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/crates/bevy_animation/src/lib.rs b/crates/bevy_animation/src/lib.rs index 1f1876330bc6e..1f5a4e7c7a2c2 100755 --- a/crates/bevy_animation/src/lib.rs +++ b/crates/bevy_animation/src/lib.rs @@ -1143,27 +1143,27 @@ pub fn animate_targets( continue; }; - // Trigger all animation events that occurred this tick, if any. - if active_animation.paused { - // Don't trigger events when paused. - } else 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, + )); + } + }); + } } }