using Content.Shared.Construction.Components; using Content.Shared.Stacks; using Content.Shared.Tag; using Robust.Shared.Containers; using Robust.Shared.Prototypes; namespace Content.Server.Construction.Components { [RegisterComponent] public sealed partial class MachineFrameComponent : Component { public const string PartContainerName = "machine_parts"; public const string BoardContainerName = "machine_board"; [ViewVariables] public bool HasBoard => BoardContainer?.ContainedEntities.Count != 0; [ViewVariables] public readonly Dictionary, int> MaterialProgress = new(); [ViewVariables] public readonly Dictionary ComponentProgress = new(); [ViewVariables] public readonly Dictionary, int> TagProgress = new(); [ViewVariables] public Dictionary, int> MaterialRequirements = new(); [ViewVariables] public Dictionary ComponentRequirements = new(); [ViewVariables] public Dictionary, GenericPartInfo> TagRequirements = new(); [ViewVariables] public Container BoardContainer = default!; [ViewVariables] public Container PartContainer = default!; } }