From c15f66aa62be9af675bccb9e0813dd035da5525e Mon Sep 17 00:00:00 2001 From: teinarss Date: Sun, 28 Jul 2019 12:15:42 +0200 Subject: [PATCH] PlayerStatistics should stop ticking after lost/win --- .../Traits/Player/PlayerStatistics.cs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/OpenRA.Mods.Common/Traits/Player/PlayerStatistics.cs b/OpenRA.Mods.Common/Traits/Player/PlayerStatistics.cs index 0b6e7f46cf..d6403981d4 100644 --- a/OpenRA.Mods.Common/Traits/Player/PlayerStatistics.cs +++ b/OpenRA.Mods.Common/Traits/Player/PlayerStatistics.cs @@ -45,10 +45,10 @@ namespace OpenRA.Mods.Common.Traits } } - public Queue EarnedSamples = new Queue(100); + public List EarnedSamples = new List(100); int earnedAtBeginningOfMinute; - public Queue ArmySamples = new Queue(100); + public List ArmySamples = new List(100); public int KillsCost; public int DeathsCost; @@ -73,22 +73,22 @@ namespace OpenRA.Mods.Common.Traits void UpdateEarnedThisMinute() { - EarnedSamples.Enqueue(EarnedThisMinute); + EarnedSamples.Add(EarnedThisMinute); earnedAtBeginningOfMinute = resources != null ? resources.Earned : 0; - if (EarnedSamples.Count > 100) - EarnedSamples.Dequeue(); } void UpdateArmyThisMinute() { - ArmySamples.Enqueue(ArmyValue); - if (ArmySamples.Count > 100) - ArmySamples.Dequeue(); + ArmySamples.Add(ArmyValue); } void ITick.Tick(Actor self) { + if (self.Owner.WinState != WinState.Undefined) + return; + ticks++; + var timestep = self.World.IsReplay ? replayTimestep : self.World.Timestep; if (ticks * timestep >= 60000)