using Content.Server.Gateway.Systems; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; namespace Content.Server.Gateway.Components; /// /// A gateway destination linked to by station gateway(s). /// [RegisterComponent, Access(typeof(GatewaySystem))] public sealed partial class GatewayDestinationComponent : Component { /// /// Whether this destination is shown in the gateway ui. /// If you are making a gateway for an admeme set this once you are ready for players to select it. /// [DataField, ViewVariables(VVAccess.ReadWrite)] public bool Enabled; /// /// Name as it shows up on the ui of station gateways. /// [DataField, ViewVariables(VVAccess.ReadWrite)] public string Name = string.Empty; /// /// Time at which this destination is ready to be linked to. /// [ViewVariables(VVAccess.ReadWrite), DataField(customTypeSerializer:typeof(TimeOffsetSerializer))] public TimeSpan NextReady; /// /// How long the portal will be open for after linking. /// [DataField, ViewVariables(VVAccess.ReadWrite)] public TimeSpan OpenTime = TimeSpan.FromSeconds(600); /// /// How long the destination is not ready for after the portal closes. /// [DataField, ViewVariables(VVAccess.ReadWrite)] public TimeSpan Cooldown = TimeSpan.FromSeconds(60); /// /// If true, the portal can be closed by alt clicking it. /// [DataField, ViewVariables(VVAccess.ReadWrite)] public bool Closeable; }