Struct bevy_ecs::schedule::Stepping

source ·
pub struct Stepping { /* private fields */ }
Expand description

Resource for controlling system stepping behavior

Implementations§

source§

impl Stepping

source

pub fn new() -> Self

Create a new instance of the Stepping resource.

source

pub fn begin_frame(stepping: Option<ResMut<'_, Self>>)

System to call denoting that a new render frame has begun

Note: This system is automatically added to the default MainSchedule.

source

pub fn schedules(&self) -> Result<&Vec<InternedScheduleLabel>, NotReady>

Return the list of schedules with stepping enabled in the order they are executed in.

source

pub fn cursor(&self) -> Option<(InternedScheduleLabel, NodeId)>

Return our current position within the stepping frame

NOTE: This function will return None during normal execution with stepping enabled. This can happen at the end of the stepping frame after the last system has been run, but before the start of the next render frame.

source

pub fn add_schedule(&mut self, schedule: impl ScheduleLabel) -> &mut Self

Enable stepping for the provided schedule

source

pub fn remove_schedule(&mut self, schedule: impl ScheduleLabel) -> &mut Self

Disable stepping for the provided schedule

NOTE: This function will also clear any system-specific behaviors that may have been configured.

source

pub fn clear_schedule(&mut self, schedule: impl ScheduleLabel) -> &mut Self

Clear behavior set for all systems in the provided Schedule

source

pub fn enable(&mut self) -> &mut Self

Begin stepping at the start of the next frame

source

pub fn disable(&mut self) -> &mut Self

Disable stepping, resume normal systems execution

source

pub fn is_enabled(&self) -> bool

Check if stepping is enabled

source

pub fn step_frame(&mut self) -> &mut Self

Run the next system during the next render frame

NOTE: This will have no impact unless stepping has been enabled

source

pub fn continue_frame(&mut self) -> &mut Self

Run all remaining systems in the stepping frame during the next render frame

NOTE: This will have no impact unless stepping has been enabled

source

pub fn always_run<Marker>( &mut self, schedule: impl ScheduleLabel, system: impl IntoSystem<(), (), Marker> ) -> &mut Self

Ensure this system always runs when stepping is enabled

Note: if the system is run multiple times in the Schedule, this will apply for all instances of the system.

source

pub fn always_run_node( &mut self, schedule: impl ScheduleLabel, node: NodeId ) -> &mut Self

Ensure this system instance always runs when stepping is enabled

source

pub fn never_run<Marker>( &mut self, schedule: impl ScheduleLabel, system: impl IntoSystem<(), (), Marker> ) -> &mut Self

Ensure this system never runs when stepping is enabled

source

pub fn never_run_node( &mut self, schedule: impl ScheduleLabel, node: NodeId ) -> &mut Self

Ensure this system instance never runs when stepping is enabled

source

pub fn set_breakpoint<Marker>( &mut self, schedule: impl ScheduleLabel, system: impl IntoSystem<(), (), Marker> ) -> &mut Self

Add a breakpoint for system

source

pub fn set_breakpoint_node( &mut self, schedule: impl ScheduleLabel, node: NodeId ) -> &mut Self

Add a breakpoint for system instance

source

pub fn clear_breakpoint<Marker>( &mut self, schedule: impl ScheduleLabel, system: impl IntoSystem<(), (), Marker> ) -> &mut Self

Clear a breakpoint for the system

source

pub fn clear_breakpoint_node( &mut self, schedule: impl ScheduleLabel, node: NodeId ) -> &mut Self

clear a breakpoint for system instance

source

pub fn clear_system<Marker>( &mut self, schedule: impl ScheduleLabel, system: impl IntoSystem<(), (), Marker> ) -> &mut Self

Clear any behavior set for the system

source

pub fn clear_node( &mut self, schedule: impl ScheduleLabel, node: NodeId ) -> &mut Self

clear a breakpoint for system instance

source

pub fn skipped_systems(&mut self, schedule: &Schedule) -> Option<FixedBitSet>

get the list of systems this schedule should skip for this render frame

Trait Implementations§

source§

impl Debug for Stepping

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Stepping

source§

fn default() -> Stepping

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

impl Resource for Stepping
where Self: Send + Sync + 'static,

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> Downcast for T
where T: Any,

source§

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>

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)

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)

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

impl<T> DowncastSync for T
where T: Any + Send + Sync,

source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + 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.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> FromWorld for T
where T: Default,

source§

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

Creates Self using data from the given World.
source§

impl<T> Instrument for T

source§

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

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

fn in_current_span(self) -> Instrumented<Self>

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

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

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

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> ConditionalSend for T
where T: Send,