LightPropertySerializer.cs 950 B

1234567891011121314151617181920212223242526272829303132
  1. using System.IO;
  2. namespace MeidoPhotoStudio.Plugin;
  3. public class LightPropertySerializer : Serializer<LightProperty>
  4. {
  5. private const short Version = 1;
  6. public override void Serialize(LightProperty prop, BinaryWriter writer)
  7. {
  8. writer.WriteVersion(Version);
  9. writer.Write(prop.Rotation);
  10. writer.Write(prop.Intensity);
  11. writer.Write(prop.Range);
  12. writer.Write(prop.SpotAngle);
  13. writer.Write(prop.ShadowStrength);
  14. writer.Write(prop.LightColour);
  15. }
  16. public override void Deserialize(LightProperty prop, BinaryReader reader, SceneMetadata metadata)
  17. {
  18. _ = reader.ReadVersion();
  19. prop.Rotation = reader.ReadQuaternion();
  20. prop.Intensity = reader.ReadSingle();
  21. prop.Range = reader.ReadSingle();
  22. prop.SpotAngle = reader.ReadSingle();
  23. prop.ShadowStrength = reader.ReadSingle();
  24. prop.LightColour = reader.ReadColour();
  25. }
  26. }