ScheduleLabel

Trait ScheduleLabel 

Source
pub trait ScheduleLabel:
    Send
    + Sync
    + Debug
    + DynEq
    + DynHash {
    // Required method
    fn dyn_clone(&self) -> Box<dyn ScheduleLabel>;

    // Provided method
    fn intern(&self) -> Interned<dyn ScheduleLabel>
       where Self: Sized { ... }
}
Expand description

A strongly-typed class of labels used to identify a Schedule.

Each schedule in a World has a unique schedule label value, and schedules can be automatically created from labels via Schedules::add_systems().

§Defining new schedule labels

By default, you should use Bevy’s premade schedule labels which implement this trait. If you are using bevy_ecs directly or if you need to run a group of systems outside the existing schedules, you may define your own schedule labels by using #[derive(ScheduleLabel)].

use bevy_ecs::prelude::*;
use bevy_ecs::schedule::ScheduleLabel;

// Declare a new schedule label.
#[derive(ScheduleLabel, Clone, Debug, PartialEq, Eq, Hash, Default)]
struct Update;

let mut world = World::new();

// Add a system to the schedule with that label (creating it automatically).
fn a_system_function() {}
world.get_resource_or_init::<Schedules>().add_systems(Update, a_system_function);

// Run the schedule, and therefore run the system.
world.run_schedule(Update);

Required Methods§

Source

fn dyn_clone(&self) -> Box<dyn ScheduleLabel>

Clones this ScheduleLabel.

Provided Methods§

Source

fn intern(&self) -> Interned<dyn ScheduleLabel>
where Self: Sized,

Returns an Interned value corresponding to self.

Trait Implementations§

Source§

impl Hash for dyn ScheduleLabel

Source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
Source§

impl Internable for dyn ScheduleLabel

Source§

fn leak(&self) -> &'static Self

Creates a static reference to self, possibly leaking memory.
Source§

fn ref_eq(&self, other: &Self) -> bool

Returns true if the two references point to the same value.
Source§

fn ref_hash<H: Hasher>(&self, state: &mut H)

Feeds the reference to the hasher.
Source§

impl PartialEq for dyn ScheduleLabel

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for dyn ScheduleLabel

Implementors§