bevy_ecs::schedule

Struct Schedules

Source
pub struct Schedules {
    pub ignored_scheduling_ambiguities: BTreeSet<ComponentId>,
    /* private fields */
}
Expand description

Resource that stores Schedules mapped to ScheduleLabels excluding the current running Schedule.

Fields§

§ignored_scheduling_ambiguities: BTreeSet<ComponentId>

List of ComponentIds to ignore when reporting system order ambiguity conflicts

Implementations§

Source§

impl Schedules

Source

pub fn new() -> Self

Constructs an empty Schedules with zero initial capacity.

Source

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

Inserts a labeled schedule into the map.

If the map already had an entry for label, schedule is inserted, and the old schedule is returned. Otherwise, None is returned.

Source

pub fn remove(&mut self, label: impl ScheduleLabel) -> Option<Schedule>

Removes the schedule corresponding to the label from the map, returning it if it existed.

Source

pub fn remove_entry( &mut self, label: impl ScheduleLabel, ) -> Option<(InternedScheduleLabel, Schedule)>

Removes the (schedule, label) pair corresponding to the label from the map, returning it if it existed.

Source

pub fn contains(&self, label: impl ScheduleLabel) -> bool

Does a schedule with the provided label already exist?

Source

pub fn get(&self, label: impl ScheduleLabel) -> Option<&Schedule>

Returns a reference to the schedule associated with label, if it exists.

Source

pub fn get_mut(&mut self, label: impl ScheduleLabel) -> Option<&mut Schedule>

Returns a mutable reference to the schedule associated with label, if it exists.

Source

pub fn entry(&mut self, label: impl ScheduleLabel) -> &mut Schedule

Returns a mutable reference to the schedules associated with label, creating one if it doesn’t already exist.

Source

pub fn iter(&self) -> impl Iterator<Item = (&dyn ScheduleLabel, &Schedule)>

Returns an iterator over all schedules. Iteration order is undefined.

Source

pub fn iter_mut( &mut self, ) -> impl Iterator<Item = (&dyn ScheduleLabel, &mut Schedule)>

Returns an iterator over mutable references to all schedules. Iteration order is undefined.

Source

pub fn configure_schedules( &mut self, schedule_build_settings: ScheduleBuildSettings, )

Applies the provided ScheduleBuildSettings to all schedules.

Source

pub fn allow_ambiguous_component<T: Component>(&mut self, world: &mut World)

Ignore system order ambiguities caused by conflicts on Components of type T.

Source

pub fn allow_ambiguous_resource<T: Resource>(&mut self, world: &mut World)

Ignore system order ambiguities caused by conflicts on Resources of type T.

Source

pub fn iter_ignored_ambiguities( &self, ) -> impl Iterator<Item = &ComponentId> + '_

Iterate through the ComponentId’s that will be ignored.

Source

pub fn print_ignored_ambiguities(&self, components: &Components)

Prints the names of the components and resources with info

May panic or retrieve incorrect names if Components is not from the same world

Source

pub fn add_systems<M>( &mut self, schedule: impl ScheduleLabel, systems: impl IntoSystemConfigs<M>, ) -> &mut Self

Adds one or more systems to the Schedule matching the provided ScheduleLabel.

Source

pub fn configure_sets( &mut self, schedule: impl ScheduleLabel, sets: impl IntoSystemSetConfigs, ) -> &mut Self

Configures a collection of system sets in the provided schedule, adding any sets that do not exist.

Source

pub fn ignore_ambiguity<M1, M2, S1, S2>( &mut self, schedule: impl ScheduleLabel, a: S1, b: S2, ) -> &mut Self
where S1: IntoSystemSet<M1>, S2: IntoSystemSet<M2>,

Suppress warnings and errors that would result from systems in these sets having ambiguities (conflicting access but indeterminate order) with systems in set.

When possible, do this directly in the .add_systems(Update, a.ambiguous_with(b)) call. However, sometimes two independent plugins A and B are reported as ambiguous, which you can only suppress as the consumer of both.

Trait Implementations§

Source§

impl Default for Schedules

Source§

fn default() -> Schedules

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

impl Resource for Schedules
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>,

Source§

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>,

Source§

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,