TransformDTOSerializer.cs 952 B

123456789101112131415161718192021222324252627282930313233
  1. using System.IO;
  2. namespace MeidoPhotoStudio.Plugin;
  3. public class TransformDTOSerializer : SimpleSerializer<TransformDTO>
  4. {
  5. private const short Version = 1;
  6. public override void Serialize(TransformDTO transform, BinaryWriter writer)
  7. {
  8. writer.WriteVersion(Version);
  9. writer.Write(transform.Position);
  10. writer.Write(transform.Rotation);
  11. writer.Write(transform.LocalPosition);
  12. writer.Write(transform.LocalRotation);
  13. writer.Write(transform.LocalScale);
  14. }
  15. public override TransformDTO Deserialize(BinaryReader reader, SceneMetadata metadata)
  16. {
  17. _ = reader.ReadVersion();
  18. return new TransformDTO
  19. {
  20. Position = reader.ReadVector3(),
  21. Rotation = reader.ReadQuaternion(),
  22. LocalPosition = reader.ReadVector3(),
  23. LocalRotation = reader.ReadQuaternion(),
  24. LocalScale = reader.ReadVector3(),
  25. };
  26. }
  27. }