]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Fix playtime on player tab getting set to Unknown (#28876)
authorShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Thu, 13 Jun 2024 06:38:43 +0000 (23:38 -0700)
committerGitHub <noreply@github.com>
Thu, 13 Jun 2024 06:38:43 +0000 (23:38 -0700)
Update play time on admin panel player tab after db loads

Content.Server/Administration/Systems/AdminSystem.cs
Content.Server/Players/PlayTimeTracking/PlayTimeTrackingManager.cs

index e5b6e9c3eaa089c9f2954a24021cc0cf4c41a2f2..16c079e4ba1d234927074855ce793d91439b6a81 100644 (file)
@@ -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);
+        }
     }
 }
index bc2f891c72537ae9f105d82ebe046ac0b8065119..381be45f95de7d7d70ad78f60325f79518003132 100644 (file)
@@ -81,6 +81,8 @@ public sealed class PlayTimeTrackingManager : ISharedPlaytimeManager, IPostInjec
 
     public event CalcPlayTimeTrackersCallback? CalcTrackers;
 
+    public event Action<ICommonSession>? SessionPlayTimeUpdated;
+
     public void Initialize()
     {
         _sawmill = Logger.GetSawmill("play_time");
@@ -217,6 +219,7 @@ public sealed class PlayTimeTrackingManager : ISharedPlaytimeManager, IPostInjec
         };
 
         _net.ServerSendMessage(msg, pSession.Channel);
+        SessionPlayTimeUpdated?.Invoke(pSession);
     }
 
     /// <summary>