Fix playtime on player tab getting set to Unknown (#28876)

Update play time on admin panel player tab after db loads
This commit is contained in:
ShadowCommander
2024-07-05 20:27:59 +02:00
committed by null
parent 1259d2117f
commit db8bc652f1
2 changed files with 10 additions and 1 deletions
@@ -4,7 +4,6 @@ using Content.Server.Chat.Managers;
using Content.Server.Forensics;
using Content.Server.GameTicking;
using Content.Server.Hands.Systems;
using Content.Server.IdentityManagement;
using Content.Server.Mind;
using Content.Server.Players.PlayTimeTracking;
using Content.Server.Popups;
@@ -70,6 +69,7 @@ namespace Content.Server.Administration.Systems
_playerManager.PlayerStatusChanged += OnPlayerStatusChanged;
_adminManager.OnPermsChanged += OnAdminPermsChanged;
_playTime.SessionPlayTimeUpdated += OnSessionPlayTimeUpdated;
// Panic Bunker Settings
Subs.CVar(_config, CCVars.PanicBunkerEnabled, OnPanicBunkerChanged, true);
@@ -200,6 +200,7 @@ namespace Content.Server.Administration.Systems
base.Shutdown();
_playerManager.PlayerStatusChanged -= OnPlayerStatusChanged;
_adminManager.OnPermsChanged -= OnAdminPermsChanged;
_playTime.SessionPlayTimeUpdated -= OnSessionPlayTimeUpdated;
}
private void OnPlayerStatusChanged(object? sender, SessionStatusEventArgs e)
@@ -446,5 +447,10 @@ namespace Content.Server.Administration.Systems
_gameTicker.SpawnObserver(player);
}
private void OnSessionPlayTimeUpdated(ICommonSession session)
{
UpdatePlayerList(session);
}
}
}
@@ -82,6 +82,8 @@ public sealed partial class PlayTimeTrackingManager : ISharedPlaytimeManager, IP
public event CalcPlayTimeTrackersCallback? CalcTrackers;
public event Action<ICommonSession>? SessionPlayTimeUpdated;
public void Initialize()
{
_sawmill = Logger.GetSawmill("play_time");
@@ -225,6 +227,7 @@ public sealed partial class PlayTimeTrackingManager : ISharedPlaytimeManager, IP
};
_net.ServerSendMessage(msg, pSession.Channel);
SessionPlayTimeUpdated?.Invoke(pSession);
}
/// <summary>