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;
}