pub struct Tick { /* private fields */ }
Expand description
Used to track changes in state between system runs, e.g. components being added or accessed mutably.
Implementations§
source§impl Tick
impl Tick
pub const fn new(tick: u32) -> Self
sourcepub fn is_newer_than(&self, last_change_tick: u32, change_tick: u32) -> bool
pub fn is_newer_than(&self, last_change_tick: u32, change_tick: u32) -> bool
Returns true
if this Tick
occurred since the system’s last_change_tick
.
change_tick
is the current tick of the system, used as a reference to help deal with wraparound.
sourcepub fn set_changed(&mut self, change_tick: u32)
pub fn set_changed(&mut self, change_tick: u32)
Manually sets the change tick.
This is normally done automatically via the DerefMut
implementation
on Mut<T>
, ResMut<T>
, etc.
However, components and resources that make use of interior mutability might require manual updates.
Example
let world: World = unimplemented!();
let component_ticks: ComponentTicks = unimplemented!();
component_ticks.set_changed(world.read_change_tick());
Trait Implementations§
Auto Trait Implementations§
impl RefUnwindSafe for Tick
impl Send for Tick
impl Sync for Tick
impl Unpin for Tick
impl UnwindSafe for Tick
Blanket Implementations§
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
source§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
.source§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
.source§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.source§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.