Add job column to PlayerTab (#6181)

This commit is contained in:
ShadowCommander
2022-01-15 05:17:33 -08:00
committed by GitHub
parent d1a033644b
commit a3c1d8f22a
5 changed files with 20 additions and 6 deletions

View File

@@ -51,6 +51,7 @@ namespace Content.Client.Administration.UI.Tabs.PlayerTab
PlayerList.AddChild(new PlayerTabEntry("Username",
"Character",
"Job",
"Antagonist",
new StyleBoxFlat(altColor),
true));
@@ -61,6 +62,7 @@ namespace Content.Client.Administration.UI.Tabs.PlayerTab
{
var entry = new PlayerTabEntry(player.Username,
player.CharacterName,
player.StartingJob,
player.Antag ? "YES" : "NO",
new StyleBoxFlat(useAltColor ? altColor : defaultColor),
player.Connected);

View File

@@ -6,12 +6,17 @@
HorizontalExpand="True"
SeparationOverride="4">
<Label Name="UsernameLabel"
SizeFlagsStretchRatio="2"
SizeFlagsStretchRatio="3"
HorizontalExpand="True"
ClipText="True"/>
<customControls:VSeparator/>
<Label Name="CharacterLabel"
SizeFlagsStretchRatio="2"
SizeFlagsStretchRatio="3"
HorizontalExpand="True"
ClipText="True"/>
<customControls:VSeparator/>
<Label Name="JobLabel"
SizeFlagsStretchRatio="3"
HorizontalExpand="True"
ClipText="True"/>
<customControls:VSeparator/>

View File

@@ -11,13 +11,14 @@ public partial class PlayerTabEntry : ContainerButton
{
public EntityUid? PlayerUid;
public PlayerTabEntry(string username, string character, string antagonist, StyleBox styleBox, bool connected)
public PlayerTabEntry(string username, string character, string job, string antagonist, StyleBox styleBox, bool connected)
{
RobustXamlLoader.Load(this);
UsernameLabel.Text = username;
if (!connected)
UsernameLabel.StyleClasses.Add("Disabled");
JobLabel.Text = job;
CharacterLabel.Text = character;
AntagonistLabel.Text = antagonist;
BackgroundColorPanel.PanelOverride = styleBox;

View File

@@ -1,4 +1,5 @@
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using Content.Server.Administration.Managers;
using Content.Server.Players;
@@ -112,11 +113,16 @@ namespace Content.Server.Administration
if (session.AttachedEntity != null)
username = EntityManager.GetComponent<MetaDataComponent>(session.AttachedEntity.Value).EntityName;
var antag = session.ContentData()?.Mind?.AllRoles.Any(r => r.Antagonist) ?? false;
var mind = session.ContentData()?.Mind;
var job = mind?.AllRoles.FirstOrDefault(role => role is Job);
var startingRole = job != null ? CultureInfo.CurrentCulture.TextInfo.ToTitleCase(job.Name) : string.Empty;
var antag = mind?.AllRoles.Any(r => r.Antagonist) ?? false;
var connected = session.Status is SessionStatus.Connected or SessionStatus.InGame;
return new PlayerInfo(name, username, antag, session.AttachedEntity.GetValueOrDefault(), session.UserId,
return new PlayerInfo(name, username, startingRole, antag, session.AttachedEntity.GetValueOrDefault(), session.UserId,
connected);
}
}

View File

@@ -6,5 +6,5 @@ using Robust.Shared.Serialization;
namespace Content.Shared.Administration
{
[Serializable, NetSerializable]
public record PlayerInfo(string Username, string CharacterName, bool Antag, EntityUid EntityUid, NetUserId SessionId, bool Connected);
public record PlayerInfo(string Username, string CharacterName, string StartingJob, bool Antag, EntityUid EntityUid, NetUserId SessionId, bool Connected);
}