using Content.Server._NF.PublicTransit.Prototypes; using Robust.Shared.Prototypes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; namespace Content.Server._NF.PublicTransit.Components; /// /// Added to a grid to have it act as an automated public transit bus. /// Public Transit system will add this procedurally to any grid designated as a 'bus' through the CVAR /// Mappers may add it to their shuttle if they wish, but this is going to force it's use and function as a public transit bus /// [RegisterComponent, Access(typeof(PublicTransitSystem)), AutoGenerateComponentPause] public sealed partial class TransitShuttleComponent : Component { /// /// The grid that the shuttle is either at or travelling to. /// [DataField] public EntityUid CurrentGrid; /// /// The time that the shuttle should leave for the next grid. /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] [AutoPausedField] public TimeSpan NextTransfer; /// /// The priority tag to use for docking the shuttle. /// [DataField] public string? DockTag; /// /// The prototype ID for the bus route this bus covers. /// [DataField] public ProtoId RouteId; /// /// The text to use on any screens on the bus. /// [DataField] public string? ScreenText; }