using Content.Shared.Roles; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; using System.Numerics; namespace Content.Shared._NF.Roles.Components; /// /// Holds data pertaining to interview holograms /// [RegisterComponent, NetworkedComponent, AutoGenerateComponentState] public sealed partial class InterviewHologramComponent : Component { #region Hologram /// /// Name of the shader to use /// [DataField] public string ShaderName = string.Empty; /// /// The primary color /// [DataField] public Color Color1 = Color.White; /// /// The secondary color /// [DataField] public Color Color2 = Color.White; /// /// The shared color alpha /// [DataField] public float Alpha = 1f; /// /// The color brightness /// [DataField] public float Intensity = 1f; /// /// The scroll rate of the hologram shader /// [DataField] public float ScrollRate = 1f; /// /// The sprite offset /// [DataField] public Vector2 Offset = new Vector2(); /// /// True if a character appearance has been applied to this entity. /// [DataField(serverOnly: true)] public bool AppearanceApplied; #endregion Hologram #region Interview /// /// The job this user is applying for. /// [DataField] public EntityUid Station; /// /// The job this user is applying for. /// [DataField(required: true)] public ProtoId Job; /// /// True if the hologram user has approved this job. /// [DataField, AutoNetworkedField] public bool ApplicantApproved; /// /// True if the captain has approved this job. /// [DataField, AutoNetworkedField] public bool CaptainApproved; /// /// True if a character appearance has been applied to this entity. /// [DataField(serverOnly: true)] public bool NotificationsSent; #endregion Interview #region Actions [DataField] public EntProtoId ToggleApprovalAction = "ActionInterviewToggleApproval"; [DataField, AutoNetworkedField] public EntityUid? ToggleApprovalActionEntity; [DataField] public EntProtoId CancelApplicationAction = "ActionInterviewCancel"; [DataField, AutoNetworkedField] public EntityUid? CancelApplicationActionEntity; #endregion Actions }