pub struct Timer { /* private fields */ }
Expand description
Used for single or repeated timed events, uses fractional seconds
§Update
When using Timer::update or Timer::update_secs, note that
- for timers created with Timer::new_once those methods will continue to return true until Timer::reset is called
- other timers will only return true once per duration then automatically reset
§Usage
let mut timer = Timer::new_with_delay(1.0, 1.0);
loop {
if timer.update_secs(delta) {
break;
}
}
Implementations§
Source§impl Timer
impl Timer
Sourcepub fn new_with_delay(delay: f64, duration: f64) -> Timer
pub fn new_with_delay(delay: f64, duration: f64) -> Timer
Create a timer that will wait delay
seconds then trigger every duration
seconds
§Usage
Timer::new_with_delay(2.0, 0.1)
will wait 2s then trigger every 0.1s
Source§impl Timer
impl Timer
Sourcepub fn update_secs(&mut self, delta: f64) -> bool
pub fn update_secs(&mut self, delta: f64) -> bool
Update timer, returns true if triggered
delta
is fractional seconds passed since last call
Sourcepub fn reset(&mut self)
pub fn reset(&mut self)
Set remaining to reset value (the number passed into the constructor) One time loops can trigger again after calling this
Sourcepub fn has_triggered(&self) -> bool
pub fn has_triggered(&self) -> bool
If the timer has reached 0, this will always be false for looping timers (unless reset is <= 0.0)
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Timer
impl<'de> Deserialize<'de> for Timer
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Timer, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Timer, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for Timer
impl Serialize for Timer
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for Timer
Auto Trait Implementations§
impl Freeze for Timer
impl RefUnwindSafe for Timer
impl Send for Timer
impl Sync for Timer
impl Unpin for Timer
impl UnwindSafe for Timer
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
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.