43 lines
1.2 KiB
C#
43 lines
1.2 KiB
C#
|
|
using Content.Shared.Chemistry.Reagent;
|
|||
|
|
using Robust.Shared.Prototypes;
|
|||
|
|
using Robust.Shared.Serialization;
|
|||
|
|
|
|||
|
|
namespace Content.Shared.Chemistry;
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// This handles the chemistry guidebook and caching it.
|
|||
|
|
/// </summary>
|
|||
|
|
public abstract class SharedChemistryGuideDataSystem : EntitySystem
|
|||
|
|
{
|
|||
|
|
[Dependency] protected readonly IPrototypeManager PrototypeManager = default!;
|
|||
|
|
|
|||
|
|
protected readonly Dictionary<string, ReagentGuideEntry> Registry = new();
|
|||
|
|
|
|||
|
|
public IReadOnlyDictionary<string, ReagentGuideEntry> ReagentGuideRegistry => Registry;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
[Serializable, NetSerializable]
|
|||
|
|
public sealed class ReagentGuideRegistryChangedEvent : EntityEventArgs
|
|||
|
|
{
|
|||
|
|
public ReagentGuideChangeset Changeset;
|
|||
|
|
|
|||
|
|
public ReagentGuideRegistryChangedEvent(ReagentGuideChangeset changeset)
|
|||
|
|
{
|
|||
|
|
Changeset = changeset;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
[Serializable, NetSerializable]
|
|||
|
|
public sealed class ReagentGuideChangeset
|
|||
|
|
{
|
|||
|
|
public Dictionary<string,ReagentGuideEntry> GuideEntries;
|
|||
|
|
|
|||
|
|
public HashSet<string> Removed;
|
|||
|
|
|
|||
|
|
public ReagentGuideChangeset(Dictionary<string, ReagentGuideEntry> guideEntries, HashSet<string> removed)
|
|||
|
|
{
|
|||
|
|
GuideEntries = guideEntries;
|
|||
|
|
Removed = removed;
|
|||
|
|
}
|
|||
|
|
}
|