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