using Content.Shared.DeltaV.Shuttles.Systems; using Content.Shared.Tag; using Content.Shared.Whitelist; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; namespace Content.Shared.DeltaV.Shuttles.Components; /// /// A shuttle console that can only ftl-dock between 2 grids. /// The shuttle used must have . /// [RegisterComponent, NetworkedComponent, Access(typeof(SharedDockingConsoleSystem))] [AutoGenerateComponentState] public sealed partial class DockingConsoleComponent : Component { /// /// Title of the window to use /// [DataField(required: true)] public LocId WindowTitle; /// /// Airlock tag that it will prioritize docking to. /// [DataField(required: true)] public ProtoId DockTag; /// /// A whitelist the shuttle has to match to be piloted. /// [DataField(required: true)] public EntityWhitelist ShuttleWhitelist = new(); /// /// The shuttle that matches . /// If this is null a shuttle was not found and this console does nothing. /// [DataField] public EntityUid? Shuttle; /// /// Whether is set on the server or not. /// Client can't use Shuttle outside of PVS range so that isn't networked. /// [DataField, AutoNetworkedField] public bool HasShuttle; }