Wire the 'Start' button to a state changer

This commit is contained in:
2025-10-19 09:57:57 -05:00
parent 7f651481f6
commit 857aefda03

View File

@@ -5,6 +5,8 @@ use bevy::{
prelude::*,
};
use crate::GameState;
pub const BTN_BORDER_COLOR: Color = Color::WHITE;
pub const BTN_BG_COLOR: Color = Color::BLACK;
pub const BTN_BG_SELECTED: Color = bevy::prelude::Color::Srgba(DARK_GRAY);
@@ -29,9 +31,11 @@ pub fn spawn_main_menu(mut commands: Commands) {
TextShadow::default(),
));
let mut start_button = cmds.spawn(button_bundle("Start game"));
start_button.observe(|_trigger: On<Pointer<Click>>| {
info!("The start button was pressed.");
});
start_button.observe(
|_trigger: On<Pointer<Click>>, mut game_state: ResMut<NextState<GameState>>| {
game_state.set(GameState::Playing);
},
);
let mut quit_button = cmds.spawn(button_bundle("Quit Game"));
quit_button.observe(
|_trigger: On<Pointer<Click>>, mut messages: MessageWriter<AppExit>| {