Add tooltips to the agent ID job icons and improve status icon prototypes (#28575)

* add tooltips to agentid job icons

* forgot to stage this

* make StatusIconPrototype abstract

* minor visual improvements

* cleanup

* use currentculture to sort job names

* review
This commit is contained in:
slarticodefast
2024-08-09 08:14:07 +02:00
committed by GitHub
parent eab0c34822
commit e0d30aff4e
38 changed files with 362 additions and 236 deletions

View File

@@ -2,7 +2,7 @@ using Content.Shared.Access.Systems;
using Content.Shared.PDA;
using Content.Shared.StatusIcon;
using Robust.Shared.GameStates;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
using Robust.Shared.Prototypes;
namespace Content.Shared.Access.Components;
@@ -11,34 +11,34 @@ namespace Content.Shared.Access.Components;
[Access(typeof(SharedIdCardSystem), typeof(SharedPdaSystem), typeof(SharedAgentIdCardSystem), Other = AccessPermissions.ReadWrite)]
public sealed partial class IdCardComponent : Component
{
[DataField("fullName"), ViewVariables(VVAccess.ReadWrite)]
[DataField]
[AutoNetworkedField]
// FIXME Friends
public string? FullName;
[DataField("jobTitle")]
[DataField]
[AutoNetworkedField]
[Access(typeof(SharedIdCardSystem), typeof(SharedPdaSystem), typeof(SharedAgentIdCardSystem), Other = AccessPermissions.ReadWrite), ViewVariables(VVAccess.ReadWrite)]
[Access(typeof(SharedIdCardSystem), typeof(SharedPdaSystem), typeof(SharedAgentIdCardSystem), Other = AccessPermissions.ReadWrite)]
public string? JobTitle;
/// <summary>
/// The state of the job icon rsi.
/// </summary>
[DataField("jobIcon", customTypeSerializer: typeof(PrototypeIdSerializer<StatusIconPrototype>))]
[DataField]
[AutoNetworkedField]
public string JobIcon = "JobIconUnknown";
public ProtoId<JobIconPrototype> JobIcon = "JobIconUnknown";
/// <summary>
/// The unlocalized names of the departments associated with the job
/// </summary>
[DataField("jobDepartments")]
[DataField]
[AutoNetworkedField]
public List<LocId> JobDepartments = new();
/// <summary>
/// Determines if accesses from this card should be logged by <see cref="AccessReaderComponent"/>
/// </summary>
[DataField, ViewVariables(VVAccess.ReadWrite)]
[DataField]
public bool BypassLogging;
[DataField]