Trait rinecs::System[][src]

pub trait System: Send {
    fn run(&mut self, entities: Entities<'_>, resources: Resources<'_>);

    fn checks(_: &mut StorageRegistry) -> Option<SystemConditionSend>
    where
        Self: Sized
, { ... }
fn name() -> Option<&'static str>
    where
        Self: Sized
, { ... }
fn before() -> Vec<SystemId>
    where
        Self: Sized
, { ... }
fn after() -> Vec<SystemId>
    where
        Self: Sized
, { ... }
fn updates() -> Vec<TypeId>
    where
        Self: Sized
, { ... }
fn needs() -> Vec<TypeId>
    where
        Self: Sized
, { ... }
fn reads() -> Vec<TypeId>
    where
        Self: Sized
, { ... }
fn writes() -> Vec<TypeId>
    where
        Self: Sized
, { ... }
fn file_line_info(&self) -> &'static str { ... } }

Trait for systems that can run from any thread in parallel with other systems.

Types implementing this trait must be Send and are usually called Send System in the documentation.

Any function that receives an Entities and a Resources parameter in that order can be added as a System to the world.

Required methods

fn run(&mut self, entities: Entities<'_>, resources: Resources<'_>)[src]

Loading content...

Provided methods

fn checks(_: &mut StorageRegistry) -> Option<SystemConditionSend> where
    Self: Sized
[src]

fn name() -> Option<&'static str> where
    Self: Sized
[src]

fn before() -> Vec<SystemId> where
    Self: Sized
[src]

fn after() -> Vec<SystemId> where
    Self: Sized
[src]

fn updates() -> Vec<TypeId> where
    Self: Sized
[src]

fn needs() -> Vec<TypeId> where
    Self: Sized
[src]

fn reads() -> Vec<TypeId> where
    Self: Sized
[src]

fn writes() -> Vec<TypeId> where
    Self: Sized
[src]

fn file_line_info(&self) -> &'static str[src]

Loading content...

Implementations on Foreign Types

impl<D: Send + 'static, S: SystemWithData<D> + Send> System for (S, D)[src]

Loading content...

Implementors

impl<F: FnMut(Entities<'_>, Resources<'_>) + Send> System for F[src]

Loading content...