From 1c98b2de168045094930780bc167c75ee66c7429 Mon Sep 17 00:00:00 2001 From: Peepo-Juice Date: Fri, 26 Jul 2024 22:38:33 -0400 Subject: [PATCH 1/5] trigger observers when TweenCompleted event is sent --- src/tweenable.rs | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/src/tweenable.rs b/src/tweenable.rs index 8443773..b03e40c 100644 --- a/src/tweenable.rs +++ b/src/tweenable.rs @@ -791,10 +791,19 @@ impl Tweenable for Tween { // If completed at least once this frame, notify the user if times_completed > 0 { if let Some(user_data) = &self.event_data { - events.send(TweenCompleted { + let event = TweenCompleted { entity, user_data: *user_data, - }); + }; + + // send regular event + events.send(event); + + // trigger all global observers + commands.trigger(event); + + // trigger all entity-scoped observers + commands.trigger_targets(event, [entity]); } if let Some(cb) = &self.on_completed { cb(entity, self); @@ -1321,10 +1330,19 @@ impl Tweenable for Delay { // If completed this frame, notify the user if (state == TweenState::Completed) && !was_completed { if let Some(user_data) = &self.event_data { - events.send(TweenCompleted { + let event = TweenCompleted { entity, user_data: *user_data, - }); + }; + + // send regular event + events.send(event); + + // trigger all global observers + commands.trigger(event); + + // trigger all entity-scoped observers + commands.trigger_targets(event, [entity]); } if let Some(cb) = &self.on_completed { cb(entity, self); From 704d128d5cd942c2a49cdb9a8c7f9d4fd898bfd1 Mon Sep 17 00:00:00 2001 From: Peepo-Juice <102474367+Peepo-Juice@users.noreply.github.com> Date: Tue, 26 Nov 2024 08:45:52 -0500 Subject: [PATCH 2/5] Update src/tweenable.rs remove global trigger, as per suggestion Co-authored-by: musjj <72612857+musjj@users.noreply.github.com> --- src/tweenable.rs | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/tweenable.rs b/src/tweenable.rs index b03e40c..8562fe8 100644 --- a/src/tweenable.rs +++ b/src/tweenable.rs @@ -799,8 +799,6 @@ impl Tweenable for Tween { // send regular event events.send(event); - // trigger all global observers - commands.trigger(event); // trigger all entity-scoped observers commands.trigger_targets(event, [entity]); From 6bf2bf40532d03f6be8ec9cc99e9f0e62fdc67ce Mon Sep 17 00:00:00 2001 From: Peepo-Juice <102474367+Peepo-Juice@users.noreply.github.com> Date: Tue, 26 Nov 2024 08:46:20 -0500 Subject: [PATCH 3/5] Update src/tweenable.rs remove entity array as input for trigger_targets, as per suggestion Co-authored-by: musjj <72612857+musjj@users.noreply.github.com> --- src/tweenable.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tweenable.rs b/src/tweenable.rs index 8562fe8..0b93db6 100644 --- a/src/tweenable.rs +++ b/src/tweenable.rs @@ -801,7 +801,7 @@ impl Tweenable for Tween { // trigger all entity-scoped observers - commands.trigger_targets(event, [entity]); + commands.trigger_targets(event, entity); } if let Some(cb) = &self.on_completed { cb(entity, self); From 506f564c499e50db4d51ba653a92a6da1908e0ce Mon Sep 17 00:00:00 2001 From: Peepo-Juice <102474367+Peepo-Juice@users.noreply.github.com> Date: Mon, 2 Dec 2024 17:51:04 -0500 Subject: [PATCH 4/5] Update src/tweenable.rs removed another global trigger Co-authored-by: musjj <72612857+musjj@users.noreply.github.com> --- src/tweenable.rs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/tweenable.rs b/src/tweenable.rs index 0b93db6..32589aa 100644 --- a/src/tweenable.rs +++ b/src/tweenable.rs @@ -1336,11 +1336,8 @@ impl Tweenable for Delay { // send regular event events.send(event); - // trigger all global observers - commands.trigger(event); - // trigger all entity-scoped observers - commands.trigger_targets(event, [entity]); + commands.trigger_targets(event, entity); } if let Some(cb) = &self.on_completed { cb(entity, self); From ecdcc0b68573b181b6c048ab0ddac22918964ef0 Mon Sep 17 00:00:00 2001 From: Peepo-Juice Date: Mon, 9 Dec 2024 14:11:18 -0500 Subject: [PATCH 5/5] removed extra whitespace --- src/tweenable.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/tweenable.rs b/src/tweenable.rs index 32589aa..119feb9 100644 --- a/src/tweenable.rs +++ b/src/tweenable.rs @@ -799,7 +799,6 @@ impl Tweenable for Tween { // send regular event events.send(event); - // trigger all entity-scoped observers commands.trigger_targets(event, entity); }