[−][src]Struct game::app::PerMap
All of the state that's bound to a specific map.
Fields
map: Map
draw_map: DrawMap
sim: Sim
agents: RefCell<AgentCache>
current_selection: Option<ID>
current_flags: Flags
last_warped_from: Option<(Pt2D, f64)>
sim_cb: Option<Box<dyn SimCallback>>
dirty_from_edits: bool
If we ever left edit mode and resumed without restarting from midnight, this is true.
has_modified_trips: bool
Any ScenarioModifiers in effect?
unedited_map: RefCell<Option<Map>>
Sometimes we need the map before any edits have been applied. Cache it here.
layer: Option<Box<dyn Layer>>
suspended_sim: Option<Sim>
Only filled out in edit mode. Stored here once to avoid lots of clones. Used for preview.
prebaked: Option<(MapName, String, Analytics)>
Only exists in some gameplay modes. Must be carefully reset otherwise. Has the map and scenario name too.
scenario: Option<Scenario>
The most recent Scenario loaded from a file. Don't depend on it always matching the current gameplay mode; always verify the name matches what's needed.
Storing this may cost some memory, but otherwise resetting to midnight would require loading it again from a file. This is particularly painful on the web!
Implementations
impl PerMap
[src]
fn map_loaded(
map: Map,
sim: Sim,
splash: bool,
flags: Flags,
opts: &Options,
cs: &ColorScheme,
ctx: &mut EventCtx<'_>,
timer: &mut Timer<'_>
) -> PerMap
[src]
map: Map,
sim: Sim,
splash: bool,
flags: Flags,
opts: &Options,
cs: &ColorScheme,
ctx: &mut EventCtx<'_>,
timer: &mut Timer<'_>
) -> PerMap
pub fn clear_sim(&mut self) -> Sim
[src]
Returns whatever was there
pub fn calculate_unedited_map(&self)
[src]
If needed, makes sure the unedited_map is populated. Callers can then do
self.unedited_map.borrow().unwrap_or(&self.map)
.
pub fn canonical_point(&self, id: ID) -> Option<Pt2D>
[src]
Auto Trait Implementations
impl !RefUnwindSafe for PerMap
impl !Send for PerMap
impl !Sync for PerMap
impl Unpin for PerMap
impl !UnwindSafe for PerMap
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Downcast for T where
T: Any,
T: Any,
fn into_any(self: Box<T>) -> Box<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn as_any(&self) -> &(dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
fn instrument(self, span: Span) -> Instrumented<Self>
[src]
fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T> Instrument for T
[src]
fn instrument(self, span: Span) -> Instrumented<Self>
[src]
fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,