From 83ed461d54a149840afc6a46d369a219c9429ca1 Mon Sep 17 00:00:00 2001 From: Alex Parlett Date: Tue, 3 Sep 2024 08:33:53 +0100 Subject: [PATCH] #102 Various fixes * Add observe to ui_builder * Fix linting --- crates/sickle_ui_scaffold/src/theme/dynamic_style.rs | 9 ++++----- crates/sickle_ui_scaffold/src/ui_builder.rs | 7 ++++++- src/widgets/inputs/slider.rs | 2 +- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/crates/sickle_ui_scaffold/src/theme/dynamic_style.rs b/crates/sickle_ui_scaffold/src/theme/dynamic_style.rs index 83187d1..972cb69 100644 --- a/crates/sickle_ui_scaffold/src/theme/dynamic_style.rs +++ b/crates/sickle_ui_scaffold/src/theme/dynamic_style.rs @@ -127,10 +127,9 @@ fn update_dynamic_style_on_flux_change( fn tick_dynamic_style_stopwatch( time: Res>, - mut q_stopwatches: Query<(Entity, &mut DynamicStyleStopwatch)>, - mut commands: Commands, + mut q_stopwatches: Query<&mut DynamicStyleStopwatch>, ) { - for (entity, mut style_stopwatch) in &mut q_stopwatches { + for mut style_stopwatch in &mut q_stopwatches { style_stopwatch.0.tick(time.delta()); } } @@ -228,10 +227,10 @@ fn update_dynamic_style_on_stopwatch_change( } fn cleanup_dynamic_style_stopwatch( - mut q_stopwatches: Query<(Entity, &mut DynamicStyleStopwatch)>, + mut q_stopwatches: Query<(Entity, &DynamicStyleStopwatch)>, mut commands: Commands, ) { - for (entity, mut style_stopwatch) in &mut q_stopwatches { + for (entity, style_stopwatch) in &mut q_stopwatches { let remove_stopwatch = match style_stopwatch.1 { StopwatchLock::None => true, StopwatchLock::Infinite => false, diff --git a/crates/sickle_ui_scaffold/src/ui_builder.rs b/crates/sickle_ui_scaffold/src/ui_builder.rs index 2cac2a4..a18952e 100644 --- a/crates/sickle_ui_scaffold/src/ui_builder.rs +++ b/crates/sickle_ui_scaffold/src/ui_builder.rs @@ -7,7 +7,7 @@ use bevy::{ hierarchy::BuildChildren, prelude::*, }; - +use bevy::ecs::system::IntoObserverSystem; use crate::{ ui_commands::EntityCommandsNamedExt, ui_style::{UiStyle, UiStyleExt, UiStyleUnchecked, UiStyleUncheckedExt}, @@ -107,6 +107,11 @@ impl UiBuilder<'_, Entity> { self.entity_commands().named(name); self } + + pub fn observe(&mut self, system: impl IntoObserverSystem) -> &mut Self { + self.entity_commands().observe(system); + self + } } pub trait UiBuilderExt { diff --git a/src/widgets/inputs/slider.rs b/src/widgets/inputs/slider.rs index e2e6f96..766ad87 100644 --- a/src/widgets/inputs/slider.rs +++ b/src/widgets/inputs/slider.rs @@ -11,7 +11,7 @@ use crate::widgets::layout::{ #[cfg(feature = "observable")] #[derive(Event, Copy, Clone, Debug)] pub struct SliderChanged { - ratio: f32 + pub ratio: f32 } pub struct SliderPlugin;