Skip to content

Commit

Permalink
Cleaning old menus. (#136)
Browse files Browse the repository at this point in the history
  • Loading branch information
Kavekha authored Mar 24, 2024
2 parents adaacf8 + fd97525 commit 593d87e
Show file tree
Hide file tree
Showing 11 changed files with 345 additions and 949 deletions.
11 changes: 4 additions & 7 deletions src/game/manager/game_messages.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use bevy::ecs::{schedule::NextState, world::World};

use crate::{
game::{clean_game_screen, manager::{MessageEvent, PlayMusicMessage, RecapType, RunGameMessage},
menus::{components::MenuButtonAction, menu_builder::{MenuV2, MenuItem}, recapmenu::{MenuEvent, MenuType}},
menus::{components::MenuButtonAction, menu_builder::{Menu, MenuItem}, MenuEvent, MenuType},
pieces::spawners::{create_exit_map, create_player, spawn_npcs}, states::GameState, tileboard::system_map::{create_map, spawning_map}}, map_builders::map::Map};

use super::{menu_messages::OpenMenuMessage, Message};
Expand Down Expand Up @@ -75,7 +75,7 @@ impl Message for EndGameRecapMessage {
fn execute(&self, world: &mut World) {
match self.recap_type {
RecapType::GameOver => {
let mut menu = MenuV2::new("game_over", Vec::new());
let mut menu = Menu::new("game_over", Vec::new());

menu.add(MenuItem::header("You died."));
menu.add(MenuItem::description("A ghoul has eaten you."));
Expand All @@ -88,7 +88,7 @@ impl Message for EndGameRecapMessage {
println!("Recap GameOver generated and send for opening.");
},
RecapType::Victory => {
let mut menu = MenuV2::new("victory", Vec::new());
let mut menu = Menu::new("victory", Vec::new());

menu.add(MenuItem::header("victory!"));
menu.add(MenuItem::description("You flee the place."));
Expand All @@ -99,7 +99,7 @@ impl Message for EndGameRecapMessage {
world.send_event(MenuEvent{menu:menu, menu_type:MenuType::RECAPMENU});
println!("Recap Victory generated and send for opening.");
},
_ => println!("Autres types de Recap non supportés.")
//_ => println!("Autres types de Recap non supportés.")
};
world.send_event(MessageEvent(Box::new(OpenMenuMessage)));
}
Expand Down Expand Up @@ -130,6 +130,3 @@ impl Message for ClearGameMessage {
println!("Result is {:?}", result);
}
}



73 changes: 13 additions & 60 deletions src/game/manager/menu_messages.rs
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
use bevy::ecs::{schedule::NextState, world::World};

use crate::game::{manager::MessageEvent, menus::{clean_menu, components::{InGameMenuState, MenuButtonAction}, menu_builder::{MenuItem, MenuV2}, recapmenu::{MenuEvent, MenuType}}, states::{MainMenuState, MenuState}};
use crate::game::{
manager::MessageEvent,
menus::{clean_menu, components::MenuButtonAction, menu_builder::{Menu, MenuItem}, MenuEvent, MenuType},
states::MenuState
};

use super::Message;


pub struct OpenMenuMessage;
impl Message for OpenMenuMessage {
fn execute(&self, world: &mut World) {
Expand Down Expand Up @@ -34,14 +37,11 @@ impl Message for ClearMenuMessage {
println!("Clean menu result: {:?}", result);
}
}


// Open X Menu : Le MenuEvent doit être envoyé avant le OpenMenu car on fait un clean? ou alors les MenuEvent doivent être traité .after les MessagesEvents?

pub struct MainMenuOpenMessage;
impl Message for MainMenuOpenMessage {
fn execute(&self, world: &mut World) {
let mut menu = MenuV2::new("main_menu", Vec::new());
let mut menu = Menu::new("main_menu", Vec::new());
menu.add(MenuItem::header("ShadowRun"));
menu.add(MenuItem::description("v0.15.2 - R0.4"));
menu.add(MenuItem::action(MenuButtonAction::Play, "Play"));
Expand All @@ -55,11 +55,10 @@ impl Message for MainMenuOpenMessage {
}
}

// Open MainMenuSettings
pub struct MainMenuSettingsMessage;
impl Message for MainMenuSettingsMessage {
fn execute(&self, world: &mut World) {
let mut menu = MenuV2::new("main_menu_settings", Vec::new());
let mut menu = Menu::new("main_menu_settings", Vec::new());
menu.add(MenuItem::description("Settings"));
menu.add(MenuItem::action(MenuButtonAction::MainMenuSettingsDisplay, "Display"));
menu.add(MenuItem::action(MenuButtonAction::BackToMainMenu, "Back"));
Expand All @@ -70,11 +69,10 @@ impl Message for MainMenuSettingsMessage {
}
}

// Open MainMenuSettingsDisplay
pub struct MainMenuSettingsDisplayMessage;
impl Message for MainMenuSettingsDisplayMessage {
fn execute(&self, world: &mut World) {
let mut menu = MenuV2::new("main_menu_settings_display", Vec::new());
let mut menu = Menu::new("main_menu_settings_display", Vec::new());
menu.add(MenuItem::description("Choose your resolution"));
menu.add(MenuItem::action(MenuButtonAction::DisplayLow, "Low"));
menu.add(MenuItem::action(MenuButtonAction::DisplayMedium, "Medium"));
Expand All @@ -90,7 +88,7 @@ impl Message for MainMenuSettingsDisplayMessage {
pub struct MainMenuQuitMessage;
impl Message for MainMenuQuitMessage {
fn execute(&self, world: &mut World) {
let mut menu = MenuV2::new("main_menu_quit", Vec::new());
let mut menu = Menu::new("main_menu_quit", Vec::new());
menu.add(MenuItem::description("Do you want to quit?"));
menu.add(MenuItem::action(MenuButtonAction::BackToMainMenu, "Cancel"));
menu.add(MenuItem::action(MenuButtonAction::QuitConfirm, "Confirm"));
Expand All @@ -104,7 +102,7 @@ impl Message for MainMenuQuitMessage {
pub struct OpenInGameMenuOpenMessage;
impl Message for OpenInGameMenuOpenMessage {
fn execute(&self, world: &mut World) {
let mut menu = MenuV2::new("ig_menu", Vec::new());
let mut menu = Menu::new("ig_menu", Vec::new());
menu.add(MenuItem::action(MenuButtonAction::Close, "Resume"));
menu.add(MenuItem::action(MenuButtonAction::Load, "Load game"));
menu.add(MenuItem::action(MenuButtonAction::InGameMenuSettings, "Settings"));
Expand All @@ -120,7 +118,7 @@ impl Message for OpenInGameMenuOpenMessage {
pub struct InGameMenuSettingsOpenMessage;
impl Message for InGameMenuSettingsOpenMessage {
fn execute(&self, world: &mut World) {
let mut menu = MenuV2::new("ig_menu_settings", Vec::new());
let mut menu = Menu::new("ig_menu_settings", Vec::new());
menu.add(MenuItem::description("Settings"));
menu.add(MenuItem::action(MenuButtonAction::InGameMenuDisplay, "Display"));
menu.add(MenuItem::action(MenuButtonAction::BackToInGameMenu, "Back"));
Expand All @@ -134,7 +132,7 @@ impl Message for InGameMenuSettingsOpenMessage {
pub struct InGameMenuQuitMessage;
impl Message for InGameMenuQuitMessage {
fn execute(&self, world: &mut World) {
let mut menu = MenuV2::new("main_menu_quit", Vec::new());
let mut menu = Menu::new("main_menu_quit", Vec::new());
menu.add(MenuItem::description("Do you want to quit?"));
menu.add(MenuItem::action(MenuButtonAction::BackToInGameMenu, "Cancel"));
menu.add(MenuItem::action(MenuButtonAction::QuitConfirm, "Confirm"));
Expand All @@ -148,7 +146,7 @@ impl Message for InGameMenuQuitMessage {
pub struct InGameSettingsDisplayMessage;
impl Message for InGameSettingsDisplayMessage {
fn execute(&self, world: &mut World) {
let mut menu = MenuV2::new("main_menu_settings_display", Vec::new());
let mut menu = Menu::new("main_menu_settings_display", Vec::new());
menu.add(MenuItem::description("Choose your resolution"));
menu.add(MenuItem::action(MenuButtonAction::DisplayLow, "Low"));
menu.add(MenuItem::action(MenuButtonAction::DisplayMedium, "Medium"));
Expand All @@ -160,48 +158,3 @@ impl Message for InGameSettingsDisplayMessage {
println!("SettingsDisplay generated and send for opening.");
}
}


// ==== OLD, to review.

pub struct CloseInGameMenuMessage;
impl Message for CloseInGameMenuMessage {
fn execute(&self, world: &mut World) {
if let Some(mut state) = world.get_resource_mut::<NextState<InGameMenuState>>() {
state.set(InGameMenuState::Disabled);
}
}
}

pub struct CloseMainMenuMessage;
impl Message for CloseMainMenuMessage {
fn execute(&self, world: &mut World) {
if let Some(mut state) = world.get_resource_mut::<NextState<MainMenuState>>() {
state.set(MainMenuState::Disabled);
}
}
}



pub struct ActiveMainMenuMessage;
impl Message for ActiveMainMenuMessage {
fn execute(&self, world: &mut World) {
if let Some(mut state) = world.get_resource_mut::<NextState<MainMenuState>>() {
state.set(MainMenuState::MainMenu);
}
}
}
pub struct ActiveInGameMenuMessage;
impl Message for ActiveInGameMenuMessage {
fn execute(&self, world: &mut World) {
if let Some(mut state) = world.get_resource_mut::<NextState<InGameMenuState>>() {
state.set(InGameMenuState::MainMenu);
}
}
}





6 changes: 1 addition & 5 deletions src/game/manager/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ pub mod game_messages;

use crate::engine::audios::MusicEvent;

use super::states::{GameState, MainMenuState};
use super::states::GameState;


pub struct ManagerPlugin;
Expand Down Expand Up @@ -46,8 +46,6 @@ impl Message for PlayMusicMessage {
}
}



pub struct ExitAppMessage;

impl Message for ExitAppMessage {
Expand All @@ -66,8 +64,6 @@ impl Message for RunGameMessage {
}
}



enum RecapType{
GameOver,
Victory
Expand Down
Loading

0 comments on commit 593d87e

Please sign in to comment.