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§
Sourcefn dyn_clone(&self) -> Box<dyn ScheduleLabel>
fn dyn_clone(&self) -> Box<dyn ScheduleLabel>
Clones this ScheduleLabel.
Provided Methods§
Trait Implementations§
impl Eq for dyn ScheduleLabel
Source§impl Hash for dyn ScheduleLabel
impl Hash for dyn ScheduleLabel
Source§impl Internable for dyn ScheduleLabel
impl Internable for dyn ScheduleLabel
Source§fn leak(&self) -> &'static dyn ScheduleLabel
fn leak(&self) -> &'static dyn ScheduleLabel
Creates a static reference to
self, possibly leaking memory.Source§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.Source§impl PartialEq for dyn ScheduleLabel
impl PartialEq for dyn ScheduleLabel
Source§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 ==.Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".