Vixen
02b45cc4
csharp
public abstract class DataSerializer<T>

Reads and writes one type.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

An abstract class rather than an interface with static abstract members. The registry has to hold these behind a common shape so that a member of type Foo can be serialised from generic code that only knows T, and a static-abstract interface cannot be stored. One virtual call per object, against a body that is writing fields, is not where the time goes.

Deserialize takes its value by so a struct is filled in place rather than copied back, and so a class can be reused instead of reallocated — which is what makes loading a scene into an existing object graph possible later.

Fields and properties (1)

  • public override sealed Type SerializedType

    What this serializer reads and writes.

Methods (4)

  • public abstract void Serialize(ref SerializationWriter writer, in T value)

    Writes a value.

  • public abstract void Deserialize(ref SerializationReader reader, ref T value)

    Reads a value into .

  • public override sealed void SerializeObject(ref SerializationWriter writer, object value)

    Writes a value whose type is only known at run time.

  • public override sealed object DeserializeObject(ref SerializationReader reader)

    Reads a value whose type is only known at run time.

Used by (383, showing 40)

  • Vixen_Samples_AddressablesRemote_GreetingSerializerAddressablesRemote
  • Vixen_Samples_ThirdPersonShooter_BoxCollisionSerializerThirdPersonShooter
  • Vixen_Samples_ThirdPersonShooter_CharacterVisualsSerializerThirdPersonShooter
  • Vixen_Samples_ThirdPersonShooter_SpawnPointSerializerThirdPersonShooter
  • AssetIdSerializerVixen.Core.Serialization
  • AssetReferenceSerializerVixen.Core.Serialization
  • BooleanSerializerVixen.Core.Serialization
  • ByteSerializerVixen.Core.Serialization
  • CharSerializerVixen.Core.Serialization
  • ComponentTypeIdSerializerVixen.Core.Serialization
  • ContentReferenceSerializerVixen.Core.Serialization
  • DateTimeOffsetSerializerVixen.Core.Serialization
  • DateTimeSerializerVixen.Core.Serialization
  • DecimalSerializerVixen.Core.Serialization
  • DoubleSerializerVixen.Core.Serialization
  • EntitySerializerVixen.Core.Serialization
  • GuidSerializerVixen.Core.Serialization
  • HalfSerializerVixen.Core.Serialization
  • Int16SerializerVixen.Core.Serialization
  • Int32SerializerVixen.Core.Serialization
  • Int64SerializerVixen.Core.Serialization
  • ObjectIdSerializerVixen.Core.Serialization
  • SByteSerializerVixen.Core.Serialization
  • SceneComponentBinderVixen.Engine
  • SceneComponentRegistryVixen.Engine
  • SerializationReaderVixen.Core.Serialization
  • SerializationWriterVixen.Core.Serialization
  • SerializerVixen.Core.Serialization
  • SerializerHolderVixen.Core.Serialization
  • SerializerRegistryVixen.Core.Serialization
  • SingleSerializerVixen.Core.Serialization
  • StringSerializerVixen.Core.Serialization
  • SubAssetIdSerializerVixen.Core.Serialization
  • TimeSpanSerializerVixen.Core.Serialization
  • UInt16SerializerVixen.Core.Serialization
  • UInt32SerializerVixen.Core.Serialization
  • UInt64SerializerVixen.Core.Serialization
  • Vixen_Animation_AnimationClipContentSerializerVixen.Animation
  • Vixen_Animation_AnimationEventSerializerVixen.Animation
  • Vixen_Animation_Constraints_ConstraintFrameRecordSerializerVixen.Animation