summaryrefslogtreecommitdiff
path: root/pixel-client/src/menu/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'pixel-client/src/menu/main.rs')
-rw-r--r--pixel-client/src/menu/main.rs13
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));
}