From fbac14df11919339d32e9719a85248f9329ac20b Mon Sep 17 00:00:00 2001 From: Jonni Liljamo Date: Fri, 10 Mar 2023 09:21:20 +0200 Subject: [PATCH] feat(client): settings menu stub --- client/src/plugins/menu/mod.rs | 1 + client/src/plugins/menu/ui/menu.rs | 2 +- client/src/plugins/menu/ui/mod.rs | 1 + client/src/plugins/menu/ui/settings/mod.rs | 10 +++++++++ client/src/plugins/menu/ui/settings/ui.rs | 26 ++++++++++++++++++++++ 5 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 client/src/plugins/menu/ui/settings/mod.rs create mode 100644 client/src/plugins/menu/ui/settings/ui.rs diff --git a/client/src/plugins/menu/mod.rs b/client/src/plugins/menu/mod.rs index 52daf35..abfeb21 100644 --- a/client/src/plugins/menu/mod.rs +++ b/client/src/plugins/menu/mod.rs @@ -25,6 +25,7 @@ impl Plugin for MenuPlugin { .insert_resource(ui::play::PlayScreenData::default()) .add_system(ui::connect::ui.run_in_state(MenuState::Connect)) .add_system(ui::menu::ui.run_in_state(MenuState::Menu)) + .add_system(ui::settings::ui.run_in_state(MenuState::Settings)) .add_system(ui::play::ui.run_in_state(MenuState::Play)); } } diff --git a/client/src/plugins/menu/ui/menu.rs b/client/src/plugins/menu/ui/menu.rs index 4e35a1d..19f9f1a 100644 --- a/client/src/plugins/menu/ui/menu.rs +++ b/client/src/plugins/menu/ui/menu.rs @@ -32,7 +32,7 @@ pub fn ui( } if ui.button("Settings").clicked() { - // + commands.insert_resource(NextState(MenuState::Settings)); } if ui.button("Quit").clicked() { diff --git a/client/src/plugins/menu/ui/mod.rs b/client/src/plugins/menu/ui/mod.rs index b119a75..ee69a05 100644 --- a/client/src/plugins/menu/ui/mod.rs +++ b/client/src/plugins/menu/ui/mod.rs @@ -10,3 +10,4 @@ pub mod menu; pub mod connect; pub mod play; +pub mod settings; diff --git a/client/src/plugins/menu/ui/settings/mod.rs b/client/src/plugins/menu/ui/settings/mod.rs new file mode 100644 index 0000000..93722d3 --- /dev/null +++ b/client/src/plugins/menu/ui/settings/mod.rs @@ -0,0 +1,10 @@ +/* + * This file is part of laurelin/client + * Copyright (C) 2023 Jonni Liljamo + * + * Licensed under GPL-3.0-only. + * See LICENSE for licensing information. + */ + +mod ui; +pub use ui::*; diff --git a/client/src/plugins/menu/ui/settings/ui.rs b/client/src/plugins/menu/ui/settings/ui.rs new file mode 100644 index 0000000..166ffca --- /dev/null +++ b/client/src/plugins/menu/ui/settings/ui.rs @@ -0,0 +1,26 @@ +/* + * This file is part of laurelin/client + * Copyright (C) 2023 Jonni Liljamo + * + * Licensed under GPL-3.0-only. + * See LICENSE for licensing information. + */ + +use bevy::ecs::system::{Commands, ResMut}; +use bevy_inspector_egui::bevy_egui::{egui, EguiContext}; +use iyes_loopless::state::NextState; + +use crate::{plugins::menu::MenuState, util::egui::menuwindow}; + +pub fn ui(mut commands: Commands, mut egui_context: ResMut) { + menuwindow( + egui_context.ctx_mut(), + "Settings", + &egui::Vec2::new(400., 600.), + |ui| { + if ui.button("Back").clicked() { + commands.insert_resource(NextState(MenuState::Menu)); + } + }, + ); +} -- 2.44.1