Struct heron_core::PhysicsSteps[][src]

pub struct PhysicsSteps(_);
Expand description

Resource to control how many physics steps are performed per second.

Note that the physics update will be performed at most once per frame. It means that if the rate of frames per second is lower than the physics step per second, the physics simulation will slows down.

This resource is used to tune the precision and performance of the physics system. It doesn’t change the speed of the simulation. To change the time scale, look at the PhysicsTime resource instead.

Implementations

impl PhysicsSteps[src]

#[must_use]
pub fn from_steps_per_seconds(steps_per_second: f32) -> Self
[src]

Configure to run at the given number of steps per second

The higher the value, the more precise and the more expensive the physics simulation will be. If the value gets higher than the frame rate of the game, the physics simulation will slows down.

For good results, it is better to choose a value as high as possible but lower than the typical frame rate of the game.

Panics

Panics if the argument is nan, infinite or negative

#[must_use]
pub fn from_delta_time(duration: Duration) -> Self
[src]

Configure the physics systems to wait for the given duration before running again

The lower the value, the more precise and the more expensive the physics simulation will be. If the value gets lower than the delta time between each frame of the game, the physics simulation will slows down.

For good results, it is better to choose a value as low as possible, but higher than the typical delay between each frame of the game.

Panics

Panics if the duration is zero

#[must_use]
pub fn every_frame(duration: Duration) -> Self
[src]

Configure the physics systems to run at each and every frame. Regardless of the current FPS.

It takes a duration which is “haw much” the physics simulation should advance at each frame.

Should NOT be used in production. It is mostly useful for testing purposes.

Panics

Panics if the duration is zero

#[must_use]
pub fn is_step_frame(&self) -> bool
[src]

Returns true only if the current frame is a frame that execute a physics simulation step

#[must_use]
pub fn duration(&self) -> Duration
[src]

Time that elapses between each physics step

Trait Implementations

impl Default for PhysicsSteps[src]

fn default() -> Self[src]

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

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> Downcast for T where
    T: Any

pub 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

pub 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

pub 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

pub 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> DowncastSync for T where
    T: Any + Send + Sync

pub fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + 'static + Sync + Send>

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

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T> FromWorld for T where
    T: Default

pub fn from_world(_world: &mut World) -> T

Creates Self using data from the given [World]

impl<T> Instrument for T[src]

fn instrument(self, span: Span) -> Instrumented<Self>[src]

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

fn in_current_span(self) -> Instrumented<Self>[src]

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

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

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]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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]

Performs the conversion.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

pub fn vzip(self) -> V

impl<T> Component for T where
    T: 'static + Send + Sync