mirror of
https://github.com/space-syndicate/space-station-14.git
synced 2026-10-09 10:21:18 +03:00
42 lines
1.1 KiB
C#
42 lines
1.1 KiB
C#
using Content.Shared.Chemistry.Reagent;
|
|
using Robust.Shared.Serialization;
|
|
|
|
namespace Content.Shared.Chemistry;
|
|
|
|
/// <summary>
|
|
/// This handles the chemistry guidebook and caching it.
|
|
/// </summary>
|
|
public abstract partial class SharedChemistryGuideDataSystem : EntitySystem
|
|
{
|
|
protected readonly Dictionary<string, ReagentGuideEntry> Registry = new();
|
|
|
|
public IReadOnlyDictionary<string, ReagentGuideEntry> ReagentGuideRegistry => Registry;
|
|
|
|
// Only ran on the server
|
|
public abstract void ReloadAllReagentPrototypes();
|
|
}
|
|
|
|
[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;
|
|
}
|
|
}
|