using System.IO; using System.Linq; using System.Text.Json; using Content.Shared.Chemistry.Reaction; using Content.Shared.Chemistry.Reagent; using Robust.Shared.Prototypes; namespace Content.Server.GuideGenerator; public sealed class ReactionJsonGenerator { public static void PublishJson(StreamWriter file) { var prototype = IoCManager.Resolve(); var reactions = prototype .EnumeratePrototypes() .Select(x => new ReactionEntry(x)) .ToDictionary(x => x.Id, x => x); var serializeOptions = new JsonSerializerOptions { WriteIndented = true, Converters = { new UniversalJsonConverter(), } }; file.Write(JsonSerializer.Serialize(reactions, serializeOptions)); } }