/* * This file is part of sdbclient * Copyright (C) 2023 Jonni Liljamo * * Licensed under GPL-3.0-only. * See LICENSE for licensing information. */ use bevy::prelude::Resource; /// Runtime data for use in the menu #[derive(Resource)] pub(crate) struct RTDMenu { pub play_menu_ui_state: PlayMenuUIState, /// Current game ID, for showing lobby data etc pub cur_game_id: String, } impl Default for RTDMenu { fn default() -> Self { Self { play_menu_ui_state: PlayMenuUIState::Main, cur_game_id: String::from(""), } } } pub(crate) enum PlayMenuUIState { Main, CreateGame, BrowseGames, InLobbyHost, InLobbyGuest, } impl PlayMenuUIState { pub fn display(&self) -> &str { match self { PlayMenuUIState::Main => "Main", PlayMenuUIState::CreateGame => "Create", PlayMenuUIState::BrowseGames => "Browse", PlayMenuUIState::InLobbyHost => "Lobby (Host)", PlayMenuUIState::InLobbyGuest => "Lobby (Guest)," } } }