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)