pub struct Sim {
pub world: World,
pub step: Duration,
/* private fields */
}Expand description
Fixed-timestep simulation state.
Fields§
§world: WorldEntity/component store. Game crates add their own components here.
step: DurationFixed step size. Defaults to 60 Hz.
Implementations§
Source§impl Sim
impl Sim
pub fn new(step: Duration) -> Self
Sourcepub fn with_default_step() -> Self
pub fn with_default_step() -> Self
60 Hz fixed-step sim.
Sourcepub fn add_system<M>(&mut self, system: impl IntoSystem<(), (), M>) -> &mut Self
pub fn add_system<M>(&mut self, system: impl IntoSystem<(), (), M>) -> &mut Self
Register a system into the per-step schedule.
Sourcepub fn add_chained_systems<M>(
&mut self,
systems: impl IntoScheduleConfigs<ScheduleSystem, M>,
) -> &mut Self
pub fn add_chained_systems<M>( &mut self, systems: impl IntoScheduleConfigs<ScheduleSystem, M>, ) -> &mut Self
Register systems with a guaranteed execution order.
A bare Schedule does not preserve add_system insertion order for
systems with conflicting accesses, so multi-step pipelines (economy,
combat) must register as one (a, b, c).chain() tuple through here
instead of separate add_system calls.
Auto Trait Implementations§
impl !Freeze for Sim
impl !RefUnwindSafe for Sim
impl !UnwindSafe for Sim
impl Send for Sim
impl Sync for Sim
impl Unpin for Sim
impl UnsafeUnpin for Sim
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
impl<T> ConditionalSend for Twhere
T: Send,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
Source§fn into_result(self) -> Result<T, RunSystemError>
fn into_result(self) -> Result<T, RunSystemError>
Converts this type into the system output type.