diff --git a/examples/2d/contributors.rs b/examples/2d/contributors.rs index 3491a11482aeb1..aba9d7970bbf33 100644 --- a/examples/2d/contributors.rs +++ b/examples/2d/contributors.rs @@ -15,7 +15,7 @@ fn main() { .add_system(move_system) .add_system(collision_system) .add_system(select_system) - .insert_resource(SelectTimer(Timer::from_seconds(SHOWCASE_TIMER_SECS, true))) + .insert_resource(SelectionState::default()) .run(); } @@ -27,8 +27,19 @@ struct ContributorSelection { idx: usize, } -#[derive(Deref, DerefMut)] -struct SelectTimer(Timer); +struct SelectionState { + timer: Timer, + has_triggered: bool, +} + +impl Default for SelectionState { + fn default() -> Self { + Self { + timer: Timer::from_seconds(SHOWCASE_TIMER_SECS, true), + has_triggered: false, + } + } +} #[derive(Component)] struct ContributorDisplay; @@ -70,7 +81,7 @@ fn setup_contributor_selection(mut commands: Commands, asset_server: Res) { /// Finds the next contributor to display and selects the entity fn select_system( - mut timer: ResMut, + mut timer: ResMut, mut contributor_selection: ResMut, mut text_query: Query<&mut Text, With>, mut query: Query<(&Contributor, &mut Sprite, &mut Transform)>, time: Res