Skip to main content

Serializable

Trait Serializable 

pub trait Serializable<S>: Sized
where S: Copy,
{ // Required methods fn serialize( &self, ctx: SerializerCtx<'_, S>, path: &str, ) -> SerializedValue; fn deserialize( &mut self, ctx: SerializerCtx<'_, S>, path: &str, serialized: &SerializedValue, ); }

Required Methods§

fn serialize(&self, ctx: SerializerCtx<'_, S>, path: &str) -> SerializedValue

fn deserialize( &mut self, ctx: SerializerCtx<'_, S>, path: &str, serialized: &SerializedValue, )

Dyn Compatibility§

This trait is not dyn compatible.

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

Implementations on Foreign Types§

§

impl<S, K, V, H> Serializable<S> for HashMap<K, V, H>

§

fn serialize(&self, ctx: SerializerCtx<'_, S>, path: &str) -> SerializedValue

§

fn deserialize( &mut self, ctx: SerializerCtx<'_, S>, path: &str, serialized: &SerializedValue, )

§

impl<S, K, V> Serializable<S> for BTreeMap<K, V>

§

fn serialize(&self, ctx: SerializerCtx<'_, S>, path: &str) -> SerializedValue

§

fn deserialize( &mut self, ctx: SerializerCtx<'_, S>, path: &str, serialized: &SerializedValue, )

§

impl<S, T> Serializable<S> for Option<T>
where S: SerializerCtxState<T>, T: Default,

§

fn serialize(&self, ctx: SerializerCtx<'_, S>, path: &str) -> SerializedValue

§

fn deserialize( &mut self, ctx: SerializerCtx<'_, S>, path: &str, value: &SerializedValue, )

§

impl<S, T> Serializable<S> for Vec<T>
where S: SerializerCtxState<T>, T: Default,

§

fn serialize(&self, ctx: SerializerCtx<'_, S>, path: &str) -> SerializedValue

§

fn deserialize( &mut self, ctx: SerializerCtx<'_, S>, path: &str, serialized: &SerializedValue, )

§

impl<S> Serializable<S> for &'static str
where S: Copy,

§

fn serialize(&self, _ctx: SerializerCtx<'_, S>, path: &str) -> SerializedValue

§

fn deserialize( &mut self, ctx: SerializerCtx<'_, S>, _path: &str, _value: &SerializedValue, )

§

impl<S> Serializable<S> for ()
where S: Copy,

§

fn serialize(&self, _ctx: SerializerCtx<'_, S>, _path: &str) -> SerializedValue

§

fn deserialize( &mut self, _ctx: SerializerCtx<'_, S>, _path: &str, _value: &SerializedValue, )

§

impl<S> Serializable<S> for String
where S: Copy,

§

fn serialize(&self, _ctx: SerializerCtx<'_, S>, path: &str) -> SerializedValue

§

fn deserialize( &mut self, ctx: SerializerCtx<'_, S>, path: &str, value: &SerializedValue, )

§

impl<S> Serializable<S> for bool
where S: Copy,

§

fn serialize(&self, _ctx: SerializerCtx<'_, S>, path: &str) -> SerializedValue

§

fn deserialize( &mut self, ctx: SerializerCtx<'_, S>, path: &str, value: &SerializedValue, )

§

impl<S> Serializable<S> for char
where S: Copy,

§

fn serialize(&self, _ctx: SerializerCtx<'_, S>, path: &str) -> SerializedValue

§

fn deserialize( &mut self, ctx: SerializerCtx<'_, S>, path: &str, value: &SerializedValue, )

§

impl<S> Serializable<S> for f32
where S: Copy,

§

fn serialize(&self, _ctx: SerializerCtx<'_, S>, path: &str) -> SerializedValue

§

fn deserialize( &mut self, ctx: SerializerCtx<'_, S>, path: &str, value: &SerializedValue, )

§

impl<S> Serializable<S> for f64
where S: Copy,

§

fn serialize(&self, _ctx: SerializerCtx<'_, S>, path: &str) -> SerializedValue

§

fn deserialize( &mut self, ctx: SerializerCtx<'_, S>, path: &str, value: &SerializedValue, )

§

impl<S> Serializable<S> for i8
where S: Copy,

§

fn serialize(&self, _ctx: SerializerCtx<'_, S>, path: &str) -> SerializedValue

§

fn deserialize( &mut self, ctx: SerializerCtx<'_, S>, path: &str, value: &SerializedValue, )

§

impl<S> Serializable<S> for i16
where S: Copy,

§

fn serialize(&self, _ctx: SerializerCtx<'_, S>, path: &str) -> SerializedValue

§

fn deserialize( &mut self, ctx: SerializerCtx<'_, S>, path: &str, value: &SerializedValue, )

§

impl<S> Serializable<S> for i32
where S: Copy,

§

fn serialize(&self, _ctx: SerializerCtx<'_, S>, path: &str) -> SerializedValue

§

fn deserialize( &mut self, ctx: SerializerCtx<'_, S>, path: &str, value: &SerializedValue, )

§

impl<S> Serializable<S> for i64
where S: Copy,

§

fn serialize(&self, _ctx: SerializerCtx<'_, S>, path: &str) -> SerializedValue

§

fn deserialize( &mut self, ctx: SerializerCtx<'_, S>, path: &str, value: &SerializedValue, )

§

impl<S> Serializable<S> for i128
where S: Copy,

§

fn serialize(&self, _ctx: SerializerCtx<'_, S>, path: &str) -> SerializedValue

§

fn deserialize( &mut self, ctx: SerializerCtx<'_, S>, path: &str, value: &SerializedValue, )

§

impl<S> Serializable<S> for isize
where S: Copy,

§

fn serialize(&self, _ctx: SerializerCtx<'_, S>, path: &str) -> SerializedValue

§

fn deserialize( &mut self, ctx: SerializerCtx<'_, S>, path: &str, value: &SerializedValue, )

§

impl<S> Serializable<S> for u8
where S: Copy,

§

fn serialize(&self, _ctx: SerializerCtx<'_, S>, path: &str) -> SerializedValue

§

fn deserialize( &mut self, ctx: SerializerCtx<'_, S>, path: &str, value: &SerializedValue, )

§

impl<S> Serializable<S> for u16
where S: Copy,

§

fn serialize(&self, _ctx: SerializerCtx<'_, S>, path: &str) -> SerializedValue

§

fn deserialize( &mut self, ctx: SerializerCtx<'_, S>, path: &str, value: &SerializedValue, )

§

impl<S> Serializable<S> for u32
where S: Copy,

§

fn serialize(&self, _ctx: SerializerCtx<'_, S>, path: &str) -> SerializedValue

§

fn deserialize( &mut self, ctx: SerializerCtx<'_, S>, path: &str, value: &SerializedValue, )

§

impl<S> Serializable<S> for u64
where S: Copy,

§

fn serialize(&self, _ctx: SerializerCtx<'_, S>, path: &str) -> SerializedValue

§

fn deserialize( &mut self, ctx: SerializerCtx<'_, S>, path: &str, value: &SerializedValue, )

§

impl<S> Serializable<S> for u128
where S: Copy,

§

fn serialize(&self, ctx: SerializerCtx<'_, S>, path: &str) -> SerializedValue

§

fn deserialize( &mut self, ctx: SerializerCtx<'_, S>, path: &str, value: &SerializedValue, )

§

impl<S> Serializable<S> for usize
where S: Copy,

§

fn serialize(&self, _ctx: SerializerCtx<'_, S>, path: &str) -> SerializedValue

§

fn deserialize( &mut self, ctx: SerializerCtx<'_, S>, path: &str, value: &SerializedValue, )

§

impl<const N: usize, S, T> Serializable<S> for [T; N]

§

fn serialize(&self, ctx: SerializerCtx<'_, S>, path: &str) -> SerializedValue

§

fn deserialize( &mut self, ctx: SerializerCtx<'_, S>, path: &str, serialized: &SerializedValue, )

Implementors§

§

impl<S, K, V> Serializable<S> for FfiIndexMap<K, V>

§

impl<S, T> Serializable<S> for FfiOption<T>
where S: SerializerCtxState<T>, T: Default,

§

impl<S, T> Serializable<S> for FfiVec<T>
where S: SerializerCtxState<T>, T: Default,

§

impl<S, T> Serializable<S> for Quat<T>

§

impl<S, T> Serializable<S> for Vec2<T>
where S: SerializerCtxState<T>, Vec2<T>: Default,

§

impl<S, T> Serializable<S> for Vec3<T>
where S: SerializerCtxState<T>, Vec3<T>: Default,

§

impl<S, T> Serializable<S> for Vec4<T>
where S: SerializerCtxState<T>, Vec4<T>: Default,

§

impl<S> Serializable<S> for CollisionLayer
where S: Copy,

§

impl<S> Serializable<S> for FfiSmallString
where S: Copy,

§

impl<S> Serializable<S> for FfiString
where S: Copy,

§

impl<S> Serializable<S> for LineBoundType
where S: Copy,

§

impl<S> Serializable<S> for Material

§

impl<S> Serializable<S> for MaterialData

§

impl<S> Serializable<S> for MaterialDataEntry

§

impl<S> Serializable<S> for MeshCollider
where S: Copy,

§

impl<S> Serializable<S> for RigidbodyForces
where S: Copy,

§

impl<S> Serializable<S> for SerializedEntities

§

impl<S> Serializable<S> for SerializedEntityComponents

§

impl<S> Serializable<S> for SerializedValue
where S: Copy,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for AudioClipAssetMetadata
where SerializerCtxStateTy: Copy + SerializerCtxState<FfiString>, AudioClipAssetMetadata: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for AudioSource

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for BatchedMeshComponent

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for Camera
where SerializerCtxStateTy: Copy + SerializerCtxState<CameraProjection> + SerializerCtxState<f32>, Camera: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for CameraComponent
where SerializerCtxStateTy: Copy + SerializerCtxState<Camera>, CameraComponent: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for CameraProjection
where SerializerCtxStateTy: Copy + SerializerCtxState<f32>, CameraProjection: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for ChildComponent
where SerializerCtxStateTy: Copy + SerializerCtxState<EntityId>, ChildComponent: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for ChildrenRectMaskComponent
where SerializerCtxStateTy: Copy, ChildrenRectMaskComponent: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for ColliderComponent

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for ColliderShape

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for CollisionAabb
where SerializerCtxStateTy: Copy + SerializerCtxState<Vec3<f32>>, CollisionAabb: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for CollisionBox
where SerializerCtxStateTy: Copy + SerializerCtxState<Vec3<f32>> + SerializerCtxState<Quat<f32>>, CollisionBox: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for CollisionLine
where SerializerCtxStateTy: Copy + SerializerCtxState<LineBoundType> + SerializerCtxState<Vec3<f32>>, CollisionLine: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for CollisionShape

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for CollisionSphere
where SerializerCtxStateTy: Copy + SerializerCtxState<Vec3<f32>> + SerializerCtxState<f32>, CollisionSphere: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for CoordinateSpaceType
where SerializerCtxStateTy: Copy, CoordinateSpaceType: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for DebugNameComponent
where SerializerCtxStateTy: Copy + SerializerCtxState<FfiSmallString>, DebugNameComponent: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for GlobalDisableableComponent
where SerializerCtxStateTy: Copy + SerializerCtxState<bool>, GlobalDisableableComponent: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for GlobalRectComponent
where SerializerCtxStateTy: Copy + SerializerCtxState<Vec2<f32>> + SerializerCtxState<f32>, GlobalRectComponent: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for GlobalTransform
where SerializerCtxStateTy: Copy + SerializerCtxState<Mat<3, f32>> + SerializerCtxState<Vec3<f32>>, GlobalTransform: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for GpuBlendComponent

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for GpuBlendFactor
where SerializerCtxStateTy: Copy, GpuBlendFactor: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for GpuBlendOperation
where SerializerCtxStateTy: Copy, GpuBlendOperation: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for GpuBlendState
where SerializerCtxStateTy: Copy + SerializerCtxState<GpuBlendComponent>, GpuBlendState: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for GpuColorWrites
where SerializerCtxStateTy: Copy, GpuColorWrites: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for GpuCompareFunction
where SerializerCtxStateTy: Copy, GpuCompareFunction: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for GpuCullMode
where SerializerCtxStateTy: Copy, GpuCullMode: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for GpuFrontFace
where SerializerCtxStateTy: Copy, GpuFrontFace: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for GpuPrimitiveTopology
where SerializerCtxStateTy: Copy, GpuPrimitiveTopology: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for GpuShaderDesc

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for HorizontalAlign
where SerializerCtxStateTy: Copy, HorizontalAlign: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for ImageComponent

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for ImageFillSettings
where SerializerCtxStateTy: Copy, ImageFillSettings: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for LocalDisableableComponent
where SerializerCtxStateTy: Copy + SerializerCtxState<bool>, LocalDisableableComponent: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for LocalRectComponent

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for LocalTransform
where SerializerCtxStateTy: Copy + SerializerCtxState<Quat<f32>> + SerializerCtxState<Vec3<f32>>, LocalTransform: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for MaterialComponent
where SerializerCtxStateTy: Copy + SerializerCtxState<AssetHandle<Material>>, MaterialComponent: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for MaterialDataValue

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for MaterialInput

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for MaterialPassTarget
where SerializerCtxStateTy: Copy, MaterialPassTarget: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for MaterialTemplate

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for MaterialTemplatePass

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for MaterialTextureBinding

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for MaterialTextureFallback
where SerializerCtxStateTy: Copy, MaterialTextureFallback: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for MaterialValueBinding

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for MeshComponent
where SerializerCtxStateTy: Copy + SerializerCtxState<AssetHandle<StandardMesh>>, MeshComponent: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for ParentComponent
where SerializerCtxStateTy: Copy + SerializerCtxState<FfiVec<EntityId>>, ParentComponent: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for PhysicsMaterial
where SerializerCtxStateTy: Copy + SerializerCtxState<f32>, PhysicsMaterial: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for PhysicsMaterialComponent
where SerializerCtxStateTy: Copy + SerializerCtxState<PhysicsMaterial>, PhysicsMaterialComponent: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for RectChildAlignComponent

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for RenderSpace
where SerializerCtxStateTy: Copy, RenderSpace: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for RigidbodyComponent

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for RigidbodyType
where SerializerCtxStateTy: Copy, RigidbodyType: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for ShaderAssetMetadata

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for StandardLight
where SerializerCtxStateTy: Copy + SerializerCtxState<f32> + SerializerCtxState<Vec3<f32>>, StandardLight: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for StandardLightComponent
where SerializerCtxStateTy: Copy + SerializerCtxState<Vec3<f32>> + SerializerCtxState<f32>, StandardLightComponent: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for StandardMeshAssetMetadata

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for StandardTextureAssetMetadata

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for StandardTextureFormat
where SerializerCtxStateTy: Copy, StandardTextureFormat: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for StandardVertex
where SerializerCtxStateTy: Copy + SerializerCtxState<[f32; 4]> + SerializerCtxState<[f32; 3]> + SerializerCtxState<[f32; 2]>, StandardVertex: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for TextComponent

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for UiDirection
where SerializerCtxStateTy: Copy, UiDirection: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for UiSpacing
where SerializerCtxStateTy: Copy, UiSpacing: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for UiUnit
where SerializerCtxStateTy: Copy, UiUnit: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for UiVal
where SerializerCtxStateTy: Copy + SerializerCtxState<f32> + SerializerCtxState<UiUnit>, UiVal: 'static + Default,

§

impl<SerializerCtxStateTy> Serializable<SerializerCtxStateTy> for VerticalAlign
where SerializerCtxStateTy: Copy, VerticalAlign: 'static + Default,

§

impl<const N: usize, S, T> Serializable<S> for Mat<N, T>
where S: SerializerCtxState<[[T; N]; N]>, Mat<N, T>: Default,