Trait legion::serialize::WorldSerializer
source · [−]pub trait WorldSerializer {
type TypeId: Serialize + Ord;
fn map_id(
&self,
type_id: ComponentTypeId
) -> Result<Self::TypeId, UnknownType>;
unsafe fn serialize_component<S: Serializer>(
&self,
ty: ComponentTypeId,
ptr: *const u8,
serializer: S
) -> Result<S::Ok, S::Error>;
unsafe fn serialize_component_slice<S: Serializer>(
&self,
ty: ComponentTypeId,
storage: &dyn UnknownComponentStorage,
archetype: ArchetypeIndex,
serializer: S
) -> Result<S::Ok, S::Error>;
}
Expand description
Describes a type which knows how to deserialize the components in a world.
Associated Types
Required methods
fn map_id(&self, type_id: ComponentTypeId) -> Result<Self::TypeId, UnknownType>
fn map_id(&self, type_id: ComponentTypeId) -> Result<Self::TypeId, UnknownType>
Converts a runtime component type ID into the serialized type ID.
unsafe fn serialize_component<S: Serializer>(
&self,
ty: ComponentTypeId,
ptr: *const u8,
serializer: S
) -> Result<S::Ok, S::Error>
unsafe fn serialize_component<S: Serializer>(
&self,
ty: ComponentTypeId,
ptr: *const u8,
serializer: S
) -> Result<S::Ok, S::Error>
Serializes a single component.
Safety
The pointer must point to a valid instance of the component type represented by the given component type ID.
unsafe fn serialize_component_slice<S: Serializer>(
&self,
ty: ComponentTypeId,
storage: &dyn UnknownComponentStorage,
archetype: ArchetypeIndex,
serializer: S
) -> Result<S::Ok, S::Error>
unsafe fn serialize_component_slice<S: Serializer>(
&self,
ty: ComponentTypeId,
storage: &dyn UnknownComponentStorage,
archetype: ArchetypeIndex,
serializer: S
) -> Result<S::Ok, S::Error>
Serializes a slice of components.
Safety
The pointer must point to a valid instance of the component type represented by the given component type ID.