using Content.Shared.Chemistry.EntitySystems; using Robust.Shared.Containers; using Robust.Shared.GameStates; namespace Content.Shared.Chemistry.Components.SolutionManager; /// /// A map of the solution entities contained within this entity. /// Every solution entity this maps should have a to track its state and a to track its container. /// [RegisterComponent, NetworkedComponent, AutoGenerateComponentState] [Access(typeof(SharedSolutionContainerSystem))] public sealed partial class SolutionContainerManagerComponent : Component { /// /// The default amount of space that will be allocated for solutions in solution containers. /// Most solution containers will only contain 1-2 solutions. /// public const int DefaultCapacity = 2; /// /// The names of each solution container attached to this entity. /// Actually accessing them must be done via . /// [DataField, AutoNetworkedField] public HashSet Containers = new(DefaultCapacity); /// /// The set of solutions to load onto this entity during mapinit. /// /// /// Should be null after mapinit. /// [DataField, AutoNetworkedField] public Dictionary? Solutions = null; }