PropInfoSerializer.cs 934 B

1234567891011121314151617181920212223242526272829303132
  1. using System.IO;
  2. namespace MeidoPhotoStudio.Plugin;
  3. public class PropInfoSerializer : SimpleSerializer<PropInfo>
  4. {
  5. private const short Version = 1;
  6. public override void Serialize(PropInfo info, BinaryWriter writer)
  7. {
  8. writer.WriteVersion(Version);
  9. writer.Write((int)info.Type);
  10. writer.WriteNullableString(info.Filename);
  11. writer.WriteNullableString(info.SubFilename);
  12. writer.Write(info.MyRoomID);
  13. writer.WriteNullableString(info.IconFile);
  14. }
  15. public override PropInfo Deserialize(BinaryReader reader, SceneMetadata metadata)
  16. {
  17. _ = reader.ReadVersion();
  18. return new PropInfo((PropInfo.PropType)reader.ReadInt32())
  19. {
  20. Filename = reader.ReadNullableString(),
  21. SubFilename = reader.ReadNullableString(),
  22. MyRoomID = reader.ReadInt32(),
  23. IconFile = reader.ReadNullableString(),
  24. };
  25. }
  26. }