Struct game::sandbox::SandboxMode
source · [−]pub struct SandboxMode {
gameplay: Box<dyn GameplayState>,
pub gameplay_mode: GameplayMode,
pub controls: SandboxControls,
recalc_unzoomed_agent: Option<Time>,
last_cs: ColorSchemeChoice,
}
Fields
gameplay: Box<dyn GameplayState>
gameplay_mode: GameplayMode
controls: SandboxControls
recalc_unzoomed_agent: Option<Time>
last_cs: ColorSchemeChoice
Implementations
sourceimpl SandboxMode
impl SandboxMode
sourcepub fn simple_new(app: &mut App, mode: GameplayMode) -> Box<dyn State<App>>
pub fn simple_new(app: &mut App, mode: GameplayMode) -> Box<dyn State<App>>
If you don’t need to chain any transitions after the SandboxMode that rely on its resources
being loaded, use this. Otherwise, see async_new
.
sourcepub fn async_new(
app: &mut App,
mode: GameplayMode,
finalize: Box<dyn FnOnce(&mut EventCtx<'_>, &mut App) -> Vec<Transition<App>>>
) -> Box<dyn State<App>>
pub fn async_new(
app: &mut App,
mode: GameplayMode,
finalize: Box<dyn FnOnce(&mut EventCtx<'_>, &mut App) -> Vec<Transition<App>>>
) -> Box<dyn State<App>>
This does not immediately initialize anything (like loading the correct map, instantiating
the scenario, etc). That means if you’re chaining this call with other transitions, you
probably need to defer running them using finalize
.
sourcepub fn start_from_savestate(app: &App) -> Box<dyn State<App>>
pub fn start_from_savestate(app: &App) -> Box<dyn State<App>>
Assumes that the map and simulation have already been set up, and starts by loading prebaked data.
pub fn contextual_actions(&self) -> Actions
Trait Implementations
sourceimpl State<App> for SandboxMode
impl State<App> for SandboxMode
sourcefn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition<App>
fn event(&mut self, ctx: &mut EventCtx<'_>, app: &mut App) -> Transition<App>
Respond to a UI event, such as input or time passing.
sourcefn on_destroy(&mut self, _: &mut EventCtx<'_>, app: &mut App)
fn on_destroy(&mut self, _: &mut EventCtx<'_>, app: &mut App)
Before this state is popped or replaced, call this.
fn draw_baselayer(&self) -> DrawBaselayer
fn draw_baselayer(&self) -> DrawBaselayer
Specifies what to draw before draw()
Auto Trait Implementations
impl !RefUnwindSafe for SandboxMode
impl !Send for SandboxMode
impl !Sync for SandboxMode
impl Unpin for SandboxMode
impl !UnwindSafe for SandboxMode
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
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
pub fn as_any(&self) -> &(dyn Any + 'static)
pub fn as_any(&self) -> &(dyn Any + 'static)
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
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self