Struct bevy::core::Stopwatch [−]
A Stopwatch is a struct that track elapsed time when started.
Examples
use std::time::Duration; let mut stopwatch = Stopwatch::new(); assert_eq!(stopwatch.elapsed_secs(), 0.0); stopwatch.tick(Duration::from_secs_f32(1.0)); // tick one second assert_eq!(stopwatch.elapsed_secs(), 1.0); stopwatch.pause(); stopwatch.tick(Duration::from_secs_f32(1.0)); // paused stopwatches don't tick assert_eq!(stopwatch.elapsed_secs(), 1.0); stopwatch.reset(); // reset the stopwatch assert!(stopwatch.paused()); assert_eq!(stopwatch.elapsed_secs(), 0.0);
Implementations
impl Stopwatch
pub fn new() -> Stopwatch
Create a new unpaused Stopwatch
with no elapsed time.
Examples
let stopwatch = Stopwatch::new(); assert_eq!(stopwatch.elapsed_secs(), 0.0); assert_eq!(stopwatch.paused(), false);
pub fn elapsed(&self) -> Duration
Returns the elapsed time since the last reset
of the stopwatch.
Examples
use std::time::Duration; let mut stopwatch = Stopwatch::new(); stopwatch.tick(Duration::from_secs(1)); assert_eq!(stopwatch.elapsed(), Duration::from_secs(1));
pub fn elapsed_secs(&self) -> f32
pub fn set_elapsed(&mut self, time: Duration)
Sets the elapsed time of the stopwatch.
Examples
use std::time::Duration; let mut stopwatch = Stopwatch::new(); stopwatch.set_elapsed(Duration::from_secs_f32(1.0)); assert_eq!(stopwatch.elapsed_secs(), 1.0);
pub fn tick(&mut self, delta: Duration) -> &Stopwatch
Advance the stopwatch by delta
seconds.
If the stopwatch is paused, ticking will not have any effect
on elapsed time.
Examples
use std::time::Duration; let mut stopwatch = Stopwatch::new(); stopwatch.tick(Duration::from_secs_f32(1.5)); assert_eq!(stopwatch.elapsed_secs(), 1.5);
pub fn pause(&mut self)
Pauses the stopwatch. Any call to tick
while
paused will not have any effect on the elapsed time.
Examples
use std::time::Duration; let mut stopwatch = Stopwatch::new(); stopwatch.pause(); stopwatch.tick(Duration::from_secs_f32(1.5)); assert!(stopwatch.paused()); assert_eq!(stopwatch.elapsed_secs(), 0.0);
pub fn unpause(&mut self)
Unpauses the stopwatch. Resume the effect of ticking on elapsed time.
Examples
use std::time::Duration; let mut stopwatch = Stopwatch::new(); stopwatch.pause(); stopwatch.tick(Duration::from_secs_f32(1.0)); stopwatch.unpause(); stopwatch.tick(Duration::from_secs_f32(1.0)); assert!(!stopwatch.paused()); assert_eq!(stopwatch.elapsed_secs(), 1.0);
pub fn paused(&self) -> bool
Returns true
if the stopwatch is paused.
Examples
let mut stopwatch = Stopwatch::new(); assert!(!stopwatch.paused()); stopwatch.pause(); assert!(stopwatch.paused()); stopwatch.unpause(); assert!(!stopwatch.paused());
pub fn reset(&mut self)
Resets the stopwatch.
Examples
use std::time::Duration; let mut stopwatch = Stopwatch::new(); stopwatch.tick(Duration::from_secs_f32(1.5)); stopwatch.reset(); assert_eq!(stopwatch.elapsed_secs(), 0.0);
Trait Implementations
impl Clone for Stopwatch
pub fn clone(&self) -> Stopwatch
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for Stopwatch
impl Default for Stopwatch
impl GetTypeRegistration for Stopwatch
pub fn get_type_registration() -> TypeRegistration
impl Reflect for Stopwatch
pub fn type_name(&self) -> &str
pub fn any(&self) -> &(dyn Any + 'static)
pub fn any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn clone_value(&self) -> Box<dyn Reflect + 'static, Global>
pub fn set(
&mut self,
value: Box<dyn Reflect + 'static, Global>
) -> Result<(), Box<dyn Reflect + 'static, Global>>
&mut self,
value: Box<dyn Reflect + 'static, Global>
) -> Result<(), Box<dyn Reflect + 'static, Global>>
pub fn apply(&mut self, value: &(dyn Reflect + 'static))
pub fn reflect_ref(&self) -> ReflectRef<'_>
pub fn reflect_mut(&mut self) -> ReflectMut<'_>
pub fn serializable(&self) -> Option<Serializable<'_>>
pub fn reflect_hash(&self) -> Option<u64>
pub fn reflect_partial_eq(
&self,
value: &(dyn Reflect + 'static)
) -> Option<bool>
&self,
value: &(dyn Reflect + 'static)
) -> Option<bool>
impl Struct for Stopwatch
pub fn field(&self, name: &str) -> Option<&(dyn Reflect + 'static)>
pub fn field_mut(&mut self, name: &str) -> Option<&mut (dyn Reflect + 'static)>
pub fn field_at(&self, index: usize) -> Option<&(dyn Reflect + 'static)>
pub fn field_at_mut(
&mut self,
index: usize
) -> Option<&mut (dyn Reflect + 'static)>
&mut self,
index: usize
) -> Option<&mut (dyn Reflect + 'static)>
pub fn name_at(&self, index: usize) -> Option<&str>
pub fn field_len(&self) -> usize
pub fn iter_fields(&self) -> FieldIter<'_>ⓘ
pub fn clone_dynamic(&self) -> DynamicStruct
Auto Trait Implementations
impl RefUnwindSafe for Stopwatch
impl Send for Stopwatch
impl Sync for Stopwatch
impl Unpin for Stopwatch
impl UnwindSafe for Stopwatch
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Any for T where
T: Any,
T: Any,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> CloneAny for T where
T: Any + Clone,
T: Any + Clone,
impl<T> Component for T where
T: 'static + Send + Sync,
T: 'static + Send + Sync,
impl<T> Downcast for T where
T: Any,
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn as_any(&self) -> &(dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
impl<T> Downcast<T> for T
impl<T> DowncastSync for T where
T: Any + Send + Sync,
T: Any + Send + Sync,
impl<T> From<T> for T
[src]
impl<T> FromWorld for T where
T: Default,
T: Default,
pub fn from_world(_world: &mut World) -> T
impl<S> GetField for S where
S: Struct,
S: Struct,
pub fn get_field<T>(&self, name: &str) -> Option<&T> where
T: Reflect,
T: Reflect,
pub fn get_field_mut<T>(&mut self, name: &str) -> Option<&mut T> where
T: Reflect,
T: Reflect,
impl<T> GetPath for T where
T: Reflect,
T: Reflect,
pub fn path(
&'r self,
path: &'p str
) -> Result<&'r (dyn Reflect + 'static), ReflectPathError<'p>>
&'r self,
path: &'p str
) -> Result<&'r (dyn Reflect + 'static), ReflectPathError<'p>>
pub fn path_mut(
&'r mut self,
path: &'p str
) -> Result<&'r mut (dyn Reflect + 'static), ReflectPathError<'p>>
&'r mut self,
path: &'p str
) -> Result<&'r mut (dyn Reflect + 'static), ReflectPathError<'p>>
pub fn get_path<T>(
&'r self,
path: &'p str
) -> Result<&'r T, ReflectPathError<'p>> where
T: Reflect,
&'r self,
path: &'p str
) -> Result<&'r T, ReflectPathError<'p>> where
T: Reflect,
pub fn get_path_mut<T>(
&'r mut self,
path: &'p str
) -> Result<&'r mut T, ReflectPathError<'p>> where
T: Reflect,
&'r mut self,
path: &'p str
) -> Result<&'r mut T, ReflectPathError<'p>> where
T: Reflect,
impl<T> Instrument for T
[src]
pub 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;
[src]
Notable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
pub 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;
[src]
Notable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> TypeData for T where
T: 'static + Send + Sync + Clone,
T: 'static + Send + Sync + Clone,
pub fn clone_type_data(&self) -> Box<dyn TypeData + 'static, Global>
impl<T> Upcast<T> for T
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,