flatland_client_ui/
hud.rs1#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
5pub enum HudViewMode {
6 #[default]
7 Normal,
8 Compact,
9 Map,
10}
11
12impl HudViewMode {
13 pub fn cycle(self) -> Self {
14 match self {
15 Self::Normal => Self::Compact,
16 Self::Compact => Self::Map,
17 Self::Map => Self::Normal,
18 }
19 }
20
21 pub fn label(self) -> &'static str {
22 match self {
23 Self::Normal => "normal",
24 Self::Compact => "compact",
25 Self::Map => "map",
26 }
27 }
28}
29
30#[derive(Debug, Default)]
31pub struct PlayHud<'a> {
32 pub movement: &'a str,
33 pub sprint_mode: bool,
34 pub map_target: Option<(f32, f32)>,
35 pub auto_nav_goal: Option<(f32, f32)>,
36 pub mouse_hover: Option<(f32, f32)>,
38 pub view_mode: HudViewMode,
39}