ParticleEffectWriter.cs 981 B

123456789101112131415161718192021222324252627282930313233
  1. using System;
  2. using Microsoft.Xna.Framework.Content.Pipeline;
  3. using Microsoft.Xna.Framework.Content.Pipeline.Serialization.Compiler;
  4. using MonoGame.Extended.Particles;
  5. namespace MonoGame.Extended.Content.Pipeline.Particles;
  6. [ContentTypeWriter]
  7. public class ParticleEffectWriter : ContentTypeWriter<ParticleEffectProcessorResult>
  8. {
  9. protected override void Write(ContentWriter output, ParticleEffectProcessorResult value)
  10. {
  11. try
  12. {
  13. output.Write(value.Data.XmlContent);
  14. }
  15. catch (Exception e)
  16. {
  17. ContentLogger.Logger?.LogImportantMessage(e.StackTrace);
  18. throw;
  19. }
  20. }
  21. public override string GetRuntimeType(TargetPlatform targetPlatform)
  22. {
  23. return typeof(ParticleEffect).AssemblyQualifiedName;
  24. }
  25. public override string GetRuntimeReader(TargetPlatform targetPlatform)
  26. {
  27. return typeof(ContentReaders.ParticleEffectContentReader).AssemblyQualifiedName;
  28. }
  29. }