FogEffectSerializer.cs 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. using System.IO;
  2. namespace MeidoPhotoStudio.Plugin;
  3. public class FogEffectSerializer : Serializer<FogEffectManager>
  4. {
  5. private const short Version = 1;
  6. public override void Serialize(FogEffectManager effect, BinaryWriter writer)
  7. {
  8. writer.Write(FogEffectManager.Header);
  9. writer.WriteVersion(Version);
  10. writer.Write(effect.Active);
  11. writer.Write(effect.Distance);
  12. writer.Write(effect.Density);
  13. writer.Write(effect.HeightScale);
  14. writer.Write(effect.Height);
  15. writer.WriteColour(effect.FogColour);
  16. }
  17. public override void Deserialize(FogEffectManager effect, BinaryReader reader, SceneMetadata metadata)
  18. {
  19. _ = reader.ReadVersion();
  20. var active = reader.ReadBoolean();
  21. effect.Distance = reader.ReadSingle();
  22. effect.Density = reader.ReadSingle();
  23. effect.HeightScale = reader.ReadSingle();
  24. effect.Height = reader.ReadSingle();
  25. effect.FogColour = reader.ReadColour();
  26. effect.SetEffectActive(active);
  27. }
  28. }