using System; using Robust.Shared.Serialization; namespace Content.Shared.Chemistry { /// /// These are the defined capabilities of a container of a solution. /// [Flags] [Serializable, NetSerializable] public enum SolutionContainerCaps { None = 0, /// /// Can solutions be added into the container? /// AddTo = 1, /// /// Can solutions be removed from the container? /// RemoveFrom = 2, /// /// Allows the container to be placed in a ReagentDispenserComponent. /// Otherwise it's considered to be too large or the improper shape to fit. /// Allows us to have obscenely large containers that are harder to abuse in chem dispensers /// since they can't be placed directly in them. /// FitsInDispenser = 4, /// /// Can people examine the solution in the container or is it impossible to see? /// CanExamine = 8, } public static class SolutionContainerCapsHelpers { public static bool HasCap(this SolutionContainerCaps cap, SolutionContainerCaps other) { return (cap & other) == other; } } }