using Robust.Shared.GameStates; using Robust.Shared.Serialization; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; namespace Content.Shared.Tools.Components; [RegisterComponent, NetworkedComponent, AutoGenerateComponentState] public sealed partial class WeldableComponent : Component { /// /// Tool quality for welding. /// [DataField("weldingQuality", customTypeSerializer: typeof(PrototypeIdSerializer))] [ViewVariables(VVAccess.ReadWrite)] public string WeldingQuality = "Welding"; /// /// How much time does it take to weld/unweld entity. /// [DataField("time")] [ViewVariables(VVAccess.ReadWrite)] [AutoNetworkedField] public TimeSpan WeldingTime = TimeSpan.FromSeconds(1f); /// /// Shown when welded entity is examined. /// [DataField("weldedExamineMessage")] [ViewVariables(VVAccess.ReadWrite)] public string? WeldedExamineMessage = "weldable-component-examine-is-welded"; /// /// Is this entity currently welded shut? /// [DataField("isWelded"), AutoNetworkedField] public bool IsWelded; } [Serializable, NetSerializable] public enum WeldableVisuals : byte { IsWelded } [Serializable, NetSerializable] public enum WeldableLayers : byte { BaseWelded }