From 810f1ae9ee89ae0f49601e156bff4c2f5c1aad32 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Sat, 27 Jul 2024 15:23:11 +0200 Subject: add credits menu and ui flow --- pixel-client/src/menu/main.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'pixel-client/src/menu/main.rs') diff --git a/pixel-client/src/menu/main.rs b/pixel-client/src/menu/main.rs index f5ea5cd6..5c515169 100644 --- a/pixel-client/src/menu/main.rs +++ b/pixel-client/src/menu/main.rs @@ -15,7 +15,7 @@ along with this program. If not, see . */ -use super::{background::MenuBackground, settings::SettingsMenu}; +use super::{background::MenuBackground, credits::CreditsMenu, settings::SettingsMenu}; use crate::{ game::Game, network::Network, @@ -36,6 +36,7 @@ pub struct MainMenu { server_address: String, next_state: Option>, settings: Option, + credits: Option, } impl MainMenu { @@ -47,6 +48,7 @@ impl MainMenu { ui_state: UiState::default(), next_state: None, settings: None, + credits: None, } } pub fn tick( @@ -74,6 +76,12 @@ impl MainMenu { } return; } + if let Some(credits) = &mut self.credits { + if credits.draw(ui) { + self.credits = None; + } + return; + } if ui.button(80., "Join") { self.next_state = Some(Box::new(State::Ingame(Box::new(Game::new( Network::connect(&self.server_address).unwrap(), @@ -84,6 +92,9 @@ impl MainMenu { if ui.button(80., "Settings") { self.settings = Some(SettingsMenu::default()) } + if ui.button(80., "Credits") { + self.credits = Some(CreditsMenu::default()) + } if ui.button(80., "Quit") { self.next_state = Some(Box::new(State::Quit)); } -- cgit v1.2.3-70-g09d2