logo
pub struct Time { /* private fields */ }
Expand description

Tracks elapsed time since the last update and since the App has started

Implementations

Updates the internal time measurements.

Calling this method on the Time resource as part of your app will most likely result in inaccurate timekeeping, as the resource is ordinarily managed by the TimePlugin.

Update time with a specified Instant

This method is provided for use in tests. Calling this method on the Time resource as part of your app will most likely result in inaccurate timekeeping, as the resource is ordinarily managed by the TimePlugin.

Examples
struct Health {
    // Health value between 0.0 and 1.0
    health_value: f32,
}

fn health_system(time: Res<Time>, mut health: ResMut<Health>) {
    // Increase health value by 0.1 per second, independent of frame rate,
    // but not beyond 1.0
    health.health_value = (health.health_value + 0.1 * time.delta_seconds()).min(1.0);
}

// Mock time in tests
fn test_health_system() {
    let mut world = World::default();
    let mut time = Time::default();
    time.update();
    world.insert_resource(time);
    world.insert_resource(Health { health_value: 0.2 });

    let mut update_stage = SystemStage::single_threaded();
    update_stage.add_system(health_system);

    // Simulate that 30 ms have passed
    let mut time = world.resource_mut::<Time>();
    let last_update = time.last_update().unwrap();
    time.update_with_instant(last_update + Duration::from_millis(30));

    // Run system
    update_stage.run(&mut world);

    // Check that 0.003 has been added to the health value
    let expected_health_value = 0.2 + 0.1 * 0.03;
    let actual_health_value = world.resource::<Health>().health_value;
    assert_eq!(expected_health_value, actual_health_value);
}

The delta between the current tick and last tick as a Duration

The delta between the current and last tick as f32 seconds

The delta between the current and last tick as f64 seconds

The time from startup to the last update in seconds

The Instant the app was started

The Instant when Time::update was last called, if it exists

The Duration from startup to the last update

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Returns the type name of the underlying type.

Returns the TypeInfo of the underlying type. Read more

Returns the value as a Box<dyn Any>.

Returns the value as a &dyn Any.

Returns the value as a &mut dyn Any.

Casts this type to a reflected value

Casts this type to a mutable reflected value

Clones the value as a Reflect trait object. Read more

Performs a type-checked assignment of a reflected value to this value. Read more

Applies a reflected value to this value. Read more

Returns an enumeration of “kinds” of type. Read more

Returns a mutable enumeration of “kinds” of type. Read more

Returns a “partial equality” comparison result. Read more

Returns a hash of the value (which includes the type). Read more

Debug formatter for the value. Read more

Returns a serializable version of the value. Read more

Returns a reference to the value of the field named name as a &dyn Reflect. Read more

Returns a mutable reference to the value of the field named name as a &mut dyn Reflect. Read more

Returns a reference to the value of the field with index index as a &dyn Reflect. Read more

Returns a mutable reference to the value of the field with index index as a &mut dyn Reflect. Read more

Returns the name of the field with index index.

Returns the number of fields in the struct.

Returns an iterator over the values of the struct’s fields.

Clones the struct into a DynamicStruct.

Returns the compile-time info for the underlying type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Return the T ShaderType for self. When used in AsBindGroup derives, it is safe to assume that all images in self exist. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

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

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

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s. Read more

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

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait. Read more

Returns the argument unchanged.

Creates Self using data from the given World

Returns a reference to the value of the field named name, downcast to T. Read more

Returns a mutable reference to the value of the field named name, downcast to T. Read more

Returns a reference to the value specified by path. Read more

Returns a mutable reference to the value specified by path. Read more

Returns a statically typed reference to the value specified by path.

Returns a statically typed mutable reference to the value specified by path. Read more

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more