#[non_exhaustive]pub enum BuiltinStrategy {
Scan,
Look,
NearestCar,
Etd,
Custom(String),
}Expand description
Serializable identifier for built-in dispatch strategies.
Used in snapshots and config files to restore the correct strategy
without requiring the game to manually re-wire dispatch. Custom strategies
are represented by the Custom(String) variant.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Scan
SCAN (elevator) algorithm — sweeps end-to-end.
Look
LOOK algorithm — reverses at last request.
NearestCar
Nearest-car — assigns closest idle elevator.
Etd
Estimated Time to Destination — minimizes total cost.
Custom(String)
Custom strategy identified by name. The game must provide a factory.
Implementations§
Source§impl BuiltinStrategy
impl BuiltinStrategy
Sourcepub fn instantiate(&self) -> Option<Box<dyn DispatchStrategy>>
pub fn instantiate(&self) -> Option<Box<dyn DispatchStrategy>>
Instantiate the dispatch strategy for this variant.
Returns None for Custom — the game must provide those via
a factory function.
Trait Implementations§
Source§impl Clone for BuiltinStrategy
impl Clone for BuiltinStrategy
Source§fn clone(&self) -> BuiltinStrategy
fn clone(&self) -> BuiltinStrategy
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for BuiltinStrategy
impl Debug for BuiltinStrategy
Source§impl<'de> Deserialize<'de> for BuiltinStrategy
impl<'de> Deserialize<'de> for BuiltinStrategy
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for BuiltinStrategy
impl Display for BuiltinStrategy
Source§impl PartialEq for BuiltinStrategy
impl PartialEq for BuiltinStrategy
Source§impl Serialize for BuiltinStrategy
impl Serialize for BuiltinStrategy
impl Eq for BuiltinStrategy
impl StructuralPartialEq for BuiltinStrategy
Auto Trait Implementations§
impl Freeze for BuiltinStrategy
impl RefUnwindSafe for BuiltinStrategy
impl Send for BuiltinStrategy
impl Sync for BuiltinStrategy
impl Unpin for BuiltinStrategy
impl UnsafeUnpin for BuiltinStrategy
impl UnwindSafe for BuiltinStrategy
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
Mutably borrows from an owned value. Read more