//TODO make this adjustable via GUI
var classic = _config.GetCVar(CCVars.AdminOverlayClassic);
+ var playTime = _config.GetCVar(CCVars.AdminOverlayPlaytime);
+ var startingJob = _config.GetCVar(CCVars.AdminOverlayStartingJob);
foreach (var playerInfo in _system.PlayerList)
{
new Angle(-_eyeManager.CurrentEye.Rotation).RotateVec(
aabb.TopRight - aabb.Center)) + new Vector2(1f, 7f);
+ var currentOffset = Vector2.Zero;
+
+ args.ScreenHandle.DrawString(_font, screenCoordinates + currentOffset, playerInfo.Username, uiScale, playerInfo.Connected ? Color.Yellow : Color.White);
+ currentOffset += lineoffset;
+
+ args.ScreenHandle.DrawString(_font, screenCoordinates + currentOffset, playerInfo.CharacterName, uiScale, playerInfo.Connected ? Color.Aquamarine : Color.White);
+ currentOffset += lineoffset;
+
+ if (!string.IsNullOrEmpty(playerInfo.PlaytimeString) && playTime)
+ {
+ args.ScreenHandle.DrawString(_font, screenCoordinates + currentOffset, playerInfo.PlaytimeString, uiScale, playerInfo.Connected ? Color.Orange : Color.White);
+ currentOffset += lineoffset;
+ }
+
+ if (!string.IsNullOrEmpty(playerInfo.StartingJob) && startingJob)
+ {
+ args.ScreenHandle.DrawString(_font, screenCoordinates + currentOffset, Loc.GetString(playerInfo.StartingJob), uiScale, playerInfo.Connected ? Color.GreenYellow : Color.White);
+ currentOffset += lineoffset;
+ }
+
if (classic && playerInfo.Antag)
{
- args.ScreenHandle.DrawString(_font, screenCoordinates + (lineoffset * 2), _antagLabelClassic, uiScale, _antagColorClassic);
+ args.ScreenHandle.DrawString(_font, screenCoordinates + currentOffset, _antagLabelClassic, uiScale, Color.OrangeRed);
+ currentOffset += lineoffset;
}
else if (!classic && _filter.Contains(playerInfo.RoleProto))
{
- var label = Loc.GetString(playerInfo.RoleProto.Name).ToUpper();
- var color = playerInfo.RoleProto.Color;
+ var label = Loc.GetString(playerInfo.RoleProto.Name).ToUpper();
+ var color = playerInfo.RoleProto.Color;
- args.ScreenHandle.DrawString(_font, screenCoordinates + (lineoffset * 2), label, uiScale, color);
+ args.ScreenHandle.DrawString(_font, screenCoordinates + currentOffset, label, uiScale, color);
+ currentOffset += lineoffset;
}
-
- args.ScreenHandle.DrawString(_font, screenCoordinates + lineoffset, playerInfo.Username, uiScale, playerInfo.Connected ? Color.Yellow : Color.White);
- args.ScreenHandle.DrawString(_font, screenCoordinates, playerInfo.CharacterName, uiScale, playerInfo.Connected ? Color.Aquamarine : Color.White);
}
}
}
/// </summary>
public static readonly CVarDef<bool> AdminOverlayClassic =
CVarDef.Create("ui.admin_overlay_classic", false, CVar.CLIENTONLY | CVar.ARCHIVE);
+
+ /// <summary>
+ /// If true, the admin overlay will display the total time of the players
+ /// </summary>
+ public static readonly CVarDef<bool> AdminOverlayPlaytime =
+ CVarDef.Create("ui.admin_overlay_playtime", false, CVar.CLIENTONLY | CVar.ARCHIVE);
+
+ /// <summary>
+ /// If true, the admin overlay will display the players starting position.
+ /// </summary>
+ public static readonly CVarDef<bool> AdminOverlayStartingJob =
+ CVarDef.Create("ui.admin_overlay_starting_job", false, CVar.CLIENTONLY | CVar.ARCHIVE);
}