Trait TraitResourceExt

Source
pub trait TraitResourceExt {
    // Required methods
    fn insert_resource_as<Trait: ?Sized + TraitResource, R: Resource>(
        &mut self,
        resource: R,
    ) -> &mut Self
       where (R,): TraitResourceMarker<Trait, Covered = R>;
    fn init_resource_as<Trait: ?Sized + TraitResource, R: Resource + Default>(
        &mut self,
    ) -> &mut Self
       where (R,): TraitResourceMarker<Trait, Covered = R>;
    fn register_resource_as<Trait: ?Sized + TraitResource, R: Resource>(
        &mut self,
    ) -> &mut Self
       where (R,): TraitResourceMarker<Trait, Covered = R>;
    fn get_resources_trait<Trait: ?Sized + TraitResource>(
        &self,
    ) -> TraitResourceIterator<'_, Trait> ;
    fn get_resources_trait_mut<Trait: ?Sized + TraitResource>(
        &mut self,
    ) -> TraitResourceIteratorMut<'_, Trait> ;
    fn unregister_resource_from_trait<Trait: ?Sized + TraitResource, R: Resource>(
        &mut self,
    )
       where (R,): TraitResourceMarker<Trait, Covered = R>;
}

Required Methods§

Source

fn insert_resource_as<Trait: ?Sized + TraitResource, R: Resource>( &mut self, resource: R, ) -> &mut Self
where (R,): TraitResourceMarker<Trait, Covered = R>,

Inserts a resource into the world and registers its trait. if the resource already exists, it will be overridden.

Source

fn init_resource_as<Trait: ?Sized + TraitResource, R: Resource + Default>( &mut self, ) -> &mut Self
where (R,): TraitResourceMarker<Trait, Covered = R>,

Initializes a resource into the world and registers its trait. if the resource already exists, it will be overridden.

Source

fn register_resource_as<Trait: ?Sized + TraitResource, R: Resource>( &mut self, ) -> &mut Self
where (R,): TraitResourceMarker<Trait, Covered = R>,

Registers a resource as implementing a trait. If the resource is already registered nothing will happen.

§Panics

Panics if the resource does not exist.

Source

fn get_resources_trait<Trait: ?Sized + TraitResource>( &self, ) -> TraitResourceIterator<'_, Trait>

Source

fn get_resources_trait_mut<Trait: ?Sized + TraitResource>( &mut self, ) -> TraitResourceIteratorMut<'_, Trait>

Source

fn unregister_resource_from_trait<Trait: ?Sized + TraitResource, R: Resource>( &mut self, )
where (R,): TraitResourceMarker<Trait, Covered = R>,

Unregister a resource from trait.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl TraitResourceExt for App

Source§

fn insert_resource_as<Trait: ?Sized + TraitResource, R: Resource>( &mut self, resource: R, ) -> &mut Self
where (R,): TraitResourceMarker<Trait, Covered = R>,

Source§

fn init_resource_as<Trait: ?Sized + TraitResource, R: Resource + Default>( &mut self, ) -> &mut Self
where (R,): TraitResourceMarker<Trait, Covered = R>,

Source§

fn register_resource_as<Trait: ?Sized + TraitResource, R: Resource>( &mut self, ) -> &mut Self
where (R,): TraitResourceMarker<Trait, Covered = R>,

Source§

fn get_resources_trait<Trait: ?Sized + TraitResource>( &self, ) -> TraitResourceIterator<'_, Trait>

Source§

fn get_resources_trait_mut<Trait: ?Sized + TraitResource>( &mut self, ) -> TraitResourceIteratorMut<'_, Trait>

Source§

fn unregister_resource_from_trait<Trait: ?Sized + TraitResource, R: Resource>( &mut self, )
where (R,): TraitResourceMarker<Trait, Covered = R>,

Source§

impl TraitResourceExt for World

Source§

fn insert_resource_as<Trait: ?Sized + TraitResource, R: Resource>( &mut self, resource: R, ) -> &mut Self
where (R,): TraitResourceMarker<Trait, Covered = R>,

Source§

fn init_resource_as<Trait: ?Sized + TraitResource, R: Resource + Default>( &mut self, ) -> &mut Self
where (R,): TraitResourceMarker<Trait, Covered = R>,

Source§

fn register_resource_as<Trait: ?Sized + TraitResource, R: Resource>( &mut self, ) -> &mut Self
where (R,): TraitResourceMarker<Trait, Covered = R>,

Source§

fn get_resources_trait<Trait: ?Sized + TraitResource>( &self, ) -> TraitResourceIterator<'_, Trait>

Source§

fn get_resources_trait_mut<Trait: ?Sized + TraitResource>( &mut self, ) -> TraitResourceIteratorMut<'_, Trait>

Source§

fn unregister_resource_from_trait<Trait: ?Sized + TraitResource, R: Resource>( &mut self, )
where (R,): TraitResourceMarker<Trait, Covered = R>,

Implementors§