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;
_playerManager.PlayerStatusChanged += OnPlayerStatusChanged;
_adminManager.OnPermsChanged += OnAdminPermsChanged;
+ _playTime.SessionPlayTimeUpdated += OnSessionPlayTimeUpdated;
// Panic Bunker Settings
Subs.CVar(_config, CCVars.PanicBunkerEnabled, OnPanicBunkerChanged, true);
base.Shutdown();
_playerManager.PlayerStatusChanged -= OnPlayerStatusChanged;
_adminManager.OnPermsChanged -= OnAdminPermsChanged;
+ _playTime.SessionPlayTimeUpdated -= OnSessionPlayTimeUpdated;
}
private void OnPlayerStatusChanged(object? sender, SessionStatusEventArgs e)
_gameTicker.SpawnObserver(player);
}
+
+ private void OnSessionPlayTimeUpdated(ICommonSession session)
+ {
+ UpdatePlayerList(session);
+ }
}
}
public event CalcPlayTimeTrackersCallback? CalcTrackers;
+ public event Action<ICommonSession>? SessionPlayTimeUpdated;
+
public void Initialize()
{
_sawmill = Logger.GetSawmill("play_time");
};
_net.ServerSendMessage(msg, pSession.Channel);
+ SessionPlayTimeUpdated?.Invoke(pSession);
}
/// <summary>