using Content.Shared._NF.Roles.Systems; using Content.Shared.GameTicking; using Content.Shared.Roles; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; namespace Content.Shared._NF.Roles.Components; /// /// This denotes an entity with a job. /// As opposed to MindRoleComponent, which is for OOC role tracking (by player) /// This can be used for IC role tracking (by in-game character) /// [RegisterComponent, NetworkedComponent, AutoGenerateComponentState] [Access(typeof(SharedJobTrackingSystem), typeof(SharedGameTicker))] public sealed partial class JobTrackingComponent : Component { /// /// The station this entity spawned in on. /// If they enter cryo, a slot will be reopened if there are fewer open slots than there are empty default slots. /// [DataField(serverOnly: true)] public EntityUid SpawnStation; /// /// The job this entity holds. See above. /// [DataField, AutoNetworkedField] public ProtoId? Job; /// /// If true, this entity is holding an active job slot. /// [DataField(serverOnly: true)] public bool Active; }