Struct bevy::time::FixedTimestep
[−]pub struct FixedTimestep { /* private fields */ }
Expand description
A system run criteria that enables systems or stages to run at a fixed timestep between executions.
This does not guarantee that the time elapsed between executions is exactly the provided fixed timestep, but will guarantee that the execution will run multiple times per game tick until the number of repetitions is as expected.
For example, a system with a fixed timestep run criteria of 120 times per second will run two times during a ~16.667ms frame, once during a ~8.333ms frame, and once every two frames with ~4.167ms frames. However, the same criteria may not result in exactly 8.333ms passing between each execution.
When using this run criteria, it is advised not to rely on Time::delta
or any of it’s
variants for game simulation, but rather use the constant time delta used to initialize the
FixedTimestep
instead.
For more fine tuned information about the execution status of a given fixed timestep,
use the FixedTimesteps
resource.
Implementations
impl FixedTimestep
impl FixedTimestep
pub fn step(step: f64) -> FixedTimestep
pub fn step(step: f64) -> FixedTimestep
Creates a FixedTimestep
that ticks once every step
seconds.
pub fn steps_per_second(rate: f64) -> FixedTimestep
pub fn steps_per_second(rate: f64) -> FixedTimestep
Creates a FixedTimestep
that ticks once every rate
times per second.
pub fn with_label(self, label: &str) -> FixedTimestep
pub fn with_label(self, label: &str) -> FixedTimestep
Sets the label for the timestep. Setting a label allows a timestep
to be observed by the global FixedTimesteps
resource.
Trait Implementations
impl Default for FixedTimestep
impl Default for FixedTimestep
fn default() -> FixedTimestep
fn default() -> FixedTimestep
Returns the “default value” for a type. Read more
impl System for FixedTimestep
impl System for FixedTimestep
type In = ()
type In = ()
The system’s input. See In
for
FunctionSystem
s. Read more
fn archetype_component_access(&self) -> &Access<ArchetypeComponentId>
fn archetype_component_access(&self) -> &Access<ArchetypeComponentId>
Returns the system’s archetype component Access
.
fn component_access(&self) -> &Access<ComponentId>
fn component_access(&self) -> &Access<ComponentId>
Returns the system’s component Access
.
unsafe fn run_unsafe(&mut self, _input: (), world: &World) -> ShouldRun
unsafe fn run_unsafe(&mut self, _input: (), world: &World) -> ShouldRun
Runs the system with the given input in the world. Unlike System::run
, this function
takes a shared reference to World
and may therefore break Rust’s aliasing rules, making
it unsafe to call. Read more
fn apply_buffers(&mut self, world: &mut World)
fn initialize(&mut self, world: &mut World)
fn initialize(&mut self, world: &mut World)
Initialize the system.
fn update_archetype_component_access(&mut self, world: &World)
fn update_archetype_component_access(&mut self, world: &World)
Update the system’s archetype component Access
.
fn check_change_tick(&mut self, change_tick: u32)
fn run(&mut self, input: Self::In, world: &mut World) -> Self::Out
fn run(&mut self, input: Self::In, world: &mut World) -> Self::Out
Runs the system with the given input in the world.
fn default_labels(&self) -> Vec<SystemLabelId, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
fn default_labels(&self) -> Vec<SystemLabelId, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
The default labels for the system
Auto Trait Implementations
impl !RefUnwindSafe for FixedTimestep
impl Send for FixedTimestep
impl Sync for FixedTimestep
impl Unpin for FixedTimestep
impl !UnwindSafe for FixedTimestep
Blanket Implementations
impl<T, U> AsBindGroupShaderType<U> for T where
U: ShaderType,
&'a T: for<'a> Into<U>,
impl<T, U> AsBindGroupShaderType<U> for T where
U: ShaderType,
&'a T: for<'a> Into<U>,
fn as_bind_group_shader_type(
&self,
_images: &HashMap<Handle<Image>, <Image as RenderAsset>::PreparedAsset, RandomState, Global>
) -> U
fn as_bind_group_shader_type(
&self,
_images: &HashMap<Handle<Image>, <Image as RenderAsset>::PreparedAsset, RandomState, Global>
) -> U
Return the T
ShaderType
for self
. When used in AsBindGroup
derives, it is safe to assume that all images in self
exist. Read more
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
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,
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
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
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
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
fn as_any(&self) -> &(dyn Any + 'static)
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
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
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
impl<T> FromWorld for T where
T: Default,
impl<T> FromWorld for T where
T: Default,
fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates Self
using data from the given World
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
sourcefn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
impl<SystemA, ParamA, Payload, SystemB, ParamB, Out> IntoChainSystem<ParamA, Payload, SystemB, ParamB, Out> for SystemA where
SystemA: IntoSystem<(), Payload, ParamA>,
SystemB: IntoSystem<Payload, Out, ParamB>,
impl<SystemA, ParamA, Payload, SystemB, ParamB, Out> IntoChainSystem<ParamA, Payload, SystemB, ParamB, Out> for SystemA where
SystemA: IntoSystem<(), Payload, ParamA>,
SystemB: IntoSystem<Payload, Out, ParamB>,
fn chain(
self,
system: SystemB
) -> ChainSystem<<SystemA as IntoSystem<(), Payload, ParamA>>::System, <SystemB as IntoSystem<Payload, Out, ParamB>>::System>
fn chain(
self,
system: SystemB
) -> ChainSystem<<SystemA as IntoSystem<(), Payload, ParamA>>::System, <SystemB as IntoSystem<Payload, Out, ParamB>>::System>
Chain this system A
with another system B
creating a new system that feeds system A’s
output into system B
, returning the output of system B
. Read more
impl<S, Param> IntoRunCriteria<(Box<dyn System<In = (), Out = ShouldRun> + 'static, Global>, Param)> for S where
S: IntoSystem<(), ShouldRun, Param>,
impl<S, Param> IntoRunCriteria<(Box<dyn System<In = (), Out = ShouldRun> + 'static, Global>, Param)> for S where
S: IntoSystem<(), ShouldRun, Param>,
fn into(self) -> RunCriteriaDescriptorOrLabel
impl<In, Out, Sys> IntoSystem<In, Out, AlreadyWasSystem> for Sys where
Sys: System<In = In, Out = Out>,
impl<In, Out, Sys> IntoSystem<In, Out, AlreadyWasSystem> for Sys where
Sys: System<In = In, Out = Out>,
type System = Sys
fn into_system(this: Sys) -> Sys
fn into_system(this: Sys) -> Sys
Turns this value into its corresponding System
.
impl<S, Param> RunCriteriaDescriptorCoercion<Param> for S where
S: IntoSystem<(), ShouldRun, Param>,
impl<S, Param> RunCriteriaDescriptorCoercion<Param> for S where
S: IntoSystem<(), ShouldRun, Param>,
fn label(self, label: impl RunCriteriaLabel) -> RunCriteriaDescriptor
fn label(self, label: impl RunCriteriaLabel) -> RunCriteriaDescriptor
Assigns a label to the criteria. Must be unique.
fn label_discard_if_duplicate(
self,
label: impl RunCriteriaLabel
) -> RunCriteriaDescriptor
fn label_discard_if_duplicate(
self,
label: impl RunCriteriaLabel
) -> RunCriteriaDescriptor
Assigns a label to the criteria. If the given label is already in use, this criteria will be discarded before initialization. Read more
fn before(self, label: impl RunCriteriaLabel) -> RunCriteriaDescriptor
fn before(self, label: impl RunCriteriaLabel) -> RunCriteriaDescriptor
Specifies that this criteria must be evaluated before a criteria with the given label.
fn after(self, label: impl RunCriteriaLabel) -> RunCriteriaDescriptor
fn after(self, label: impl RunCriteriaLabel) -> RunCriteriaDescriptor
Specifies that this criteria must be evaluated after a criteria with the given label.
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
T: Future, type Output = <T as Future>::Output;
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
fn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more