diff options
author | metamuffin <metamuffin@disroot.org> | 2024-07-27 15:23:11 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-07-27 15:44:33 +0200 |
commit | 810f1ae9ee89ae0f49601e156bff4c2f5c1aad32 (patch) | |
tree | 8f0fefceb7de7976aa6eb1f87e6c675d434a9ed7 /pixel-client/src/menu/main.rs | |
parent | cdea92a85fd20fdf9de771ec6fe852a1a3ee0a5a (diff) | |
download | hurrycurry-810f1ae9ee89ae0f49601e156bff4c2f5c1aad32.tar hurrycurry-810f1ae9ee89ae0f49601e156bff4c2f5c1aad32.tar.bz2 hurrycurry-810f1ae9ee89ae0f49601e156bff4c2f5c1aad32.tar.zst |
add credits menu and ui flow
Diffstat (limited to 'pixel-client/src/menu/main.rs')
-rw-r--r-- | pixel-client/src/menu/main.rs | 13 |
1 files changed, 12 insertions, 1 deletions
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 <https://www.gnu.org/licenses/>. */ -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<Box<State>>, settings: Option<SettingsMenu>, + credits: Option<CreditsMenu>, } 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)); } |