/* * 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::*; use bevy_inspector_egui::bevy_egui::{egui, EguiContext}; use iyes_loopless::prelude::*; use crate::{ plugins::menu::MenuState, runtime::menu::{PlayMenuUIState, RTDMenu}, }; use super::PlayMenuState; pub(super) fn show( mut commands: Commands, mut egui_context: ResMut, mut rtdmenu: ResMut, ) { egui::Window::new(rtdmenu.play_menu_ui_state.display()) .resizable(false) .collapsible(false) .anchor(egui::Align2::CENTER_CENTER, egui::Vec2::ZERO) .show(egui_context.ctx_mut(), |ui| { match rtdmenu.play_menu_ui_state { PlayMenuUIState::Main => { if ui.button("Create").clicked() { rtdmenu.play_menu_ui_state = PlayMenuUIState::CreateGame } if ui.button("Browse").clicked() { rtdmenu.play_menu_ui_state = PlayMenuUIState::BrowseGames } if ui.button("Back").clicked() { commands.insert_resource(NextState(PlayMenuState::None)); commands.insert_resource(NextState(MenuState::Main)); } } PlayMenuUIState::CreateGame => { if ui.button("Back").clicked() { rtdmenu.play_menu_ui_state = PlayMenuUIState::Main } } PlayMenuUIState::BrowseGames => { if ui.button("Back").clicked() { rtdmenu.play_menu_ui_state = PlayMenuUIState::Main } } PlayMenuUIState::InLobbyHost => { if ui.button("Back").clicked() { rtdmenu.play_menu_ui_state = PlayMenuUIState::Main } } PlayMenuUIState::InLobbyGuest => { if ui.button("Back").clicked() { rtdmenu.play_menu_ui_state = PlayMenuUIState::Main } } } }); }