From b69672356aec8daf2d393b5177d98fd93db02597 Mon Sep 17 00:00:00 2001 From: CoCoSol007 Date: Sat, 10 Feb 2024 17:06:26 +0100 Subject: [PATCH 01/11] Change structure of files --- crates/border-wars/src/lib.rs | 2 +- crates/border-wars/src/main.rs | 4 ++-- crates/border-wars/src/{ => menus}/menu.rs | 4 ++-- crates/border-wars/src/menus/mod.rs | 16 ++++++++++++++++ 4 files changed, 21 insertions(+), 5 deletions(-) rename crates/border-wars/src/{ => menus}/menu.rs (92%) create mode 100644 crates/border-wars/src/menus/mod.rs diff --git a/crates/border-wars/src/lib.rs b/crates/border-wars/src/lib.rs index 3ba1db7..db3bbc5 100644 --- a/crates/border-wars/src/lib.rs +++ b/crates/border-wars/src/lib.rs @@ -2,7 +2,7 @@ use bevy::prelude::*; -pub mod menu; +pub mod menus; /// The state of the game. #[derive(Debug, Clone, Copy, Default, Eq, PartialEq, Hash, States)] diff --git a/crates/border-wars/src/main.rs b/crates/border-wars/src/main.rs index ec04b20..7ed9435 100644 --- a/crates/border-wars/src/main.rs +++ b/crates/border-wars/src/main.rs @@ -1,13 +1,13 @@ //! The main entry point of the game. use bevy::prelude::*; -use border_wars::menu::MenuPlugin; +use border_wars::menus::MenusPlugin; use border_wars::GameState; fn main() { App::new() .add_plugins(DefaultPlugins) .add_state::() - .add_plugins(MenuPlugin) + .add_plugins(MenusPlugin) .run(); } diff --git a/crates/border-wars/src/menu.rs b/crates/border-wars/src/menus/menu.rs similarity index 92% rename from crates/border-wars/src/menu.rs rename to crates/border-wars/src/menus/menu.rs index d6e4d13..8818c0f 100644 --- a/crates/border-wars/src/menu.rs +++ b/crates/border-wars/src/menus/menu.rs @@ -1,7 +1,7 @@ //! The main menu of the game. use bevy::prelude::*; -use bevy_egui::{egui, EguiContexts, EguiPlugin}; +use bevy_egui::{egui, EguiContexts}; use crate::GameState; @@ -10,7 +10,7 @@ pub struct MenuPlugin; impl Plugin for MenuPlugin { fn build(&self, app: &mut App) { - app.add_plugins(EguiPlugin).add_systems( + app.add_systems( Update, menu_ui.run_if(state_exists_and_equals(GameState::Menu)), ); diff --git a/crates/border-wars/src/menus/mod.rs b/crates/border-wars/src/menus/mod.rs new file mode 100644 index 0000000..7d40b39 --- /dev/null +++ b/crates/border-wars/src/menus/mod.rs @@ -0,0 +1,16 @@ +//! All the menu's programme. + +use bevy::prelude::*; +use bevy_egui::EguiPlugin; + +pub mod menu; + +/// The plugin for all menus. +pub struct MenusPlugin; + +impl Plugin for MenusPlugin { + fn build(&self, app: &mut App) { + app.add_plugins(EguiPlugin) + .add_plugins(menu::MenuPlugin); + } +} -- 2.43.4 From 2b6e96c3d362b48516afbab6ba288592bc49e715 Mon Sep 17 00:00:00 2001 From: CoCoSol007 Date: Sat, 10 Feb 2024 17:13:57 +0100 Subject: [PATCH 02/11] change doc --- crates/border-wars/src/menus/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/border-wars/src/menus/mod.rs b/crates/border-wars/src/menus/mod.rs index 7d40b39..4268a4a 100644 --- a/crates/border-wars/src/menus/mod.rs +++ b/crates/border-wars/src/menus/mod.rs @@ -1,4 +1,4 @@ -//! All the menu's programme. +//! The file containing all menu programs. use bevy::prelude::*; use bevy_egui::EguiPlugin; -- 2.43.4 From c0bcf1ad70085328fffbc7e20dfaf45151f61a5c Mon Sep 17 00:00:00 2001 From: CoCoSol007 Date: Sat, 10 Feb 2024 17:18:46 +0100 Subject: [PATCH 03/11] Fix fmt --- crates/border-wars/src/menus/mod.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/crates/border-wars/src/menus/mod.rs b/crates/border-wars/src/menus/mod.rs index 4268a4a..4e100bf 100644 --- a/crates/border-wars/src/menus/mod.rs +++ b/crates/border-wars/src/menus/mod.rs @@ -10,7 +10,6 @@ pub struct MenusPlugin; impl Plugin for MenusPlugin { fn build(&self, app: &mut App) { - app.add_plugins(EguiPlugin) - .add_plugins(menu::MenuPlugin); + app.add_plugins(EguiPlugin).add_plugins(menu::MenuPlugin); } } -- 2.43.4 From 54bd32b266830924fcddfe4e5216276a0624c0ef Mon Sep 17 00:00:00 2001 From: CoCoSol007 Date: Sat, 10 Feb 2024 17:54:20 +0100 Subject: [PATCH 04/11] Change naming menus to scenes --- crates/border-wars/src/lib.rs | 2 +- crates/border-wars/src/main.rs | 2 +- crates/border-wars/src/{menus => scenes}/menu.rs | 0 crates/border-wars/src/{menus => scenes}/mod.rs | 0 4 files changed, 2 insertions(+), 2 deletions(-) rename crates/border-wars/src/{menus => scenes}/menu.rs (100%) rename crates/border-wars/src/{menus => scenes}/mod.rs (100%) diff --git a/crates/border-wars/src/lib.rs b/crates/border-wars/src/lib.rs index db3bbc5..2a6098f 100644 --- a/crates/border-wars/src/lib.rs +++ b/crates/border-wars/src/lib.rs @@ -2,7 +2,7 @@ use bevy::prelude::*; -pub mod menus; +pub mod scenes; /// The state of the game. #[derive(Debug, Clone, Copy, Default, Eq, PartialEq, Hash, States)] diff --git a/crates/border-wars/src/main.rs b/crates/border-wars/src/main.rs index 7ed9435..d3acfee 100644 --- a/crates/border-wars/src/main.rs +++ b/crates/border-wars/src/main.rs @@ -1,7 +1,7 @@ //! The main entry point of the game. use bevy::prelude::*; -use border_wars::menus::MenusPlugin; +use border_wars::scenes::MenusPlugin; use border_wars::GameState; fn main() { diff --git a/crates/border-wars/src/menus/menu.rs b/crates/border-wars/src/scenes/menu.rs similarity index 100% rename from crates/border-wars/src/menus/menu.rs rename to crates/border-wars/src/scenes/menu.rs diff --git a/crates/border-wars/src/menus/mod.rs b/crates/border-wars/src/scenes/mod.rs similarity index 100% rename from crates/border-wars/src/menus/mod.rs rename to crates/border-wars/src/scenes/mod.rs -- 2.43.4 From c8a1902d4c416ce4dcd596cba43e10cf92a4910d Mon Sep 17 00:00:00 2001 From: CoCoSol007 Date: Sat, 10 Feb 2024 17:58:01 +0100 Subject: [PATCH 05/11] Change name of plugin --- crates/border-wars/src/main.rs | 4 ++-- crates/border-wars/src/scenes/mod.rs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/crates/border-wars/src/main.rs b/crates/border-wars/src/main.rs index d3acfee..caa4427 100644 --- a/crates/border-wars/src/main.rs +++ b/crates/border-wars/src/main.rs @@ -1,13 +1,13 @@ //! The main entry point of the game. use bevy::prelude::*; -use border_wars::scenes::MenusPlugin; +use border_wars::scenes::ScenesPlugin; use border_wars::GameState; fn main() { App::new() .add_plugins(DefaultPlugins) .add_state::() - .add_plugins(MenusPlugin) + .add_plugins(ScenesPlugin) .run(); } diff --git a/crates/border-wars/src/scenes/mod.rs b/crates/border-wars/src/scenes/mod.rs index 4e100bf..de32ef3 100644 --- a/crates/border-wars/src/scenes/mod.rs +++ b/crates/border-wars/src/scenes/mod.rs @@ -6,9 +6,9 @@ use bevy_egui::EguiPlugin; pub mod menu; /// The plugin for all menus. -pub struct MenusPlugin; +pub struct ScenesPlugin; -impl Plugin for MenusPlugin { +impl Plugin for ScenesPlugin { fn build(&self, app: &mut App) { app.add_plugins(EguiPlugin).add_plugins(menu::MenuPlugin); } -- 2.43.4 From e31a420babd6940cdc0c54cf0676537fa1f8c00b Mon Sep 17 00:00:00 2001 From: CoCoSol007 Date: Sat, 10 Feb 2024 18:04:19 +0100 Subject: [PATCH 06/11] Change naming of state enum --- crates/border-wars/src/lib.rs | 2 +- crates/border-wars/src/main.rs | 4 ++-- crates/border-wars/src/scenes/menu.rs | 10 +++++----- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/crates/border-wars/src/lib.rs b/crates/border-wars/src/lib.rs index 2a6098f..8f112d7 100644 --- a/crates/border-wars/src/lib.rs +++ b/crates/border-wars/src/lib.rs @@ -6,7 +6,7 @@ pub mod scenes; /// The state of the game. #[derive(Debug, Clone, Copy, Default, Eq, PartialEq, Hash, States)] -pub enum GameState { +pub enum CurrentScene { /// When we are in the main menu. #[default] Menu, diff --git a/crates/border-wars/src/main.rs b/crates/border-wars/src/main.rs index caa4427..85fb565 100644 --- a/crates/border-wars/src/main.rs +++ b/crates/border-wars/src/main.rs @@ -2,12 +2,12 @@ use bevy::prelude::*; use border_wars::scenes::ScenesPlugin; -use border_wars::GameState; +use border_wars::CurrentScene; fn main() { App::new() .add_plugins(DefaultPlugins) - .add_state::() + .add_state::() .add_plugins(ScenesPlugin) .run(); } diff --git a/crates/border-wars/src/scenes/menu.rs b/crates/border-wars/src/scenes/menu.rs index 8818c0f..8ede900 100644 --- a/crates/border-wars/src/scenes/menu.rs +++ b/crates/border-wars/src/scenes/menu.rs @@ -3,7 +3,7 @@ use bevy::prelude::*; use bevy_egui::{egui, EguiContexts}; -use crate::GameState; +use crate::CurrentScene; /// The plugin for the menu. pub struct MenuPlugin; @@ -12,7 +12,7 @@ impl Plugin for MenuPlugin { fn build(&self, app: &mut App) { app.add_systems( Update, - menu_ui.run_if(state_exists_and_equals(GameState::Menu)), + menu_ui.run_if(state_exists_and_equals(CurrentScene::Menu)), ); } } @@ -20,7 +20,7 @@ impl Plugin for MenuPlugin { fn menu_ui( mut ctx: EguiContexts, mut connection_string: Local, - mut next_state: ResMut>, + mut next_state: ResMut>, ) { egui::CentralPanel::default().show(ctx.ctx_mut(), |ui| { ui.heading("Border Wars"); @@ -33,7 +33,7 @@ fn menu_ui( ui.text_edit_singleline(&mut *connection_string); if ui.button("Join").clicked() { - next_state.set(GameState::Game); + next_state.set(CurrentScene::Game); // TODO: connect to the game } }); @@ -41,7 +41,7 @@ fn menu_ui( ui.separator(); if ui.button("Create new game").clicked() { - next_state.set(GameState::Lobby); + next_state.set(CurrentScene::Lobby); // TODO: create a new game } }); -- 2.43.4 From 17119af643d1bdc6eecea87eff92eeec2da248f0 Mon Sep 17 00:00:00 2001 From: CoCoSol007 Date: Sat, 10 Feb 2024 18:08:27 +0100 Subject: [PATCH 07/11] change doc --- crates/border-wars/src/scenes/mod.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/border-wars/src/scenes/mod.rs b/crates/border-wars/src/scenes/mod.rs index de32ef3..01865e3 100644 --- a/crates/border-wars/src/scenes/mod.rs +++ b/crates/border-wars/src/scenes/mod.rs @@ -1,11 +1,11 @@ -//! The file containing all menu programs. +//! The file containing all scenes programs. use bevy::prelude::*; use bevy_egui::EguiPlugin; pub mod menu; -/// The plugin for all menus. +/// The plugin for all scenes. pub struct ScenesPlugin; impl Plugin for ScenesPlugin { -- 2.43.4 From 55440c97004a8fa2d3a464a7fe92dd670393ce16 Mon Sep 17 00:00:00 2001 From: CoCoSol007 Date: Sat, 10 Feb 2024 18:10:21 +0100 Subject: [PATCH 08/11] Change naming --- crates/border-wars/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/border-wars/src/lib.rs b/crates/border-wars/src/lib.rs index 8f112d7..755c35f 100644 --- a/crates/border-wars/src/lib.rs +++ b/crates/border-wars/src/lib.rs @@ -4,7 +4,7 @@ use bevy::prelude::*; pub mod scenes; -/// The state of the game. +/// The scene of the game. #[derive(Debug, Clone, Copy, Default, Eq, PartialEq, Hash, States)] pub enum CurrentScene { /// When we are in the main menu. -- 2.43.4 From b025b6d9d36aaefdee7b4c090fd8135ea2726687 Mon Sep 17 00:00:00 2001 From: CoCoSol007 Date: Sat, 10 Feb 2024 18:17:27 +0100 Subject: [PATCH 09/11] Change init of state ressource --- crates/border-wars/src/main.rs | 2 -- crates/border-wars/src/scenes/menu.rs | 5 +---- crates/border-wars/src/scenes/mod.rs | 6 +++++- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/crates/border-wars/src/main.rs b/crates/border-wars/src/main.rs index 85fb565..ef67c5e 100644 --- a/crates/border-wars/src/main.rs +++ b/crates/border-wars/src/main.rs @@ -2,12 +2,10 @@ use bevy::prelude::*; use border_wars::scenes::ScenesPlugin; -use border_wars::CurrentScene; fn main() { App::new() .add_plugins(DefaultPlugins) - .add_state::() .add_plugins(ScenesPlugin) .run(); } diff --git a/crates/border-wars/src/scenes/menu.rs b/crates/border-wars/src/scenes/menu.rs index 8ede900..3efa8a6 100644 --- a/crates/border-wars/src/scenes/menu.rs +++ b/crates/border-wars/src/scenes/menu.rs @@ -10,10 +10,7 @@ pub struct MenuPlugin; impl Plugin for MenuPlugin { fn build(&self, app: &mut App) { - app.add_systems( - Update, - menu_ui.run_if(state_exists_and_equals(CurrentScene::Menu)), - ); + app.add_systems(Update, menu_ui.run_if(in_state(CurrentScene::Menu))); } } /// Display the UI of the menu to host a game or join one. diff --git a/crates/border-wars/src/scenes/mod.rs b/crates/border-wars/src/scenes/mod.rs index 01865e3..06e9603 100644 --- a/crates/border-wars/src/scenes/mod.rs +++ b/crates/border-wars/src/scenes/mod.rs @@ -3,6 +3,8 @@ use bevy::prelude::*; use bevy_egui::EguiPlugin; +use crate::CurrentScene; + pub mod menu; /// The plugin for all scenes. @@ -10,6 +12,8 @@ pub struct ScenesPlugin; impl Plugin for ScenesPlugin { fn build(&self, app: &mut App) { - app.add_plugins(EguiPlugin).add_plugins(menu::MenuPlugin); + app.add_plugins(EguiPlugin) + .add_state::() + .add_plugins(menu::MenuPlugin); } } -- 2.43.4 From 601490023b266f9ec843a9fffe582c0e48bbaeee Mon Sep 17 00:00:00 2001 From: CoCoSol007 Date: Sat, 10 Feb 2024 18:21:14 +0100 Subject: [PATCH 10/11] Change name --- crates/border-wars/src/scenes/menu.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/crates/border-wars/src/scenes/menu.rs b/crates/border-wars/src/scenes/menu.rs index 3efa8a6..c5c84c7 100644 --- a/crates/border-wars/src/scenes/menu.rs +++ b/crates/border-wars/src/scenes/menu.rs @@ -17,7 +17,7 @@ impl Plugin for MenuPlugin { fn menu_ui( mut ctx: EguiContexts, mut connection_string: Local, - mut next_state: ResMut>, + mut next_scene: ResMut>, ) { egui::CentralPanel::default().show(ctx.ctx_mut(), |ui| { ui.heading("Border Wars"); @@ -30,7 +30,7 @@ fn menu_ui( ui.text_edit_singleline(&mut *connection_string); if ui.button("Join").clicked() { - next_state.set(CurrentScene::Game); + next_scene.set(CurrentScene::Game); // TODO: connect to the game } }); @@ -38,7 +38,7 @@ fn menu_ui( ui.separator(); if ui.button("Create new game").clicked() { - next_state.set(CurrentScene::Lobby); + next_scene.set(CurrentScene::Lobby); // TODO: create a new game } }); -- 2.43.4 From d7d4473298ec9133d9f41f3b046ba11f98295f09 Mon Sep 17 00:00:00 2001 From: CoCoSol007 Date: Sat, 10 Feb 2024 18:23:19 +0100 Subject: [PATCH 11/11] change doc --- crates/border-wars/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/border-wars/src/lib.rs b/crates/border-wars/src/lib.rs index 755c35f..c85940e 100644 --- a/crates/border-wars/src/lib.rs +++ b/crates/border-wars/src/lib.rs @@ -4,7 +4,7 @@ use bevy::prelude::*; pub mod scenes; -/// The scene of the game. +/// The current scene of the game. #[derive(Debug, Clone, Copy, Default, Eq, PartialEq, Hash, States)] pub enum CurrentScene { /// When we are in the main menu. -- 2.43.4