pub trait System<'a> {
type SystemData: DynamicSystemData<'a>;
// Required method
fn run(&mut self, data: Self::SystemData);
// Provided methods
fn running_time(&self) -> RunningTime { ... }
fn accessor<'b>(&'b self) -> AccessorCow<'a, 'b, Self> { ... }
fn setup(&mut self, world: &mut World) { ... }
fn dispose(self, world: &mut World)
where Self: Sized { ... }
}
Expand description
A System
, executed with a set of required Resource
s.
Required Associated Types§
sourcetype SystemData: DynamicSystemData<'a>
type SystemData: DynamicSystemData<'a>
The resource bundle required to execute this system.
You will mostly use a tuple of system data (which also implements
SystemData
). You can also create such a resource bundle by simply
deriving SystemData
for a struct.
Every SystemData
is also a DynamicSystemData
.
Required Methods§
sourcefn run(&mut self, data: Self::SystemData)
fn run(&mut self, data: Self::SystemData)
Executes the system with the required system data.
Provided Methods§
sourcefn running_time(&self) -> RunningTime
fn running_time(&self) -> RunningTime
Returns a hint how long the system needs for running. This is used to optimize the way they’re executed (might allow more parallelization).
Defaults to RunningTime::Average
.
sourcefn accessor<'b>(&'b self) -> AccessorCow<'a, 'b, Self>
fn accessor<'b>(&'b self) -> AccessorCow<'a, 'b, Self>
Return the accessor from the SystemData
.