Trait SerializeComponents

Source
pub trait SerializeComponents<E, M>
where M: Marker,
{ type Data: Serialize; // Required method fn serialize_entity<F>( &self, entity: Entity, ids: F, ) -> Result<Self::Data, E> where F: FnMut(Entity) -> Option<M>; // Provided methods fn serialize<S>( &self, entities: &EntitiesRes, markers: &ReadStorage<'_, M>, serializer: S, ) -> Result<S::Ok, S::Error> where E: Display, S: Serializer { ... } fn serialize_recursive<S>( &self, entities: &EntitiesRes, markers: &mut WriteStorage<'_, M>, allocator: &mut M::Allocator, serializer: S, ) -> Result<S::Ok, S::Error> where E: Display, M: Marker, S: Serializer { ... } }
Expand description

A trait which allows to serialize entities and their components.

Required Associated Types§

Source

type Data: Serialize

The data representation of the components.

Required Methods§

Source

fn serialize_entity<F>(&self, entity: Entity, ids: F) -> Result<Self::Data, E>
where F: FnMut(Entity) -> Option<M>,

Serialize the components of a single entity using a entity -> marker mapping.

Provided Methods§

Source

fn serialize<S>( &self, entities: &EntitiesRes, markers: &ReadStorage<'_, M>, serializer: S, ) -> Result<S::Ok, S::Error>
where E: Display, S: Serializer,

Serialize components from specified storages of all marked entities with provided serializer. When the component gets serialized the closure passed in ids argument returns None for unmarked Entity. In this case serialization of this component may perform workaround or fail. So the function doesn’t recursively mark referenced entities. For recursive marking see serialize_recursive

Source

fn serialize_recursive<S>( &self, entities: &EntitiesRes, markers: &mut WriteStorage<'_, M>, allocator: &mut M::Allocator, serializer: S, ) -> Result<S::Ok, S::Error>
where E: Display, M: Marker, S: Serializer,

Serialize components from specified storages of all marked entities with provided serializer. When the component gets serialized the closure passed in ids argument marks unmarked Entity (the marker of which was requested) and it will get serialized recursively. For serializing without such recursion see serialize function.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<'a, E, M> SerializeComponents<E, M> for ()
where M: Marker,

Source§

type Data = ()

Source§

fn serialize_entity<F>(&self, entity: Entity, ids: F) -> Result<Self::Data, E>
where F: FnMut(Entity) -> Option<M>,

Source§

impl<'a, E, M, CA, CB, CC, CD, CE, CF, CG, CH, CI, CJ, CK, CL, CN, CM, CO, CP, SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SN, SM, SO, SP> SerializeComponents<E, M> for (SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SN, SM, SO, SP)
where M: Marker, SA: GenericReadStorage<Component = CA>, CA: ConvertSaveload<M> + Component, E: From<<CA as ConvertSaveload<M>>::Error> + From<<CB as ConvertSaveload<M>>::Error> + From<<CC as ConvertSaveload<M>>::Error> + From<<CD as ConvertSaveload<M>>::Error> + From<<CE as ConvertSaveload<M>>::Error> + From<<CF as ConvertSaveload<M>>::Error> + From<<CG as ConvertSaveload<M>>::Error> + From<<CH as ConvertSaveload<M>>::Error> + From<<CI as ConvertSaveload<M>>::Error> + From<<CJ as ConvertSaveload<M>>::Error> + From<<CK as ConvertSaveload<M>>::Error> + From<<CL as ConvertSaveload<M>>::Error> + From<<CN as ConvertSaveload<M>>::Error> + From<<CM as ConvertSaveload<M>>::Error> + From<<CO as ConvertSaveload<M>>::Error> + From<<CP as ConvertSaveload<M>>::Error>, SB: GenericReadStorage<Component = CB>, CB: ConvertSaveload<M> + Component, SC: GenericReadStorage<Component = CC>, CC: ConvertSaveload<M> + Component, SD: GenericReadStorage<Component = CD>, CD: ConvertSaveload<M> + Component, SE: GenericReadStorage<Component = CE>, CE: ConvertSaveload<M> + Component, SF: GenericReadStorage<Component = CF>, CF: ConvertSaveload<M> + Component, SG: GenericReadStorage<Component = CG>, CG: ConvertSaveload<M> + Component, SH: GenericReadStorage<Component = CH>, CH: ConvertSaveload<M> + Component, SI: GenericReadStorage<Component = CI>, CI: ConvertSaveload<M> + Component, SJ: GenericReadStorage<Component = CJ>, CJ: ConvertSaveload<M> + Component, SK: GenericReadStorage<Component = CK>, CK: ConvertSaveload<M> + Component, SL: GenericReadStorage<Component = CL>, CL: ConvertSaveload<M> + Component, SN: GenericReadStorage<Component = CN>, CN: ConvertSaveload<M> + Component, SM: GenericReadStorage<Component = CM>, CM: ConvertSaveload<M> + Component, SO: GenericReadStorage<Component = CO>, CO: ConvertSaveload<M> + Component, SP: GenericReadStorage<Component = CP>, CP: ConvertSaveload<M> + Component,

Source§

type Data = (Option<<CA as ConvertSaveload<M>>::Data>, Option<<CB as ConvertSaveload<M>>::Data>, Option<<CC as ConvertSaveload<M>>::Data>, Option<<CD as ConvertSaveload<M>>::Data>, Option<<CE as ConvertSaveload<M>>::Data>, Option<<CF as ConvertSaveload<M>>::Data>, Option<<CG as ConvertSaveload<M>>::Data>, Option<<CH as ConvertSaveload<M>>::Data>, Option<<CI as ConvertSaveload<M>>::Data>, Option<<CJ as ConvertSaveload<M>>::Data>, Option<<CK as ConvertSaveload<M>>::Data>, Option<<CL as ConvertSaveload<M>>::Data>, Option<<CN as ConvertSaveload<M>>::Data>, Option<<CM as ConvertSaveload<M>>::Data>, Option<<CO as ConvertSaveload<M>>::Data>, Option<<CP as ConvertSaveload<M>>::Data>)

Source§

fn serialize_entity<F>(&self, entity: Entity, ids: F) -> Result<Self::Data, E>
where F: FnMut(Entity) -> Option<M>,

Source§

impl<'a, E, M, CB, CC, CD, CE, CF, CG, CH, CI, CJ, CK, CL, CN, CM, CO, CP, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SN, SM, SO, SP> SerializeComponents<E, M> for (SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SN, SM, SO, SP)
where M: Marker, SB: GenericReadStorage<Component = CB>, CB: ConvertSaveload<M> + Component, E: From<<CB as ConvertSaveload<M>>::Error> + From<<CC as ConvertSaveload<M>>::Error> + From<<CD as ConvertSaveload<M>>::Error> + From<<CE as ConvertSaveload<M>>::Error> + From<<CF as ConvertSaveload<M>>::Error> + From<<CG as ConvertSaveload<M>>::Error> + From<<CH as ConvertSaveload<M>>::Error> + From<<CI as ConvertSaveload<M>>::Error> + From<<CJ as ConvertSaveload<M>>::Error> + From<<CK as ConvertSaveload<M>>::Error> + From<<CL as ConvertSaveload<M>>::Error> + From<<CN as ConvertSaveload<M>>::Error> + From<<CM as ConvertSaveload<M>>::Error> + From<<CO as ConvertSaveload<M>>::Error> + From<<CP as ConvertSaveload<M>>::Error>, SC: GenericReadStorage<Component = CC>, CC: ConvertSaveload<M> + Component, SD: GenericReadStorage<Component = CD>, CD: ConvertSaveload<M> + Component, SE: GenericReadStorage<Component = CE>, CE: ConvertSaveload<M> + Component, SF: GenericReadStorage<Component = CF>, CF: ConvertSaveload<M> + Component, SG: GenericReadStorage<Component = CG>, CG: ConvertSaveload<M> + Component, SH: GenericReadStorage<Component = CH>, CH: ConvertSaveload<M> + Component, SI: GenericReadStorage<Component = CI>, CI: ConvertSaveload<M> + Component, SJ: GenericReadStorage<Component = CJ>, CJ: ConvertSaveload<M> + Component, SK: GenericReadStorage<Component = CK>, CK: ConvertSaveload<M> + Component, SL: GenericReadStorage<Component = CL>, CL: ConvertSaveload<M> + Component, SN: GenericReadStorage<Component = CN>, CN: ConvertSaveload<M> + Component, SM: GenericReadStorage<Component = CM>, CM: ConvertSaveload<M> + Component, SO: GenericReadStorage<Component = CO>, CO: ConvertSaveload<M> + Component, SP: GenericReadStorage<Component = CP>, CP: ConvertSaveload<M> + Component,

Source§

type Data = (Option<<CB as ConvertSaveload<M>>::Data>, Option<<CC as ConvertSaveload<M>>::Data>, Option<<CD as ConvertSaveload<M>>::Data>, Option<<CE as ConvertSaveload<M>>::Data>, Option<<CF as ConvertSaveload<M>>::Data>, Option<<CG as ConvertSaveload<M>>::Data>, Option<<CH as ConvertSaveload<M>>::Data>, Option<<CI as ConvertSaveload<M>>::Data>, Option<<CJ as ConvertSaveload<M>>::Data>, Option<<CK as ConvertSaveload<M>>::Data>, Option<<CL as ConvertSaveload<M>>::Data>, Option<<CN as ConvertSaveload<M>>::Data>, Option<<CM as ConvertSaveload<M>>::Data>, Option<<CO as ConvertSaveload<M>>::Data>, Option<<CP as ConvertSaveload<M>>::Data>)

Source§

fn serialize_entity<F>(&self, entity: Entity, ids: F) -> Result<Self::Data, E>
where F: FnMut(Entity) -> Option<M>,

Source§

impl<'a, E, M, CC, CD, CE, CF, CG, CH, CI, CJ, CK, CL, CN, CM, CO, CP, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SN, SM, SO, SP> SerializeComponents<E, M> for (SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SN, SM, SO, SP)
where M: Marker, SC: GenericReadStorage<Component = CC>, CC: ConvertSaveload<M> + Component, E: From<<CC as ConvertSaveload<M>>::Error> + From<<CD as ConvertSaveload<M>>::Error> + From<<CE as ConvertSaveload<M>>::Error> + From<<CF as ConvertSaveload<M>>::Error> + From<<CG as ConvertSaveload<M>>::Error> + From<<CH as ConvertSaveload<M>>::Error> + From<<CI as ConvertSaveload<M>>::Error> + From<<CJ as ConvertSaveload<M>>::Error> + From<<CK as ConvertSaveload<M>>::Error> + From<<CL as ConvertSaveload<M>>::Error> + From<<CN as ConvertSaveload<M>>::Error> + From<<CM as ConvertSaveload<M>>::Error> + From<<CO as ConvertSaveload<M>>::Error> + From<<CP as ConvertSaveload<M>>::Error>, SD: GenericReadStorage<Component = CD>, CD: ConvertSaveload<M> + Component, SE: GenericReadStorage<Component = CE>, CE: ConvertSaveload<M> + Component, SF: GenericReadStorage<Component = CF>, CF: ConvertSaveload<M> + Component, SG: GenericReadStorage<Component = CG>, CG: ConvertSaveload<M> + Component, SH: GenericReadStorage<Component = CH>, CH: ConvertSaveload<M> + Component, SI: GenericReadStorage<Component = CI>, CI: ConvertSaveload<M> + Component, SJ: GenericReadStorage<Component = CJ>, CJ: ConvertSaveload<M> + Component, SK: GenericReadStorage<Component = CK>, CK: ConvertSaveload<M> + Component, SL: GenericReadStorage<Component = CL>, CL: ConvertSaveload<M> + Component, SN: GenericReadStorage<Component = CN>, CN: ConvertSaveload<M> + Component, SM: GenericReadStorage<Component = CM>, CM: ConvertSaveload<M> + Component, SO: GenericReadStorage<Component = CO>, CO: ConvertSaveload<M> + Component, SP: GenericReadStorage<Component = CP>, CP: ConvertSaveload<M> + Component,

Source§

type Data = (Option<<CC as ConvertSaveload<M>>::Data>, Option<<CD as ConvertSaveload<M>>::Data>, Option<<CE as ConvertSaveload<M>>::Data>, Option<<CF as ConvertSaveload<M>>::Data>, Option<<CG as ConvertSaveload<M>>::Data>, Option<<CH as ConvertSaveload<M>>::Data>, Option<<CI as ConvertSaveload<M>>::Data>, Option<<CJ as ConvertSaveload<M>>::Data>, Option<<CK as ConvertSaveload<M>>::Data>, Option<<CL as ConvertSaveload<M>>::Data>, Option<<CN as ConvertSaveload<M>>::Data>, Option<<CM as ConvertSaveload<M>>::Data>, Option<<CO as ConvertSaveload<M>>::Data>, Option<<CP as ConvertSaveload<M>>::Data>)

Source§

fn serialize_entity<F>(&self, entity: Entity, ids: F) -> Result<Self::Data, E>
where F: FnMut(Entity) -> Option<M>,

Source§

impl<'a, E, M, CD, CE, CF, CG, CH, CI, CJ, CK, CL, CN, CM, CO, CP, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SN, SM, SO, SP> SerializeComponents<E, M> for (SD, SE, SF, SG, SH, SI, SJ, SK, SL, SN, SM, SO, SP)
where M: Marker, SD: GenericReadStorage<Component = CD>, CD: ConvertSaveload<M> + Component, E: From<<CD as ConvertSaveload<M>>::Error> + From<<CE as ConvertSaveload<M>>::Error> + From<<CF as ConvertSaveload<M>>::Error> + From<<CG as ConvertSaveload<M>>::Error> + From<<CH as ConvertSaveload<M>>::Error> + From<<CI as ConvertSaveload<M>>::Error> + From<<CJ as ConvertSaveload<M>>::Error> + From<<CK as ConvertSaveload<M>>::Error> + From<<CL as ConvertSaveload<M>>::Error> + From<<CN as ConvertSaveload<M>>::Error> + From<<CM as ConvertSaveload<M>>::Error> + From<<CO as ConvertSaveload<M>>::Error> + From<<CP as ConvertSaveload<M>>::Error>, SE: GenericReadStorage<Component = CE>, CE: ConvertSaveload<M> + Component, SF: GenericReadStorage<Component = CF>, CF: ConvertSaveload<M> + Component, SG: GenericReadStorage<Component = CG>, CG: ConvertSaveload<M> + Component, SH: GenericReadStorage<Component = CH>, CH: ConvertSaveload<M> + Component, SI: GenericReadStorage<Component = CI>, CI: ConvertSaveload<M> + Component, SJ: GenericReadStorage<Component = CJ>, CJ: ConvertSaveload<M> + Component, SK: GenericReadStorage<Component = CK>, CK: ConvertSaveload<M> + Component, SL: GenericReadStorage<Component = CL>, CL: ConvertSaveload<M> + Component, SN: GenericReadStorage<Component = CN>, CN: ConvertSaveload<M> + Component, SM: GenericReadStorage<Component = CM>, CM: ConvertSaveload<M> + Component, SO: GenericReadStorage<Component = CO>, CO: ConvertSaveload<M> + Component, SP: GenericReadStorage<Component = CP>, CP: ConvertSaveload<M> + Component,

Source§

type Data = (Option<<CD as ConvertSaveload<M>>::Data>, Option<<CE as ConvertSaveload<M>>::Data>, Option<<CF as ConvertSaveload<M>>::Data>, Option<<CG as ConvertSaveload<M>>::Data>, Option<<CH as ConvertSaveload<M>>::Data>, Option<<CI as ConvertSaveload<M>>::Data>, Option<<CJ as ConvertSaveload<M>>::Data>, Option<<CK as ConvertSaveload<M>>::Data>, Option<<CL as ConvertSaveload<M>>::Data>, Option<<CN as ConvertSaveload<M>>::Data>, Option<<CM as ConvertSaveload<M>>::Data>, Option<<CO as ConvertSaveload<M>>::Data>, Option<<CP as ConvertSaveload<M>>::Data>)

Source§

fn serialize_entity<F>(&self, entity: Entity, ids: F) -> Result<Self::Data, E>
where F: FnMut(Entity) -> Option<M>,

Source§

impl<'a, E, M, CE, CF, CG, CH, CI, CJ, CK, CL, CN, CM, CO, CP, SE, SF, SG, SH, SI, SJ, SK, SL, SN, SM, SO, SP> SerializeComponents<E, M> for (SE, SF, SG, SH, SI, SJ, SK, SL, SN, SM, SO, SP)
where M: Marker, SE: GenericReadStorage<Component = CE>, CE: ConvertSaveload<M> + Component, E: From<<CE as ConvertSaveload<M>>::Error> + From<<CF as ConvertSaveload<M>>::Error> + From<<CG as ConvertSaveload<M>>::Error> + From<<CH as ConvertSaveload<M>>::Error> + From<<CI as ConvertSaveload<M>>::Error> + From<<CJ as ConvertSaveload<M>>::Error> + From<<CK as ConvertSaveload<M>>::Error> + From<<CL as ConvertSaveload<M>>::Error> + From<<CN as ConvertSaveload<M>>::Error> + From<<CM as ConvertSaveload<M>>::Error> + From<<CO as ConvertSaveload<M>>::Error> + From<<CP as ConvertSaveload<M>>::Error>, SF: GenericReadStorage<Component = CF>, CF: ConvertSaveload<M> + Component, SG: GenericReadStorage<Component = CG>, CG: ConvertSaveload<M> + Component, SH: GenericReadStorage<Component = CH>, CH: ConvertSaveload<M> + Component, SI: GenericReadStorage<Component = CI>, CI: ConvertSaveload<M> + Component, SJ: GenericReadStorage<Component = CJ>, CJ: ConvertSaveload<M> + Component, SK: GenericReadStorage<Component = CK>, CK: ConvertSaveload<M> + Component, SL: GenericReadStorage<Component = CL>, CL: ConvertSaveload<M> + Component, SN: GenericReadStorage<Component = CN>, CN: ConvertSaveload<M> + Component, SM: GenericReadStorage<Component = CM>, CM: ConvertSaveload<M> + Component, SO: GenericReadStorage<Component = CO>, CO: ConvertSaveload<M> + Component, SP: GenericReadStorage<Component = CP>, CP: ConvertSaveload<M> + Component,

Source§

type Data = (Option<<CE as ConvertSaveload<M>>::Data>, Option<<CF as ConvertSaveload<M>>::Data>, Option<<CG as ConvertSaveload<M>>::Data>, Option<<CH as ConvertSaveload<M>>::Data>, Option<<CI as ConvertSaveload<M>>::Data>, Option<<CJ as ConvertSaveload<M>>::Data>, Option<<CK as ConvertSaveload<M>>::Data>, Option<<CL as ConvertSaveload<M>>::Data>, Option<<CN as ConvertSaveload<M>>::Data>, Option<<CM as ConvertSaveload<M>>::Data>, Option<<CO as ConvertSaveload<M>>::Data>, Option<<CP as ConvertSaveload<M>>::Data>)

Source§

fn serialize_entity<F>(&self, entity: Entity, ids: F) -> Result<Self::Data, E>
where F: FnMut(Entity) -> Option<M>,

Source§

impl<'a, E, M, CF, CG, CH, CI, CJ, CK, CL, CN, CM, CO, CP, SF, SG, SH, SI, SJ, SK, SL, SN, SM, SO, SP> SerializeComponents<E, M> for (SF, SG, SH, SI, SJ, SK, SL, SN, SM, SO, SP)
where M: Marker, SF: GenericReadStorage<Component = CF>, CF: ConvertSaveload<M> + Component, E: From<<CF as ConvertSaveload<M>>::Error> + From<<CG as ConvertSaveload<M>>::Error> + From<<CH as ConvertSaveload<M>>::Error> + From<<CI as ConvertSaveload<M>>::Error> + From<<CJ as ConvertSaveload<M>>::Error> + From<<CK as ConvertSaveload<M>>::Error> + From<<CL as ConvertSaveload<M>>::Error> + From<<CN as ConvertSaveload<M>>::Error> + From<<CM as ConvertSaveload<M>>::Error> + From<<CO as ConvertSaveload<M>>::Error> + From<<CP as ConvertSaveload<M>>::Error>, SG: GenericReadStorage<Component = CG>, CG: ConvertSaveload<M> + Component, SH: GenericReadStorage<Component = CH>, CH: ConvertSaveload<M> + Component, SI: GenericReadStorage<Component = CI>, CI: ConvertSaveload<M> + Component, SJ: GenericReadStorage<Component = CJ>, CJ: ConvertSaveload<M> + Component, SK: GenericReadStorage<Component = CK>, CK: ConvertSaveload<M> + Component, SL: GenericReadStorage<Component = CL>, CL: ConvertSaveload<M> + Component, SN: GenericReadStorage<Component = CN>, CN: ConvertSaveload<M> + Component, SM: GenericReadStorage<Component = CM>, CM: ConvertSaveload<M> + Component, SO: GenericReadStorage<Component = CO>, CO: ConvertSaveload<M> + Component, SP: GenericReadStorage<Component = CP>, CP: ConvertSaveload<M> + Component,

Source§

type Data = (Option<<CF as ConvertSaveload<M>>::Data>, Option<<CG as ConvertSaveload<M>>::Data>, Option<<CH as ConvertSaveload<M>>::Data>, Option<<CI as ConvertSaveload<M>>::Data>, Option<<CJ as ConvertSaveload<M>>::Data>, Option<<CK as ConvertSaveload<M>>::Data>, Option<<CL as ConvertSaveload<M>>::Data>, Option<<CN as ConvertSaveload<M>>::Data>, Option<<CM as ConvertSaveload<M>>::Data>, Option<<CO as ConvertSaveload<M>>::Data>, Option<<CP as ConvertSaveload<M>>::Data>)

Source§

fn serialize_entity<F>(&self, entity: Entity, ids: F) -> Result<Self::Data, E>
where F: FnMut(Entity) -> Option<M>,

Source§

impl<'a, E, M, CG, CH, CI, CJ, CK, CL, CN, CM, CO, CP, SG, SH, SI, SJ, SK, SL, SN, SM, SO, SP> SerializeComponents<E, M> for (SG, SH, SI, SJ, SK, SL, SN, SM, SO, SP)
where M: Marker, SG: GenericReadStorage<Component = CG>, CG: ConvertSaveload<M> + Component, E: From<<CG as ConvertSaveload<M>>::Error> + From<<CH as ConvertSaveload<M>>::Error> + From<<CI as ConvertSaveload<M>>::Error> + From<<CJ as ConvertSaveload<M>>::Error> + From<<CK as ConvertSaveload<M>>::Error> + From<<CL as ConvertSaveload<M>>::Error> + From<<CN as ConvertSaveload<M>>::Error> + From<<CM as ConvertSaveload<M>>::Error> + From<<CO as ConvertSaveload<M>>::Error> + From<<CP as ConvertSaveload<M>>::Error>, SH: GenericReadStorage<Component = CH>, CH: ConvertSaveload<M> + Component, SI: GenericReadStorage<Component = CI>, CI: ConvertSaveload<M> + Component, SJ: GenericReadStorage<Component = CJ>, CJ: ConvertSaveload<M> + Component, SK: GenericReadStorage<Component = CK>, CK: ConvertSaveload<M> + Component, SL: GenericReadStorage<Component = CL>, CL: ConvertSaveload<M> + Component, SN: GenericReadStorage<Component = CN>, CN: ConvertSaveload<M> + Component, SM: GenericReadStorage<Component = CM>, CM: ConvertSaveload<M> + Component, SO: GenericReadStorage<Component = CO>, CO: ConvertSaveload<M> + Component, SP: GenericReadStorage<Component = CP>, CP: ConvertSaveload<M> + Component,

Source§

type Data = (Option<<CG as ConvertSaveload<M>>::Data>, Option<<CH as ConvertSaveload<M>>::Data>, Option<<CI as ConvertSaveload<M>>::Data>, Option<<CJ as ConvertSaveload<M>>::Data>, Option<<CK as ConvertSaveload<M>>::Data>, Option<<CL as ConvertSaveload<M>>::Data>, Option<<CN as ConvertSaveload<M>>::Data>, Option<<CM as ConvertSaveload<M>>::Data>, Option<<CO as ConvertSaveload<M>>::Data>, Option<<CP as ConvertSaveload<M>>::Data>)

Source§

fn serialize_entity<F>(&self, entity: Entity, ids: F) -> Result<Self::Data, E>
where F: FnMut(Entity) -> Option<M>,

Source§

impl<'a, E, M, CH, CI, CJ, CK, CL, CN, CM, CO, CP, SH, SI, SJ, SK, SL, SN, SM, SO, SP> SerializeComponents<E, M> for (SH, SI, SJ, SK, SL, SN, SM, SO, SP)
where M: Marker, SH: GenericReadStorage<Component = CH>, CH: ConvertSaveload<M> + Component, E: From<<CH as ConvertSaveload<M>>::Error> + From<<CI as ConvertSaveload<M>>::Error> + From<<CJ as ConvertSaveload<M>>::Error> + From<<CK as ConvertSaveload<M>>::Error> + From<<CL as ConvertSaveload<M>>::Error> + From<<CN as ConvertSaveload<M>>::Error> + From<<CM as ConvertSaveload<M>>::Error> + From<<CO as ConvertSaveload<M>>::Error> + From<<CP as ConvertSaveload<M>>::Error>, SI: GenericReadStorage<Component = CI>, CI: ConvertSaveload<M> + Component, SJ: GenericReadStorage<Component = CJ>, CJ: ConvertSaveload<M> + Component, SK: GenericReadStorage<Component = CK>, CK: ConvertSaveload<M> + Component, SL: GenericReadStorage<Component = CL>, CL: ConvertSaveload<M> + Component, SN: GenericReadStorage<Component = CN>, CN: ConvertSaveload<M> + Component, SM: GenericReadStorage<Component = CM>, CM: ConvertSaveload<M> + Component, SO: GenericReadStorage<Component = CO>, CO: ConvertSaveload<M> + Component, SP: GenericReadStorage<Component = CP>, CP: ConvertSaveload<M> + Component,

Source§

type Data = (Option<<CH as ConvertSaveload<M>>::Data>, Option<<CI as ConvertSaveload<M>>::Data>, Option<<CJ as ConvertSaveload<M>>::Data>, Option<<CK as ConvertSaveload<M>>::Data>, Option<<CL as ConvertSaveload<M>>::Data>, Option<<CN as ConvertSaveload<M>>::Data>, Option<<CM as ConvertSaveload<M>>::Data>, Option<<CO as ConvertSaveload<M>>::Data>, Option<<CP as ConvertSaveload<M>>::Data>)

Source§

fn serialize_entity<F>(&self, entity: Entity, ids: F) -> Result<Self::Data, E>
where F: FnMut(Entity) -> Option<M>,

Source§

impl<'a, E, M, CI, CJ, CK, CL, CN, CM, CO, CP, SI, SJ, SK, SL, SN, SM, SO, SP> SerializeComponents<E, M> for (SI, SJ, SK, SL, SN, SM, SO, SP)
where M: Marker, SI: GenericReadStorage<Component = CI>, CI: ConvertSaveload<M> + Component, E: From<<CI as ConvertSaveload<M>>::Error> + From<<CJ as ConvertSaveload<M>>::Error> + From<<CK as ConvertSaveload<M>>::Error> + From<<CL as ConvertSaveload<M>>::Error> + From<<CN as ConvertSaveload<M>>::Error> + From<<CM as ConvertSaveload<M>>::Error> + From<<CO as ConvertSaveload<M>>::Error> + From<<CP as ConvertSaveload<M>>::Error>, SJ: GenericReadStorage<Component = CJ>, CJ: ConvertSaveload<M> + Component, SK: GenericReadStorage<Component = CK>, CK: ConvertSaveload<M> + Component, SL: GenericReadStorage<Component = CL>, CL: ConvertSaveload<M> + Component, SN: GenericReadStorage<Component = CN>, CN: ConvertSaveload<M> + Component, SM: GenericReadStorage<Component = CM>, CM: ConvertSaveload<M> + Component, SO: GenericReadStorage<Component = CO>, CO: ConvertSaveload<M> + Component, SP: GenericReadStorage<Component = CP>, CP: ConvertSaveload<M> + Component,

Source§

type Data = (Option<<CI as ConvertSaveload<M>>::Data>, Option<<CJ as ConvertSaveload<M>>::Data>, Option<<CK as ConvertSaveload<M>>::Data>, Option<<CL as ConvertSaveload<M>>::Data>, Option<<CN as ConvertSaveload<M>>::Data>, Option<<CM as ConvertSaveload<M>>::Data>, Option<<CO as ConvertSaveload<M>>::Data>, Option<<CP as ConvertSaveload<M>>::Data>)

Source§

fn serialize_entity<F>(&self, entity: Entity, ids: F) -> Result<Self::Data, E>
where F: FnMut(Entity) -> Option<M>,

Source§

impl<'a, E, M, CJ, CK, CL, CN, CM, CO, CP, SJ, SK, SL, SN, SM, SO, SP> SerializeComponents<E, M> for (SJ, SK, SL, SN, SM, SO, SP)
where M: Marker, SJ: GenericReadStorage<Component = CJ>, CJ: ConvertSaveload<M> + Component, E: From<<CJ as ConvertSaveload<M>>::Error> + From<<CK as ConvertSaveload<M>>::Error> + From<<CL as ConvertSaveload<M>>::Error> + From<<CN as ConvertSaveload<M>>::Error> + From<<CM as ConvertSaveload<M>>::Error> + From<<CO as ConvertSaveload<M>>::Error> + From<<CP as ConvertSaveload<M>>::Error>, SK: GenericReadStorage<Component = CK>, CK: ConvertSaveload<M> + Component, SL: GenericReadStorage<Component = CL>, CL: ConvertSaveload<M> + Component, SN: GenericReadStorage<Component = CN>, CN: ConvertSaveload<M> + Component, SM: GenericReadStorage<Component = CM>, CM: ConvertSaveload<M> + Component, SO: GenericReadStorage<Component = CO>, CO: ConvertSaveload<M> + Component, SP: GenericReadStorage<Component = CP>, CP: ConvertSaveload<M> + Component,

Source§

type Data = (Option<<CJ as ConvertSaveload<M>>::Data>, Option<<CK as ConvertSaveload<M>>::Data>, Option<<CL as ConvertSaveload<M>>::Data>, Option<<CN as ConvertSaveload<M>>::Data>, Option<<CM as ConvertSaveload<M>>::Data>, Option<<CO as ConvertSaveload<M>>::Data>, Option<<CP as ConvertSaveload<M>>::Data>)

Source§

fn serialize_entity<F>(&self, entity: Entity, ids: F) -> Result<Self::Data, E>
where F: FnMut(Entity) -> Option<M>,

Source§

impl<'a, E, M, CK, CL, CN, CM, CO, CP, SK, SL, SN, SM, SO, SP> SerializeComponents<E, M> for (SK, SL, SN, SM, SO, SP)
where M: Marker, SK: GenericReadStorage<Component = CK>, CK: ConvertSaveload<M> + Component, E: From<<CK as ConvertSaveload<M>>::Error> + From<<CL as ConvertSaveload<M>>::Error> + From<<CN as ConvertSaveload<M>>::Error> + From<<CM as ConvertSaveload<M>>::Error> + From<<CO as ConvertSaveload<M>>::Error> + From<<CP as ConvertSaveload<M>>::Error>, SL: GenericReadStorage<Component = CL>, CL: ConvertSaveload<M> + Component, SN: GenericReadStorage<Component = CN>, CN: ConvertSaveload<M> + Component, SM: GenericReadStorage<Component = CM>, CM: ConvertSaveload<M> + Component, SO: GenericReadStorage<Component = CO>, CO: ConvertSaveload<M> + Component, SP: GenericReadStorage<Component = CP>, CP: ConvertSaveload<M> + Component,

Source§

type Data = (Option<<CK as ConvertSaveload<M>>::Data>, Option<<CL as ConvertSaveload<M>>::Data>, Option<<CN as ConvertSaveload<M>>::Data>, Option<<CM as ConvertSaveload<M>>::Data>, Option<<CO as ConvertSaveload<M>>::Data>, Option<<CP as ConvertSaveload<M>>::Data>)

Source§

fn serialize_entity<F>(&self, entity: Entity, ids: F) -> Result<Self::Data, E>
where F: FnMut(Entity) -> Option<M>,

Source§

impl<'a, E, M, CL, CN, CM, CO, CP, SL, SN, SM, SO, SP> SerializeComponents<E, M> for (SL, SN, SM, SO, SP)
where M: Marker, SL: GenericReadStorage<Component = CL>, CL: ConvertSaveload<M> + Component, E: From<<CL as ConvertSaveload<M>>::Error> + From<<CN as ConvertSaveload<M>>::Error> + From<<CM as ConvertSaveload<M>>::Error> + From<<CO as ConvertSaveload<M>>::Error> + From<<CP as ConvertSaveload<M>>::Error>, SN: GenericReadStorage<Component = CN>, CN: ConvertSaveload<M> + Component, SM: GenericReadStorage<Component = CM>, CM: ConvertSaveload<M> + Component, SO: GenericReadStorage<Component = CO>, CO: ConvertSaveload<M> + Component, SP: GenericReadStorage<Component = CP>, CP: ConvertSaveload<M> + Component,

Source§

type Data = (Option<<CL as ConvertSaveload<M>>::Data>, Option<<CN as ConvertSaveload<M>>::Data>, Option<<CM as ConvertSaveload<M>>::Data>, Option<<CO as ConvertSaveload<M>>::Data>, Option<<CP as ConvertSaveload<M>>::Data>)

Source§

fn serialize_entity<F>(&self, entity: Entity, ids: F) -> Result<Self::Data, E>
where F: FnMut(Entity) -> Option<M>,

Source§

impl<'a, E, M, CM, CO, CP, SM, SO, SP> SerializeComponents<E, M> for (SM, SO, SP)
where M: Marker, SM: GenericReadStorage<Component = CM>, CM: ConvertSaveload<M> + Component, E: From<<CM as ConvertSaveload<M>>::Error> + From<<CO as ConvertSaveload<M>>::Error> + From<<CP as ConvertSaveload<M>>::Error>, SO: GenericReadStorage<Component = CO>, CO: ConvertSaveload<M> + Component, SP: GenericReadStorage<Component = CP>, CP: ConvertSaveload<M> + Component,

Source§

type Data = (Option<<CM as ConvertSaveload<M>>::Data>, Option<<CO as ConvertSaveload<M>>::Data>, Option<<CP as ConvertSaveload<M>>::Data>)

Source§

fn serialize_entity<F>(&self, entity: Entity, ids: F) -> Result<Self::Data, E>
where F: FnMut(Entity) -> Option<M>,

Source§

impl<'a, E, M, CN, CM, CO, CP, SN, SM, SO, SP> SerializeComponents<E, M> for (SN, SM, SO, SP)
where M: Marker, SN: GenericReadStorage<Component = CN>, CN: ConvertSaveload<M> + Component, E: From<<CN as ConvertSaveload<M>>::Error> + From<<CM as ConvertSaveload<M>>::Error> + From<<CO as ConvertSaveload<M>>::Error> + From<<CP as ConvertSaveload<M>>::Error>, SM: GenericReadStorage<Component = CM>, CM: ConvertSaveload<M> + Component, SO: GenericReadStorage<Component = CO>, CO: ConvertSaveload<M> + Component, SP: GenericReadStorage<Component = CP>, CP: ConvertSaveload<M> + Component,

Source§

type Data = (Option<<CN as ConvertSaveload<M>>::Data>, Option<<CM as ConvertSaveload<M>>::Data>, Option<<CO as ConvertSaveload<M>>::Data>, Option<<CP as ConvertSaveload<M>>::Data>)

Source§

fn serialize_entity<F>(&self, entity: Entity, ids: F) -> Result<Self::Data, E>
where F: FnMut(Entity) -> Option<M>,

Source§

impl<'a, E, M, CO, CP, SO, SP> SerializeComponents<E, M> for (SO, SP)
where M: Marker, SO: GenericReadStorage<Component = CO>, CO: ConvertSaveload<M> + Component, E: From<<CO as ConvertSaveload<M>>::Error> + From<<CP as ConvertSaveload<M>>::Error>, SP: GenericReadStorage<Component = CP>, CP: ConvertSaveload<M> + Component,

Source§

type Data = (Option<<CO as ConvertSaveload<M>>::Data>, Option<<CP as ConvertSaveload<M>>::Data>)

Source§

fn serialize_entity<F>(&self, entity: Entity, ids: F) -> Result<Self::Data, E>
where F: FnMut(Entity) -> Option<M>,

Source§

impl<'a, E, M, CP, SP> SerializeComponents<E, M> for (SP,)
where M: Marker, SP: GenericReadStorage<Component = CP>, CP: ConvertSaveload<M> + Component, E: From<<CP as ConvertSaveload<M>>::Error>,

Source§

type Data = (Option<<CP as ConvertSaveload<M>>::Data>,)

Source§

fn serialize_entity<F>(&self, entity: Entity, ids: F) -> Result<Self::Data, E>
where F: FnMut(Entity) -> Option<M>,

Implementors§