// SPDX-FileCopyrightText: 2025 GoobBot // SPDX-FileCopyrightText: 2025 deltanedas <@deltanedas:kde.org> // // SPDX-License-Identifier: AGPL-3.0-or-later using Content.Shared.Construction.Prototypes; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; using Robust.Shared.Serialization; namespace Content.Shared._Goobstation.Factory; /// /// Machine that starts constructions. /// Multi-step objects will need interactors to complete their steps. /// [RegisterComponent, NetworkedComponent, Access(typeof(SharedConstructorSystem))] [AutoGenerateComponentState] public sealed partial class ConstructorComponent : Component { /// /// The construction it will try to build when start is invoked. /// [DataField, AutoNetworkedField] public ProtoId? Construction; } [Serializable, NetSerializable] public enum ConstructorUiKey : byte { Key } [Serializable, NetSerializable] public sealed class ConstructorSetProtoMessage(ProtoId? id) : BoundUserInterfaceMessage { public ProtoId? Id = id; }