use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Copy, Serialize, Deserialize)]
pub struct Patience {
pub(crate) max_wait_ticks: u64,
pub(crate) waited_ticks: u64,
}
impl Patience {
#[must_use]
pub const fn max_wait_ticks(&self) -> u64 {
self.max_wait_ticks
}
#[must_use]
pub const fn waited_ticks(&self) -> u64 {
self.waited_ticks
}
}
impl Default for Patience {
fn default() -> Self {
Self {
max_wait_ticks: 600,
waited_ticks: 0,
}
}
}
#[derive(Debug, Clone, Copy, Serialize, Deserialize)]
pub struct Preferences {
pub(crate) skip_full_elevator: bool,
pub(crate) max_crowding_factor: f64,
}
impl Preferences {
#[must_use]
pub const fn skip_full_elevator(&self) -> bool {
self.skip_full_elevator
}
#[must_use]
pub const fn max_crowding_factor(&self) -> f64 {
self.max_crowding_factor
}
}
impl Default for Preferences {
fn default() -> Self {
Self {
skip_full_elevator: false,
max_crowding_factor: 0.8,
}
}
}