bevy_codex/widgets/panel/
mod.rs

1use bevy::prelude::*;
2use bevy_lunex::{UiDebugPlugin, UiGenericPlugin, UiSystems};
3use components::PanelUi;
4use systems::{build_button_panel, build_status_bar_panel};
5
6use crate::resources::CodexSettings;
7
8pub mod components;
9pub mod styles;
10pub mod systems;
11
12#[derive(Clone)]
13pub struct PanelPlugin;
14
15impl Plugin for PanelPlugin {
16    fn build(&self, app: &mut App) {
17        app.add_plugins(UiGenericPlugin::<PanelUi>::new());
18        if app.world().resource::<CodexSettings>().debug {
19            app.add_plugins(UiDebugPlugin::<PanelUi>::new());
20        }
21        app.add_systems(
22            Update,
23            (
24                build_status_bar_panel,
25                build_button_panel.before(UiSystems::Compute),
26            ),
27        );
28    }
29}