Trait ScheduleLabel
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§
fn dyn_clone(&self) -> Box<dyn ScheduleLabel>
fn dyn_clone(&self) -> Box<dyn ScheduleLabel>
Clones this ScheduleLabel.
Provided Methods§
fn intern(&self) -> Interned<dyn ScheduleLabel>where
Self: Sized,
fn intern(&self) -> Interned<dyn ScheduleLabel>where
Self: Sized,
Returns an Interned value corresponding to self.
Trait Implementations§
§impl Hash for dyn ScheduleLabel
impl Hash for dyn ScheduleLabel
§impl Internable for dyn ScheduleLabel
impl Internable for dyn ScheduleLabel
§fn leak(&self) -> &'static dyn ScheduleLabel
fn leak(&self) -> &'static dyn ScheduleLabel
Creates a static reference to
self, possibly leaking memory.§fn ref_eq(&self, other: &(dyn ScheduleLabel + 'static)) -> bool
fn ref_eq(&self, other: &(dyn ScheduleLabel + 'static)) -> bool
Returns
true if the two references point to the same value.§impl PartialEq for dyn ScheduleLabel
impl PartialEq for dyn ScheduleLabel
§fn eq(&self, other: &(dyn ScheduleLabel + 'static)) -> bool
fn eq(&self, other: &(dyn ScheduleLabel + 'static)) -> bool
Tests for
self and other values to be equal, and is used by ==.