using Robust.Shared.Containers; namespace Content.Shared.Construction.Components; /// /// This is used for construction which requires a set of /// entities with specific tags to be inserted into another entity. /// todo: in a pr that isn't 6k loc, combine this with MechAssemblyComponent /// [RegisterComponent] public sealed partial class PartAssemblyComponent : Component { /// /// A dictionary of a set of parts to a list of tags for each assembly. /// [DataField("parts", required: true)] public Dictionary> Parts = new(); /// /// The entry in that is currently being worked on. /// [DataField("currentAssembly")] public string? CurrentAssembly; /// /// The container where the parts are stored /// [DataField("containerId")] public string ContainerId = "part-container"; /// /// The container that stores all of the parts when /// they're being assembled. /// [ViewVariables] public Container PartsContainer = default!; } /// /// Event raised when a valid part is inserted into the part assembly. /// public sealed class PartAssemblyPartInsertedEvent { }