Skip to main content

ComponentSlot

Trait ComponentSlot 

Source
pub trait ComponentSlot: Sized + 'static {
    const DISCRIMINANT: u8;

    // Required methods
    fn slot(s: &ComponentStorage) -> &Column<Self>;
    fn slot_mut(s: &mut ComponentStorage) -> &mut Column<Self>;
}
Expand description

Resolves a component type to its column inside the storage at compile time, so the generic storage operations above need no runtime dispatch. A registered component is exactly a type with a $slot impl, and DISCRIMINANT is its stable id, used as its ComponentId in the join index. 'static: components own their data, and the generic ops hand out borrows of (and owned vectors of) the type.

Required Associated Constants§

Source

const DISCRIMINANT: u8

The component type’s stable id, used as its ComponentId.

Required Methods§

Source

fn slot(s: &ComponentStorage) -> &Column<Self>

Borrow this type’s column out of the storage.

Source

fn slot_mut(s: &mut ComponentStorage) -> &mut Column<Self>

Mutably borrow this type’s column out of the storage.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl ComponentSlot for Animation

Source§

impl ComponentSlot for AnimationGraph

Source§

impl ComponentSlot for AnimationParams

Source§

impl ComponentSlot for AppConfig

Source§

impl ComponentSlot for AudioCue

Source§

impl ComponentSlot for AudioEmitter

Source§

impl ComponentSlot for AudioOcclusionProbe

Source§

impl ComponentSlot for Behavior

Source§

impl ComponentSlot for BlockType

Source§

impl ComponentSlot for BodyDynamics

Source§

impl ComponentSlot for Camera3D

Source§

impl ComponentSlot for CameraProbe

Source§

impl ComponentSlot for CharacterRig

Source§

impl ComponentSlot for CharacterShape

Source§

impl ComponentSlot for Children

Source§

impl ComponentSlot for Collider

Source§

impl ComponentSlot for DebugHud

Source§

impl ComponentSlot for Decal

Source§

impl ComponentSlot for DirectionalLight

Source§

impl ComponentSlot for File

Source§

impl ComponentSlot for FpsCounter

Source§

impl ComponentSlot for FrameInput

Source§

impl ComponentSlot for GlassPanel

Source§

impl ComponentSlot for GlobalTransform

Source§

impl ComponentSlot for GraphicsConfig

Source§

impl ComponentSlot for GroundProbes

Source§

impl ComponentSlot for Held

Source§

impl ComponentSlot for Hidden

Source§

impl ComponentSlot for HitRegion

Source§

impl ComponentSlot for InstancedProp

Source§

impl ComponentSlot for Interactable

Source§

impl ComponentSlot for KeyBinding

Source§

impl ComponentSlot for LayoutContainer

Source§

impl ComponentSlot for Lifetime

Source§

impl ComponentSlot for LoadingOverlay

Source§

impl ComponentSlot for MeshRenderer

Source§

impl ComponentSlot for Model

Source§

impl ComponentSlot for ModelRenderer

Source§

impl ComponentSlot for Parent

Source§

impl ComponentSlot for ParticleEmitter

Source§

impl ComponentSlot for PhysicsConfig

Source§

impl ComponentSlot for PhysicsJoint

Source§

impl ComponentSlot for Pickup

Source§

impl ComponentSlot for PointLight

Source§

impl ComponentSlot for PostProcessConfig

Source§

impl ComponentSlot for ProceduralMesh

Source§

impl ComponentSlot for Prop

Source§

impl ComponentSlot for PropBody

Source§

impl ComponentSlot for PropInstance

Source§

impl ComponentSlot for RectAreaLight

Source§

impl ComponentSlot for ReflectionProbe

Source§

impl ComponentSlot for RenderHandle

Source§

impl ComponentSlot for RigidBody

Source§

impl ComponentSlot for Room

Source§

impl ComponentSlot for Scene

Source§

impl ComponentSlot for SceneMember

Source§

impl ComponentSlot for Screen

Source§

impl ComponentSlot for ScrollPanel

Source§

impl ComponentSlot for SdfVolume

Source§

impl ComponentSlot for Shader

Source§

impl ComponentSlot for SkeletonPose

Source§

impl ComponentSlot for Spawner

Source§

impl ComponentSlot for SpotLight

Source§

impl ComponentSlot for Sprite

Source§

impl ComponentSlot for StatHud

Source§

impl ComponentSlot for Story

Source§

impl ComponentSlot for StreamingConfig

Source§

impl ComponentSlot for TextInput

Source§

impl ComponentSlot for TextLabel

Source§

impl ComponentSlot for Transform

Source§

impl ComponentSlot for TriggerVolume

Source§

impl ComponentSlot for Variables

Source§

impl ComponentSlot for VolumetricFog

Source§

impl ComponentSlot for VoxelChunk

Source§

impl ComponentSlot for VoxelWorld

Source§

impl ComponentSlot for WaterSurface

Source§

impl ComponentSlot for Window