using Content.Shared.Chemistry.Reagent; using Robust.Shared.Prototypes; using System.Text.Json.Serialization; namespace Content.Server._White.GuideGenerator; public sealed class ReagentEffectEntry { [JsonPropertyName("id")] public string Id { get; } [JsonPropertyName("description")] public string Description { get; } public ReagentEffectEntry(ReagentEffect proto) { var prototype = IoCManager.Resolve(); var entSys = IoCManager.Resolve(); Id = proto.GetType().Name; Description = GuidebookEffectDescriptionToWeb(proto.GuidebookEffectDescription(prototype, entSys) ?? ""); } private string GuidebookEffectDescriptionToWeb(string guideBookText) { guideBookText = guideBookText.Replace("[", "<"); guideBookText = guideBookText.Replace("]", ">"); guideBookText = guideBookText.Replace("color", "span"); while (guideBookText.IndexOf("", first); var replacementString = guideBookText.Substring(first, last - first); var color = replacementString.Substring(1); guideBookText = guideBookText.Replace(replacementString, string.Format(" style=\"color: {0};\"", color)); } return guideBookText; } }