Remove ForceFullUpdate, rework entity lifecycle, move skill selection to round end

This commit is contained in:
ByDexter 2026-07-12 16:52:57 +03:00
parent a5c0e3ca4b
commit 4b42670804
8 changed files with 251 additions and 216 deletions

View file

@ -17,6 +17,13 @@ namespace src.player
UpdateGameRules();
if (Server.TickCount % 2 != 0) return;
if (PerfLog.Enabled && Server.TickCount % 1920 == 0)
{
int server = Utilities.GetAllEntities().Count(e => e != null && e.IsValid);
var (tracked, owners) = EntityManager.GetStatistics();
PerfLog.Info($"ENTITIES server={server} tracked={tracked} owners={owners}");
}
long perfStart = PerfLog.Start();
foreach (var player in Utilities.GetPlayers())
{
@ -39,6 +46,8 @@ namespace src.player
private static void OnMapEnd()
{
PerfLog.Info("===== MAP END (clean map change) =====");
Debug.WriteToDebug("===== MAP END (clean map change) =====");
BotManager.Stop();
}
@ -63,6 +72,10 @@ namespace src.player
{
if (player == null || !player.IsValid || player.IsBot) return;
// No skill HUD during warmup or after the match ended.
var gameRules = Instance?.GameRules;
if (gameRules == null || gameRules.WarmupPeriod == true || gameRules.GamePhase >= 5) return;
var skillPlayer = PlayerManager.GetPlayerByIndex(PlayerManager.GetPlayerEvent(player)?.Index ?? player.Index);
if (skillPlayer == null || !skillPlayer.DisplayHUD) return;