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
}