Struct rin::ecs::ResourcesCreation[][src]

pub struct ResourcesCreation<'a> { /* fields omitted */ }

Gives access to the world global Send and thread local resources for reading and writing

Resources are useful for certain data that needs to be accessed from several systems but doesn’t belong to any specific entity

It’s similar to a singleton in that it can be accessed from any system and there’s only one instance per type

Implementations

impl<'a> ResourcesCreation<'a>[src]

pub fn get<T>(&self) -> Option<ReadGuardRef<'_, T>> where
    T: 'static, 
[src]

pub fn get_mut<T>(&self) -> Option<WriteGuardRef<'_, T, ()>> where
    T: 'static, 
[src]

pub fn as_trait<T>(&self) -> Option<ReadGuardRef<'_, T>> where
    T: 'static + ?Sized
[src]

pub fn as_trait_mut<T>(&self) -> Option<WriteGuardRef<'_, T, ()>> where
    T: 'static + ?Sized
[src]

pub fn to_send(&mut self) -> Resources<'_>[src]

pub fn to_thread_local(&mut self) -> ResourcesThreadLocal<'_>[src]

pub fn add<T>(&mut self, resource: T) where
    T: 'static + Send
[src]

Adds a Send resource to the world.

Resources are globally accesible by any system through the Resources object passed as parameter to them.

pub fn add_thread_local<T>(&mut self, resource: T) where
    T: 'static, 
[src]

Adds a non Send resource to the world.

Non Send resources are globally accesible by any SystemThreadLocal through the ResourcesThreadLocal object passed as parameter to them.

pub fn add_as_trait<T, U, F, FMut>(&mut self, resource: (T, F, FMut)) where
    T: 'static + Send,
    F: Fn(&T) -> &U + 'static,
    U: 'static + Send + ?Sized,
    FMut: Fn(&mut T) -> &mut U + 'static, 
[src]

Adds a Send resource to the world accessible as a &dyn Trait.

Resources are globally accesible by any system through the Resources object passed as parameter to them.

pub fn add_as_trait_thread_local<T, U, F, FMut>(
    &mut self,
    resource: (T, F, FMut)
) where
    T: 'static,
    F: Fn(&T) -> &U + 'static,
    U: 'static + ?Sized,
    FMut: Fn(&mut T) -> &mut U + 'static, 
[src]

Adds a non Send resource to the world accessible as a &dyn Trait.

Resources are globally accesible by any system through the Resources object passed as parameter to them.

pub fn remove<T>(&mut self) -> Option<T> where
    T: 'static, 
[src]

Removes a resource of the specified type.

pub fn clone(&mut self) -> ResourcesCreation<'_>[src]

Trait Implementations

impl<'a> ResourcesCreationExt for ResourcesCreation<'a>[src]

impl<'a> ResourcesExt for ResourcesCreation<'a>[src]

impl<'a> ResourcesThreadLocalExt for ResourcesCreation<'a>[src]

Auto Trait Implementations

impl<'a> !RefUnwindSafe for ResourcesCreation<'a>

impl<'a> !Send for ResourcesCreation<'a>

impl<'a> !Sync for ResourcesCreation<'a>

impl<'a> Unpin for ResourcesCreation<'a>

impl<'a> !UnwindSafe for ResourcesCreation<'a>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Any for T where
    T: Any
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Downcast for T where
    T: Any
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<V> IntoPnt<V> for V[src]

impl<V> IntoVec<V> for V[src]

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 
[src]

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]