Skip to main content

asterion_core/
alarm_level.rs

1use crate::GameColors;
2use image::Rgba;
3use strum_macros::Display;
4
5#[derive(Clone, Copy, Debug, Display, PartialEq, PartialOrd)]
6pub enum AlarmLevel {
7    NoMinotaurs,
8    NotChasing,
9    ChasingOtherHero,
10    ChasingHero,
11}
12
13impl AlarmLevel {
14    pub fn rgba(&self) -> Rgba<u8> {
15        match self {
16            Self::NoMinotaurs | Self::NotChasing => Rgba([255; 4]),
17            Self::ChasingOtherHero => GameColors::MINOTAUR,
18            Self::ChasingHero => GameColors::CHASING_MINOTAUR,
19        }
20    }
21}