diff --git a/crates/bevy_core_widgets/src/lib.rs b/crates/bevy_core_widgets/src/lib.rs index 2a3fc1ac09..3fc13c5c0e 100644 --- a/crates/bevy_core_widgets/src/lib.rs +++ b/crates/bevy_core_widgets/src/lib.rs @@ -21,7 +21,7 @@ mod core_radio; mod core_scrollbar; mod core_slider; -use bevy_app::{App, Plugin}; +use bevy_app::{PluginGroup, PluginGroupBuilder}; pub use callback::{Callback, Notify}; pub use core_button::{CoreButton, CoreButtonPlugin}; @@ -36,18 +36,17 @@ pub use core_slider::{ SliderRange, SliderStep, SliderValue, TrackClick, }; -/// A plugin that registers the observers for all of the core widgets. If you don't want to +/// A plugin group that registers the observers for all of the core widgets. If you don't want to /// use all of the widgets, you can import the individual widget plugins instead. -pub struct CoreWidgetsPlugin; +pub struct CoreWidgetsPlugins; -impl Plugin for CoreWidgetsPlugin { - fn build(&self, app: &mut App) { - app.add_plugins(( - CoreButtonPlugin, - CoreCheckboxPlugin, - CoreRadioGroupPlugin, - CoreScrollbarPlugin, - CoreSliderPlugin, - )); +impl PluginGroup for CoreWidgetsPlugins { + fn build(self) -> PluginGroupBuilder { + PluginGroupBuilder::start::() + .add(CoreButtonPlugin) + .add(CoreCheckboxPlugin) + .add(CoreRadioGroupPlugin) + .add(CoreScrollbarPlugin) + .add(CoreSliderPlugin) } } diff --git a/examples/ui/core_widgets.rs b/examples/ui/core_widgets.rs index 86aaa820f8..7f99bdd848 100644 --- a/examples/ui/core_widgets.rs +++ b/examples/ui/core_widgets.rs @@ -4,7 +4,7 @@ use bevy::{ color::palettes::basic::*, core_widgets::{ Callback, CoreButton, CoreCheckbox, CoreRadio, CoreRadioGroup, CoreSlider, - CoreSliderDragState, CoreSliderThumb, CoreWidgetsPlugin, SliderRange, SliderValue, + CoreSliderDragState, CoreSliderThumb, CoreWidgetsPlugins, SliderRange, SliderValue, TrackClick, }, input_focus::{ @@ -21,7 +21,7 @@ fn main() { App::new() .add_plugins(( DefaultPlugins, - CoreWidgetsPlugin, + CoreWidgetsPlugins, InputDispatchPlugin, TabNavigationPlugin, )) diff --git a/examples/ui/core_widgets_observers.rs b/examples/ui/core_widgets_observers.rs index 1ab4cda3b0..c12edee08d 100644 --- a/examples/ui/core_widgets_observers.rs +++ b/examples/ui/core_widgets_observers.rs @@ -3,7 +3,7 @@ use bevy::{ color::palettes::basic::*, core_widgets::{ - Callback, CoreButton, CoreCheckbox, CoreSlider, CoreSliderThumb, CoreWidgetsPlugin, + Callback, CoreButton, CoreCheckbox, CoreSlider, CoreSliderThumb, CoreWidgetsPlugins, SliderRange, SliderValue, }, ecs::system::SystemId, @@ -21,7 +21,7 @@ fn main() { App::new() .add_plugins(( DefaultPlugins, - CoreWidgetsPlugin, + CoreWidgetsPlugins, InputDispatchPlugin, TabNavigationPlugin, )) diff --git a/examples/ui/feathers.rs b/examples/ui/feathers.rs index ae6ec31f4c..da8b1faf27 100644 --- a/examples/ui/feathers.rs +++ b/examples/ui/feathers.rs @@ -1,7 +1,7 @@ //! This example shows off the various Bevy Feathers widgets. use bevy::{ - core_widgets::{Callback, CoreRadio, CoreRadioGroup, CoreWidgetsPlugin, SliderStep}, + core_widgets::{Callback, CoreRadio, CoreRadioGroup, CoreWidgetsPlugins, SliderStep}, feathers::{ controls::{ button, checkbox, radio, slider, toggle_switch, ButtonProps, ButtonVariant, @@ -25,7 +25,7 @@ fn main() { App::new() .add_plugins(( DefaultPlugins, - CoreWidgetsPlugin, + CoreWidgetsPlugins, InputDispatchPlugin, TabNavigationPlugin, FeathersPlugin,