#[non_exhaustive]pub enum HallCallMode {
Classic,
Destination,
}Expand description
How hall calls expose rider destinations to dispatch.
Different building eras and controller designs reveal destinations at different moments. Groups pick a mode so the sim can model both traditional up/down collective-control elevators and modern destination-dispatch lobby kiosks within the same simulation.
Stops are expected to belong to exactly one group. When a stop
overlaps multiple groups, the hall-call press consults the first
group containing it (iteration order over
Simulation::groups), which in
turn determines the HallCallMode and ack latency applied to that
call. Overlapping topologies are not validated at construction
time; games that need them should be aware of this first-match
rule.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Classic
Traditional collective-control (“classic” Otis/Westinghouse).
Riders press an up or down button in the hall; the destination
is revealed only after boarding, via a
CarCall. Dispatch sees a direction
per call but does not know individual rider destinations until
they’re aboard.
Destination
Modern destination dispatch (“DCS” — Otis CompassPlus, KONE
Polaris, Schindler PORT).
Riders enter their destination at a hall kiosk, so each
HallCall carries a destination
stop from the moment it’s pressed. Required by
DestinationDispatch.
Trait Implementations§
Source§impl Clone for HallCallMode
impl Clone for HallCallMode
Source§fn clone(&self) -> HallCallMode
fn clone(&self) -> HallCallMode
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for HallCallMode
impl Debug for HallCallMode
Source§impl Default for HallCallMode
impl Default for HallCallMode
Source§fn default() -> HallCallMode
fn default() -> HallCallMode
Source§impl<'de> Deserialize<'de> for HallCallMode
impl<'de> Deserialize<'de> for HallCallMode
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for HallCallMode
impl PartialEq for HallCallMode
Source§impl Serialize for HallCallMode
impl Serialize for HallCallMode
impl Copy for HallCallMode
impl Eq for HallCallMode
impl StructuralPartialEq for HallCallMode
Auto Trait Implementations§
impl Freeze for HallCallMode
impl RefUnwindSafe for HallCallMode
impl Send for HallCallMode
impl Sync for HallCallMode
impl Unpin for HallCallMode
impl UnsafeUnpin for HallCallMode
impl UnwindSafe for HallCallMode
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.