Compare commits

...

3 Commits

Author SHA1 Message Date
845765513d Sort derive macro items
For consistency, or something.
2025-10-19 09:58:34 -05:00
857aefda03 Wire the 'Start' button to a state changer 2025-10-19 09:57:57 -05:00
7f651481f6 Quiet some lints, remove some dev logging 2025-10-19 09:57:36 -05:00
2 changed files with 11 additions and 8 deletions

View File

@@ -42,7 +42,7 @@ fn main() {
}
/// Main game state indicator
#[derive(Debug, Hash, PartialEq, Eq, Clone, States)]
#[derive(Clone, Debug, Eq, Hash, PartialEq, States)]
enum GameState {
MainMenu,
Playing,
@@ -101,7 +101,7 @@ enum WebSocketConnectionMessage {
// TODO: Presumably a TeardownConnection, right?
}
#[derive(Error, Debug)]
#[derive(Debug, Error)]
enum ConnSetupError {
#[error("IO")]
Io(#[from] std::io::Error),

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,13 +31,14 @@ 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>| {
info!("The quit button was pressed.");
// Quit the game if the quit button was pressed.
messages.write(AppExit::Success);
},
@@ -77,7 +80,7 @@ pub fn button_hover_start(
trigger: On<Pointer<Over>>,
mut button_colors: Query<(&mut BackgroundColor, &mut BorderColor), With<Button>>,
) {
if let Ok((mut bg, mut border)) = button_colors.get_mut(trigger.entity) {
if let Ok((mut bg, mut _border)) = button_colors.get_mut(trigger.entity) {
bg.0 = BTN_BG_SELECTED;
}
}
@@ -86,7 +89,7 @@ pub fn button_hover_stop(
trigger: On<Pointer<Out>>,
mut button_colors: Query<(&mut BackgroundColor, &mut BorderColor), With<Button>>,
) {
if let Ok((mut bg, mut border)) = button_colors.get_mut(trigger.entity) {
if let Ok((mut bg, mut _border)) = button_colors.get_mut(trigger.entity) {
bg.0 = BTN_BG_COLOR;
}
}