#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
pub enum HudViewMode {
#[default]
Normal,
Compact,
Map,
}
impl HudViewMode {
pub fn cycle(self) -> Self {
match self {
Self::Normal => Self::Compact,
Self::Compact => Self::Map,
Self::Map => Self::Normal,
}
}
pub fn label(self) -> &'static str {
match self {
Self::Normal => "normal",
Self::Compact => "compact",
Self::Map => "map",
}
}
}
#[derive(Debug, Default)]
pub struct PlayHud<'a> {
pub movement: &'a str,
pub sprint_mode: bool,
pub map_target: Option<(f32, f32)>,
pub auto_nav_goal: Option<(f32, f32)>,
pub mouse_hover: Option<(f32, f32)>,
pub view_mode: HudViewMode,
}