Struct planck_ecs::World [−][src]
pub struct World { /* fields omitted */ }
Expand description
Contains data indexed by type. World allows to dynamically enforce the rust rules of borrowing and ownership at runtime:
- The same type cannot be borrowed immutably and mutably at the same time.
- The same type cannot be borrowed mutably more than once at the same time.
Implementations
impl World
[src]
impl World
[src]pub fn initialize<T>(&mut self) where
T: 'static + Default + Send + Sync,
[src]
pub fn initialize<T>(&mut self) where
T: 'static + Default + Send + Sync,
[src]Initializes a resource to its default value. This is the only way to “insert” a resource.
It is suggested to use a macro to collect all the resources and initialize all of them.
pub fn get<T>(&self) -> Result<AtomicRef<'_, T>, EcsError> where
T: 'static + Send + Sync,
[src]
pub fn get<T>(&self) -> Result<AtomicRef<'_, T>, EcsError> where
T: 'static + Send + Sync,
[src]Get an immutable reference to a resource by type. Will return an error if the type is:
- Non initialized
- Already borrowed mutably
pub fn get_mut<T>(&self) -> Result<AtomicRefMut<'_, T>, EcsError> where
T: 'static + Send + Sync,
[src]
pub fn get_mut<T>(&self) -> Result<AtomicRefMut<'_, T>, EcsError> where
T: 'static + Send + Sync,
[src]Get a mutable reference to a resource by type. Will return an error if the type is:
- Non initialized
- Already borrowed immutably
- Already borrowed mutably
pub fn get_mut_or_default<T>(&mut self) -> AtomicRefMut<'_, T> where
T: 'static + Default + Send + Sync,
[src]
pub fn get_mut_or_default<T>(&mut self) -> AtomicRefMut<'_, T> where
T: 'static + Default + Send + Sync,
[src]Get a mutable reference to a resource by type, default-initializing it if not already initialized.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for World
impl Send for World
impl Sync for World
impl Unpin for World
impl !UnwindSafe for World
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn as_any(&self) -> &(dyn Any + 'static)
pub fn as_any(&self) -> &(dyn Any + 'static)
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more