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, }
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
impl Session
[src]
impl Session
[src]pub fn load() -> Session
[src]
pub fn record_score(
&mut self,
level: String,
score: usize
) -> Option<Vec<String>>
[src]
&mut self,
level: String,
score: usize
) -> Option<Vec<String>>
If a message is returned, a new level and some powers were unlocked.
pub fn unlock_all(&mut self)
[src]
pub fn update_music(&mut self, ctx: &mut EventCtx<'_>)
[src]
pub fn save(&self)
[src]
Trait Implementations
impl<'de> Deserialize<'de> for Session
[src]
impl<'de> Deserialize<'de> for Session
[src]fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
Auto Trait Implementations
impl !RefUnwindSafe for Session
impl !Send for Session
impl !Sync for Session
impl Unpin for Session
impl !UnwindSafe for Session
Blanket Implementations
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
pub fn vzip(self) -> V
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,