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§
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 ==
.