pub struct Components { /* private fields */ }Implementations§
Source§impl Components
impl Components
pub fn init_component<T>(&mut self, storages: &mut Storages) -> ComponentIdwhere
T: Component,
pub fn init_component_with_descriptor( &mut self, storages: &mut Storages, descriptor: ComponentDescriptor, ) -> ComponentId
pub fn len(&self) -> usize
pub fn is_empty(&self) -> bool
pub fn get_info(&self, id: ComponentId) -> Option<&ComponentInfo>
Sourcepub unsafe fn get_info_unchecked(&self, id: ComponentId) -> &ComponentInfo
pub unsafe fn get_info_unchecked(&self, id: ComponentId) -> &ComponentInfo
§Safety
id must be a valid ComponentId
Sourcepub fn get_id(&self, type_id: TypeId) -> Option<ComponentId>
pub fn get_id(&self, type_id: TypeId) -> Option<ComponentId>
Type-erased equivalent of Components::component_id.
Sourcepub fn component_id<T>(&self) -> Option<ComponentId>where
T: Component,
pub fn component_id<T>(&self) -> Option<ComponentId>where
T: Component,
Returns the ComponentId of the given Component type T.
The returned ComponentId is specific to the Components instance
it was retrieved from and should not be used with another Components
instance.
Returns None if the Component type has not
yet been initialized using Components::init_component.
use bevy_ecs::prelude::*;
let mut world = World::new();
#[derive(Component)]
struct ComponentA;
let component_a_id = world.init_component::<ComponentA>();
assert_eq!(component_a_id, world.components().component_id::<ComponentA>().unwrap())pub fn get_resource_id(&self, type_id: TypeId) -> Option<ComponentId>
pub fn init_resource<T>(&mut self) -> ComponentIdwhere
T: Resource,
pub fn init_non_send<T>(&mut self) -> ComponentIdwhere
T: Any,
pub fn iter(&self) -> impl Iterator<Item = &ComponentInfo>
Trait Implementations§
Source§impl Debug for Components
impl Debug for Components
Source§impl Default for Components
impl Default for Components
Source§fn default() -> Components
fn default() -> Components
Returns the “default value” for a type. Read more
Source§impl<'a> SystemParam for &'a Components
impl<'a> SystemParam for &'a Components
Auto Trait Implementations§
impl Freeze for Components
impl RefUnwindSafe for Components
impl Send for Components
impl Sync for Components
impl Unpin for Components
impl UnsafeUnpin for Components
impl UnwindSafe for Components
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
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.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
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.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
Source§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates
Self using data from the given World