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;
}