1
0

ReactionJsonGenerator.cs 898 B

12345678910111213141516171819202122232425262728293031323334
  1. using System.IO;
  2. using System.Linq;
  3. using System.Text.Json;
  4. using Content.Shared.Chemistry.Reaction;
  5. using Content.Shared.EntityEffects;
  6. using Robust.Shared.Prototypes;
  7. namespace Content.Server.GuideGenerator;
  8. public sealed class ReactionJsonGenerator
  9. {
  10. public static void PublishJson(StreamWriter file)
  11. {
  12. var prototype = IoCManager.Resolve<IPrototypeManager>();
  13. var reactions =
  14. prototype
  15. .EnumeratePrototypes<ReactionPrototype>()
  16. .Select(x => new ReactionEntry(x))
  17. .ToDictionary(x => x.Id, x => x);
  18. var serializeOptions = new JsonSerializerOptions
  19. {
  20. WriteIndented = true,
  21. Converters =
  22. {
  23. new UniversalJsonConverter<EntityEffect>(),
  24. }
  25. };
  26. file.Write(JsonSerializer.Serialize(reactions, serializeOptions));
  27. }
  28. }