mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
31 lines
744 B
Rust
31 lines
744 B
Rust
#[derive(Debug, Copy, Clone, PartialEq, Eq)]
|
|
pub enum DayPeriod {
|
|
Night,
|
|
Morning,
|
|
Noon,
|
|
Evening,
|
|
}
|
|
|
|
impl From<f64> for DayPeriod {
|
|
fn from(time_of_day: f64) -> Self {
|
|
let tod = time_of_day.rem_euclid(60.0 * 60.0 * 24.0);
|
|
if tod < 60.0 * 60.0 * 6.0 {
|
|
DayPeriod::Night
|
|
} else if tod < 60.0 * 60.0 * 11.0 {
|
|
DayPeriod::Morning
|
|
} else if tod < 60.0 * 60.0 * 16.0 {
|
|
DayPeriod::Noon
|
|
} else if tod < 60.0 * 60.0 * 19.0 {
|
|
DayPeriod::Evening
|
|
} else {
|
|
DayPeriod::Night
|
|
}
|
|
}
|
|
}
|
|
|
|
impl DayPeriod {
|
|
pub fn is_dark(&self) -> bool { *self == DayPeriod::Night }
|
|
|
|
pub fn is_light(&self) -> bool { !self.is_dark() }
|
|
}
|