Trait rin::ecs::component::Component [−][src]
pub trait Component: 'static {
type Storage;
type MutStorageCacheGuard: CacheConstructor;
pub fn type_name() -> &'static str;
pub fn is_reference() -> bool;
pub fn id() -> TypeId { ... }
pub fn references_other(
) -> Option<Box<dyn Fn(&Storages, &Entity) + 'static, Global>> { ... }
}Main Component trait.
Usually implemented using a derive attribute as in:
#[derive(Component, Debug)] struct Position{}
Allows to add a type as an entity’s component.
Associated Types
type Storage[src]
type MutStorageCacheGuard: CacheConstructor[src]
Required methods
Loading content...Provided methods
pub fn id() -> TypeId[src]
pub fn references_other(
) -> Option<Box<dyn Fn(&Storages, &Entity) + 'static, Global>>[src]
) -> Option<Box<dyn Fn(&Storages, &Entity) + 'static, Global>>
Implementors
impl Component for Rotation[src]
impl Component for Rotation[src]type Storage = KeyedDenseVec<usize, Rotation>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for PathLookUpDistance[src]
impl Component for PathLookUpDistance[src]type Storage = KeyedDenseVec<usize, PathLookUpDistance>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for Ty[src]
impl Component for Ty[src]type Storage = KeyedDenseVec<usize, Ty>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for Type[src]
impl Component for Type[src]type Storage = KeyedDenseVec<usize, Type>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for ArmatureCache[src]
impl Component for ArmatureCache[src]type Storage = KeyedDenseVec<usize, ArmatureCache>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for ArmatureDualQuats[src]
impl Component for ArmatureDualQuats[src]type Storage = _DenseOneToNVec<ArmatureDualQuats, Group>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for ArmatureDualQuatsBuffer[src]
impl Component for ArmatureDualQuatsBuffer[src]type Storage = KeyedDenseVec<usize, ArmatureDualQuatsBuffer>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for ArmatureMatrices[src]
impl Component for ArmatureMatrices[src]type Storage = _DenseOneToNVec<ArmatureMatrices, Group>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for ArmatureMatricesBuffer[src]
impl Component for ArmatureMatricesBuffer[src]type Storage = KeyedDenseVec<usize, ArmatureMatricesBuffer>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for BoneBase[src]
impl Component for BoneBase[src]type Storage = _DenseOneToNVec<BoneBase, Group>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for BoneWeightsAndIndicesBuffer[src]
impl Component for BoneWeightsAndIndicesBuffer[src]type Storage = KeyedDenseVec<usize, BoneWeightsAndIndicesBuffer>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for FootBones[src]
impl Component for FootBones[src]type Storage = KeyedDenseVec<usize, FootBones>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for GeometryWeights[src]
impl Component for GeometryWeights[src]type Storage = KeyedDenseVec<usize, GeometryWeights>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for RootMotionBone[src]
impl Component for RootMotionBone[src]type Storage = KeyedDenseVec<usize, RootMotionBone>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for Skeleton[src]
impl Component for Skeleton[src]type Storage = KeyedDenseVec<usize, Skeleton>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for SkeletonName[src]
impl Component for SkeletonName[src]type Storage = KeyedDenseVec<usize, SkeletonName>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for SkeletonRef[src]
impl Component for SkeletonRef[src]type Storage = KeyedDenseVec<usize, SkeletonRef>
type MutStorageCacheGuard = CacheGuard
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
pub fn references_other(
) -> Option<Box<dyn Fn(&Storages, &Entity) + 'static, Global>>[src]
) -> Option<Box<dyn Fn(&Storages, &Entity) + 'static, Global>>
impl Component for Action[src]
impl Component for Action[src]type Storage = KeyedDenseVec<usize, Action>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for ActionClock[src]
impl Component for ActionClock[src]type Storage = KeyedDenseVec<usize, ActionClock>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for SceneIndex[src]
impl Component for SceneIndex[src]type Storage = KeyedDenseVec<usize, SceneIndex>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for Selectable[src]
impl Component for Selectable[src]type Storage = KeyedDenseVec<usize, Selectable>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for ShapeKey[src]
impl Component for ShapeKey[src]type Storage = KeyedDenseVec<usize, ShapeKey>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for MaterialMultiRef[src]
impl Component for MaterialMultiRef[src]type Storage = AutoChanged<_DenseOneToNVec<MaterialMultiRef, GroupChanged>, MaterialMultiRef>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for MaterialRef[src]
impl Component for MaterialRef[src]type Storage = AutoChanged<_DenseOneToNVec<MaterialRef, GroupChanged>, MaterialRef>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for ShadowMaterialRef[src]
impl Component for ShadowMaterialRef[src]type Storage = AutoChanged<_DenseOneToNVec<ShadowMaterialRef, GroupChanged>, ShadowMaterialRef>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for CubemapRef[src]
impl Component for CubemapRef[src]type Storage = KeyedDenseVec<usize, CubemapRef>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for CubemapSampler[src]
impl Component for CubemapSampler[src]type Storage = KeyedDenseVec<usize, CubemapSampler>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for SamplerRef[src]
impl Component for SamplerRef[src]type Storage = KeyedDenseVec<usize, SamplerRef>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for TextureRef[src]
impl Component for TextureRef[src]type Storage = KeyedDenseVec<usize, TextureRef>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for TextureSampler[src]
impl Component for TextureSampler[src]type Storage = KeyedDenseVec<usize, TextureSampler>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for CurrentPosition[src]
impl Component for CurrentPosition[src]type Storage = KeyedDenseVec<usize, CurrentPosition>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for Delta[src]
impl Component for Delta[src]type Storage = KeyedDenseVec<usize, Delta>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for rin::scene::animation::path_follower::Parameters[src]
impl Component for rin::scene::animation::path_follower::Parameters[src]type Storage = KeyedDenseVec<usize, Parameters>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for ReynoldsPathInfo[src]
impl Component for ReynoldsPathInfo[src]type Storage = KeyedDenseVec<usize, ReynoldsPathInfo>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for Velocity[src]
impl Component for Velocity[src]type Storage = KeyedDenseVec<usize, Velocity>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for Path[src]
impl Component for Path[src]type Storage = KeyedDenseVec<usize, Path>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for Speed[src]
impl Component for Speed[src]type Storage = KeyedDenseVec<usize, Speed>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for Name[src]
impl Component for Name[src]type Storage = VecStorage<Name>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for SourcePath[src]
impl Component for SourcePath[src]type Storage = KeyedDenseVec<usize, SourcePath>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for Visible[src]
impl Component for Visible[src]type Storage = AutoChanged<KeyedDenseVec<usize, Visible>, Visible>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for DebugGeometryRef[src]
impl Component for DebugGeometryRef[src]type Storage = AutoChanged<KeyedDenseVec<usize, DebugGeometryRef>, DebugGeometryRef>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for GeometryRef[src]
impl Component for GeometryRef[src]type Storage = AutoChanged<KeyedDenseVec<usize, GeometryRef>, GeometryRef>
type MutStorageCacheGuard = CacheGuard
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
pub fn references_other(
) -> Option<Box<dyn Fn(&Storages, &Entity) + 'static, Global>>[src]
) -> Option<Box<dyn Fn(&Storages, &Entity) + 'static, Global>>
impl Component for Submesh[src]
impl Component for Submesh[src]type Storage = _DenseOneToNVec<Submesh, Group>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for VertexGroups[src]
impl Component for VertexGroups[src]type Storage = KeyedDenseVec<usize, VertexGroups>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for Cascades[src]
impl Component for Cascades[src]type Storage = KeyedDenseVec<usize, Cascades>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for rin::scene::light::shadow::Map[src]
impl Component for rin::scene::light::shadow::Map[src]type Storage = AutoChanged<_DenseOneToNVec<Map, GroupChanged>, Map>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for StaticCascades[src]
impl Component for StaticCascades[src]type Storage = KeyedDenseVec<usize, StaticCascades>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for rin::scene::light::shadow::StaticMap[src]
impl Component for rin::scene::light::shadow::StaticMap[src]type Storage = AutoChanged<_DenseOneToNVec<StaticMap, GroupChanged>, StaticMap>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for AmbientLight[src]
impl Component for AmbientLight[src]type Storage = KeyedDenseVec<usize, AmbientLight>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for AreaLight[src]
impl Component for AreaLight[src]type Storage = AutoChanged<KeyedDenseVec<usize, AreaLight>, AreaLight>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for Attenuation[src]
impl Component for Attenuation[src]type Storage = KeyedDenseVec<usize, Attenuation>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for DirectionalLight[src]
impl Component for DirectionalLight[src]type Storage = AutoChanged<KeyedDenseVec<usize, DirectionalLight>, DirectionalLight>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for DirectionalLightMatrices[src]
impl Component for DirectionalLightMatrices[src]type Storage = _DenseOneToNVec<DirectionalLightMatrices, Group>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for ImageBasedLight[src]
impl Component for ImageBasedLight[src]type Storage = KeyedDenseVec<usize, ImageBasedLight>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for Light[src]
impl Component for Light[src]type Storage = KeyedDenseVec<usize, Light>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for PointLight[src]
impl Component for PointLight[src]type Storage = AutoChanged<KeyedDenseVec<usize, PointLight>, PointLight>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for SpotLight[src]
impl Component for SpotLight[src]type Storage = AutoChanged<KeyedDenseVec<usize, SpotLight>, SpotLight>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for SpotLightMatrices[src]
impl Component for SpotLightMatrices[src]type Storage = _DenseOneToNVec<SpotLightMatrices, Group>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for DebugGeometry[src]
impl Component for DebugGeometry[src]type Storage = KeyedDenseVec<usize, DebugGeometry>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for CollisionHandle[src]
impl Component for CollisionHandle[src]type Storage = KeyedDenseVec<usize, CollisionHandle>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for Offset[src]
impl Component for Offset[src]type Storage = KeyedDenseVec<usize, Offset>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for Shape[src]
impl Component for Shape[src]type Storage = KeyedDenseVec<usize, Shape>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for ProgramRef[src]
impl Component for ProgramRef[src]type Storage = KeyedDenseVec<usize, ProgramRef>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for rin::scene::renderer::components::RenderPlane[src]
impl Component for rin::scene::renderer::components::RenderPlane[src]type Storage = _DenseOneToNVec<RenderPlane, Group>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for DebugNormals[src]
impl Component for DebugNormals[src]type Storage = KeyedDenseVec<usize, DebugNormals>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for GeomToGpuGeomRef[src]
impl Component for GeomToGpuGeomRef[src]type Storage = _DenseOneToNVec<GeomToGpuGeomRef, Group>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for GpuDebugGeometryRef[src]
impl Component for GpuDebugGeometryRef[src]type Storage = Changed<KeyedDenseVec<usize, GpuDebugGeometryRef>, GpuDebugGeometryRef>
type MutStorageCacheGuard = CacheGuard
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
pub fn references_other(
) -> Option<Box<dyn Fn(&Storages, &Entity) + 'static, Global>>[src]
) -> Option<Box<dyn Fn(&Storages, &Entity) + 'static, Global>>
impl Component for GpuGeometryRef[src]
impl Component for GpuGeometryRef[src]type Storage = Changed<KeyedDenseVec<usize, GpuGeometryRef>, GpuGeometryRef>
type MutStorageCacheGuard = CacheGuard
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
pub fn references_other(
) -> Option<Box<dyn Fn(&Storages, &Entity) + 'static, Global>>[src]
) -> Option<Box<dyn Fn(&Storages, &Entity) + 'static, Global>>
impl Component for IndicesBuffer[src]
impl Component for IndicesBuffer[src]type Storage = KeyedDenseVec<usize, IndicesBuffer>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for ShadowGeometry[src]
impl Component for ShadowGeometry[src]type Storage = KeyedDenseVec<usize, ShadowGeometry>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for SubmeshBuffers[src]
impl Component for SubmeshBuffers[src]type Storage = _DenseOneToNVec<SubmeshBuffers, Group>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for VertexBuffer[src]
impl Component for VertexBuffer[src]type Storage = KeyedDenseVec<usize, VertexBuffer>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for LightAsCameraUBO[src]
impl Component for LightAsCameraUBO[src]type Storage = _DenseOneToNVec<LightAsCameraUBO, Group>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for rin::scene::renderer::shadow::Map[src]
impl Component for rin::scene::renderer::shadow::Map[src]type Storage = _DenseOneToNVec<Map, Group>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for rin::scene::renderer::shadow::StaticMap[src]
impl Component for rin::scene::renderer::shadow::StaticMap[src]type Storage = _DenseOneToNVec<StaticMap, Group>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for Skybox[src]
impl Component for Skybox[src]type Storage = KeyedDenseVec<usize, Skybox>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for PreviousTransformation[src]
impl Component for PreviousTransformation[src]type Storage = KeyedDenseVec<usize, PreviousTransformation>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for rin::scene::transformation::RenderPlane[src]
impl Component for rin::scene::transformation::RenderPlane[src]type Storage = _DenseOneToNVec<RenderPlane, Group>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for SkinningUpToDate[src]
impl Component for SkinningUpToDate[src]type Storage = KeyedDenseVec<usize, SkinningUpToDate>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for rin::scene::water::Parameters[src]
impl Component for rin::scene::water::Parameters[src]type Storage = KeyedDenseVec<usize, Parameters>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl Component for ParametersSend[src]
impl Component for ParametersSend[src]type Storage = KeyedDenseVec<usize, ParametersSend>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl<T> Component for AnimatedGeometry<T> where
T: 'static, [src]
impl<T> Component for AnimatedGeometry<T> where
T: 'static, [src]type Storage = KeyedDenseVec<usize, AnimatedGeometry<T>>
type MutStorageCacheGuard = ()
pub fn type_name() -> &'static str[src]
pub fn is_reference() -> bool[src]
impl<T> Component for Geometry<T> where
T: 'static + Clone, [src]
impl<T> Component for Geometry<T> where
T: 'static + Clone, [src]