Skip to main content

SystemParam

Trait SystemParam 

pub unsafe trait SystemParam {
    type Item<'e>: 'e + SystemParam;

    // Required methods
    fn fill_data_usage(usage: &mut DataUsageBuilder, types: &TypesRegistryCache);
    unsafe fn new<'a>(
        input: &'a SystemInput<'a>,
    ) -> Result<Self::Item<'a>, &'static str>;
}
Expand description

§Safety

Implemented automatically.

Required Associated Types§

type Item<'e>: 'e + SystemParam

Required Methods§

fn fill_data_usage(usage: &mut DataUsageBuilder, types: &TypesRegistryCache)

unsafe fn new<'a>( input: &'a SystemInput<'a>, ) -> Result<Self::Item<'a>, &'static str>

§Safety

Should be managed by system scheduler and data usage.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

§

impl<'e, R> SystemParam for Option<Res<'e, R>>
where R: Resource,

§

type Item<'b> = Option<Res<'b, R>>

§

fn fill_data_usage(usage: &mut DataUsageBuilder, types: &TypesRegistryCache)

§

unsafe fn new<'a>( input: &'a SystemInput<'a>, ) -> Result<<Option<Res<'e, R>> as SystemParam>::Item<'a>, &'static str>

§

impl<'e, R> SystemParam for Option<ResMut<'e, R>>
where R: Resource,

§

type Item<'b> = Option<ResMut<'b, R>>

§

fn fill_data_usage(usage: &mut DataUsageBuilder, types: &TypesRegistryCache)

§

unsafe fn new<'a>( input: &'a SystemInput<'a>, ) -> Result<<Option<ResMut<'e, R>> as SystemParam>::Item<'a>, &'static str>

Implementors§

§

impl<'b> SystemParam for EntitiesHolderMut<'b>

§

type Item<'e> = EntitiesHolderMut<'e>

§

impl<'b> SystemParam for EntitiesHolderRef<'b>

§

type Item<'e> = EntitiesHolderRef<'e>

§

impl<'b> SystemParam for EventsHolderMut<'b>

§

type Item<'e> = EventsHolderMut<'e>

§

impl<'b> SystemParam for EventsHolderRef<'b>

§

type Item<'e> = EventsHolderRef<'e>

§

impl<'b> SystemParam for ResourcesHolderMut<'b>

§

type Item<'e> = ResourcesHolderMut<'e>

§

impl<'b> SystemParam for ResourcesHolderRef<'b>

§

type Item<'e> = ResourcesHolderRef<'e>

§

impl<'b> SystemParam for WorldDataMut<'b>

§

type Item<'e> = WorldDataMut<'e>

§

impl<'b> SystemParam for WorldDataRef<'b>

§

type Item<'e> = WorldDataRef<'e>

§

impl<'e, A, F> SystemParam for EntitiesHolderQuery<'e, A, F>

§

type Item<'b> = EntitiesHolderQuery<'b, <A as ArchetypeIteratorItem>::Item<'b>, F>

§

impl<'e, E> SystemParam for Evt<'e, E>
where E: Event,

§

type Item<'b> = Evt<'b, E>

§

impl<'e, E> SystemParam for EvtMut<'e, E>
where E: Event,

§

type Item<'b> = EvtMut<'b, E>

§

impl<'e, R> SystemParam for Res<'e, R>
where R: Resource,

§

type Item<'b> = Res<'b, R>

§

impl<'e, R> SystemParam for ResMut<'e, R>
where R: Resource,

§

type Item<'b> = ResMut<'b, R>

§

impl<'e, S> SystemParam for Local<'e, S>
where S: 'static + Default,

§

type Item<'b> = Local<'b, S>

§

impl<'e> SystemParam for EntitiesInfo<'e>

§

type Item<'b> = EntitiesInfo<'b>