[−][src]Struct legion_systems::System
The concrete type which contains the system closure provided by the user. This struct should
not be instantiated directly, and instead should be created using SystemBuilder
.
Implements Schedulable
which is consumable by the StageExecutor
, executing the closure.
Also handles caching of archetype information in a BitSet
, as well as maintaining the provided
information about what queries this system will run and, as a result, its data access.
Queries are stored generically within this struct, and the SystemQuery
types are generated
on each run
call, wrapping the world and providing the set to the user in their closure.
Trait Implementations
impl<R, Q, F> Runnable for System<R, Q, F> where
R: ResourceSet,
Q: QuerySet,
F: SystemFn<Resources = <R as ResourceSet>::PreparedResources, Queries = Q>,
[src]
R: ResourceSet,
Q: QuerySet,
F: SystemFn<Resources = <R as ResourceSet>::PreparedResources, Queries = Q>,
fn name(&self) -> &SystemId
[src]
fn reads(&self) -> (&[ResourceTypeId], &[ComponentTypeId])
[src]
fn writes(&self) -> (&[ResourceTypeId], &[ComponentTypeId])
[src]
fn prepare(&mut self, world: &World)
[src]
fn accesses_archetypes(&self) -> &ArchetypeAccess
[src]
fn command_buffer_mut(&self, world: WorldId) -> Option<RefMut<CommandBuffer>>
[src]
unsafe fn run_unsafe(&mut self, world: &World, resources: &Resources)
[src]
fn run(&mut self, world: &mut World, resources: &mut Resources)
[src]
Auto Trait Implementations
impl<R, Q, F> !RefUnwindSafe for System<R, Q, F>
impl<R, Q, F> Send for System<R, Q, F> where
F: Send,
F: Send,
impl<R, Q, F> Sync for System<R, Q, F> where
F: Sync,
F: Sync,
impl<R, Q, F> Unpin for System<R, Q, F> where
F: Unpin,
Q: Unpin,
R: Unpin,
F: Unpin,
Q: Unpin,
R: Unpin,
impl<R, Q, F> !UnwindSafe for System<R, Q, F>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Component for T where
T: 'static + Send + Sync,
[src]
T: 'static + Send + Sync,
impl<T> Downcast for T where
T: Any,
[src]
T: Any,
fn into_any(self: Box<T>) -> Box<dyn Any + 'static>
[src]
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
[src]
fn as_any(&self) -> &(dyn Any + 'static)
[src]
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
[src]
impl<T> DowncastSync for T where
T: Send + Sync + Any,
[src]
T: Send + Sync + Any,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Resource for T where
T: 'static + Send + Sync,
[src]
T: 'static + Send + Sync,
impl<T> Schedulable for T where
T: Runnable + Send + Sync,
[src]
T: Runnable + Send + Sync,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,