DEVELOPMENT ENVIRONMENT

~liljamo/deck-builder

ref: fbac14df11919339d32e9719a85248f9329ac20b deck-builder/client/src/plugins/menu/ui/menu.rs -rw-r--r-- 1.2 KiB
fbac14dfJonni Liljamo feat(client): settings menu stub 1 year, 7 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/*
 * This file is part of laurelin/client
 * Copyright (C) 2023 Jonni Liljamo <jonni@liljamo.com>
 *
 * 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::state::NextState;

use crate::{plugins::menu::MenuState, util::egui::menuwindow, GracefulExit};

pub fn ui(
    mut commands: Commands,
    mut egui_context: ResMut<EguiContext>,
    mut exit_events: EventWriter<GracefulExit>,
) {
    menuwindow(
        egui_context.ctx_mut(),
        "Laurelin",
        &egui::Vec2::new(400., 600.),
        |ui| {
            ui.vertical_centered(|ui| {
                if ui.button("Play").clicked() {
                    commands.insert_resource(NextState(MenuState::Play));
                }

                if ui.button("Account").clicked() {
                    //
                }

                if ui.button("Settings").clicked() {
                    commands.insert_resource(NextState(MenuState::Settings));
                }

                if ui.button("Quit").clicked() {
                    exit_events.send(GracefulExit);
                }
            });
        },
    );
}