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
use bevy::prelude::Component;

#[derive(Component)]
pub struct Pause;

#[derive(Component, Clone)]
pub struct PauseUi;

#[derive(Component)]
pub struct ResumeButton;

// #=====================#
// #=== INTERACTIVITY ===#

/// Good practice is to use custom component for buttons, so we can easily know what type of button was pressed
#[derive(Component, Debug, Default, Clone, PartialEq)]
pub enum PauseButton {
    #[default]
    Resume,
    Settings,
    Menu,
}
impl PauseButton {
    pub fn str(&self) -> String {
        match self {
            PauseButton::Resume => "Resume".into(),
            PauseButton::Settings => "Settings".into(),
            PauseButton::Menu => "Return to menu".into(),
        }
    }
}