Struct santa::session::Session [−][src]
pub struct Session {
pub levels: Vec<Level>,
pub enable_modding: bool,
pub colors: ColorScheme,
pub high_scores: HashMap<String, Vec<usize>>,
pub levels_unlocked: usize,
pub current_vehicle: String,
pub vehicles_unlocked: BTreeSet<String>,
pub upzones_unlocked: usize,
pub upzones_explained: bool,
pub upzones_per_level: MultiMap<String, BuildingID>,
pub music: Music,
pub play_music: bool,
}
Expand description
Persistent state that lasts across levels.
Fields
levels: Vec<Level>
enable_modding: bool
Enable this to use the levels, instead of overwriting them with the version in the code.
colors: ColorScheme
high_scores: HashMap<String, Vec<usize>>
Level title -> the top 3 scores
levels_unlocked: usize
current_vehicle: String
vehicles_unlocked: BTreeSet<String>
upzones_unlocked: usize
upzones_explained: bool
upzones_per_level: MultiMap<String, BuildingID>
music: Music
play_music: bool
Implementations
If a message is returned, a new level and some powers were unlocked.
Trait Implementations
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
Auto Trait Implementations
impl !RefUnwindSafe for Session
impl !UnwindSafe for Session
Blanket Implementations
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
type Output = T
type Output = T
Should always be Self