Trait amethyst::ecs::prelude::System[]

pub trait System<'a> {
    type SystemData: DynamicSystemData<'a>;
    fn run(&mut self, data: Self::SystemData);

    fn running_time(&self) -> RunningTime { ... }
fn accessor(&'b self) -> AccessorCow<'a, 'b, Self> { ... }
fn setup(&mut self, res: &mut Resources) { ... } }

A System, executed with a set of required Resources.

Associated Types

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

Executes the system with the required system data.

Provided Methods

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.

Return the accessor from the [SystemData].

Sets up the Resources using Self::SystemData::setup.

Implementations on Foreign Types

impl<'a, T> System<'a> for SamplerInterpolationSystem<T> where
    T: AnimationSampling + Component
[src]

impl<'a, I, T> System<'a> for AnimationControlSystem<I, T> where
    I: PartialEq<I> + Eq + Hash + Copy + Send + Sync + 'static,
    T: AnimationSampling + Component + Clone
[src]

impl<'a> System<'a> for VertexSkinningSystem
[src]

impl<'a> System<'a> for HotReloadSystem
[src]

impl<'a, T> System<'a> for PrefabLoaderSystem<T> where
    T: PrefabData<'a> + Send + Sync + 'static, 
[src]

impl<'a, A> System<'a> for Processor<A> where
    A: Asset,
    <A as Asset>::Data: Into<Result<ProcessingState<A>, Error>>, 
[src]

impl<'a> System<'a> for TransformSystem
[src]

impl<'a, P> System<'a> for HierarchySystem<P> where
    P: Component + Parent + Send + Sync + 'static,
    <P as Component>::Storage: Tracked

impl<'a> System<'a> for VisibilitySortingSystem
[src]

impl<'a, F, R> System<'a> for DjSystem<F, R> where
    F: FnMut(&mut R) -> Option<Handle<Source>>,
    R: Resource
[src]

impl<'a> System<'a> for AudioSystem
[src]

impl<'a> System<'a> for ArcBallMovementSystem
[src]

impl<'a> System<'a> for CursorHideSystem
[src]

impl<'a, A, B> System<'a> for FlyMovementSystem<A, B> where
    A: Send + Sync + Hash + Eq + Clone + 'static,
    B: Send + Sync + Hash + Eq + Clone + 'static, 
[src]

impl<'a, A, B> System<'a> for FreeRotationSystem<A, B> where
    A: Send + Sync + Hash + Eq + Clone + 'static,
    B: Send + Sync + Hash + Eq + Clone + 'static, 
[src]

impl<'a> System<'a> for MouseFocusUpdateSystem
[src]

impl<'a, AX, AC> System<'a> for InputSystem<AX, AC> where
    AC: Hash + Eq + Clone + Send + Sync + 'static,
    AX: Hash + Eq + Clone + Send + Sync + 'static, 
[src]

impl<'a> System<'a> for ResizeSystem
[src]

impl<'a> System<'a> for UiTransformSystem
[src]

impl<'s> System<'s> for UiButtonSystem
[src]

impl<'a, A, B> System<'a> for UiMouseSystem<A, B> where
    A: Send + Sync + Eq + Hash + Clone + 'static,
    B: Send + Sync + Eq + Hash + Clone + 'static, 
[src]

impl<'a> System<'a> for UiKeyboardSystem
[src]

impl<'a> System<'a> for FPSCounterSystem
[src]

Implementors