Small code cleanup
This commit is contained in:
parent
dac73985d0
commit
7102a64ab2
|
|
@ -1,6 +1,6 @@
|
||||||
use crate::events::is_supported_event;
|
use crate::events::is_supported_event;
|
||||||
use bevy::{
|
use bevy::{
|
||||||
ecs::{entity::Entity, system::Commands, world::World},
|
ecs::{component::Component, entity::Entity, system::Commands, world::World},
|
||||||
hierarchy::BuildChildren,
|
hierarchy::BuildChildren,
|
||||||
prelude::default,
|
prelude::default,
|
||||||
render::color::Color,
|
render::color::Color,
|
||||||
|
|
@ -100,13 +100,10 @@ pub fn apply_mutations(
|
||||||
let color = Color::hex(hex).expect(&format!(
|
let color = Color::hex(hex).expect(&format!(
|
||||||
"Encountered unsupported bevy_dioxus background-color `{hex}`."
|
"Encountered unsupported bevy_dioxus background-color `{hex}`."
|
||||||
));
|
));
|
||||||
commands.add(move |world: &mut World| {
|
commands.add(modify_component_command::<BackgroundColor, _>(
|
||||||
world
|
entity,
|
||||||
.entity_mut(entity)
|
move |background_color| background_color.0 = color,
|
||||||
.get_mut::<BackgroundColor>()
|
));
|
||||||
.unwrap()
|
|
||||||
.0 = color;
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
(name, value) => {
|
(name, value) => {
|
||||||
panic!("Encountered unsupported bevy_dioxus attribute `{name}: {value:?}`.")
|
panic!("Encountered unsupported bevy_dioxus attribute `{name}: {value:?}`.")
|
||||||
|
|
@ -257,3 +254,11 @@ fn parse_style_attributes(attributes: &[TemplateAttribute]) -> (Style, Backgroun
|
||||||
}
|
}
|
||||||
(style, background_color)
|
(style, background_color)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn modify_component_command<C, F>(entity: Entity, f: F) -> impl FnOnce(&mut World) + Send + 'static
|
||||||
|
where
|
||||||
|
C: Component,
|
||||||
|
F: FnOnce(&mut C) + Send + 'static,
|
||||||
|
{
|
||||||
|
move |world: &mut World| (f)(&mut world.entity_mut(entity).get_mut::<C>().unwrap())
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue