bevy_basic_ui/main_menu/
mod.rs

1use bevy::prelude::*;
2
3pub mod components;
4pub mod events;
5mod systems;
6use crate::{systems::despawn_screens, UiState};
7
8use self::{
9    events::StartLoad,
10    systems::{interact_with_play_button, spawn_main_menu},
11};
12
13pub struct MainMenuPlugin;
14
15impl Plugin for MainMenuPlugin {
16    fn build(&self, app: &mut App) {
17        app.add_event::<StartLoad>()
18            .add_systems(OnEnter(UiState::MainMenu), spawn_main_menu)
19            .add_systems(Update, interact_with_play_button)
20            .add_systems(OnExit(UiState::MainMenu), despawn_screens);
21    }
22}