Skip to content

Commit a6402dd

Browse files
v1.1.16 - Fixed null exception when feedback message received when no round end events or no freezetime end events occurred
1 parent 2098834 commit a6402dd

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

TopStatsWaffle.Tests/TopStatsWaffleTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -437,7 +437,7 @@ public void Should_return_version_number_correctly()
437437
AllStats allStats = MatchData.CreateFiles(ProcessedData, false);
438438

439439
// Assess
440-
allStats.versionNumber.Version.ShouldBe("1.1.15");
440+
allStats.versionNumber.Version.ShouldBe("1.1.16");
441441
}
442442

443443
[Fact]

TopStatsWaffle/DemoProcessor.cs

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -274,11 +274,15 @@ public static MatchData FromDemoFile(string file, bool parseChickens, bool lowOu
274274

275275
string setPosCurrentPosition = GenerateSetPosCommand(currentPositions, player?.ViewDirectionX, player?.ViewDirectionY);
276276

277-
var roundsEndedEvents = md.events.Where(k => k.Key.Name.ToString() == "RoundEndedEventArgs").Select(v => v.Value);
278-
var freezetimesEndedEvents = md.events.Where(k => k.Key.Name.ToString() == "FreezetimeEndedEventArgs").Select(v => v.Value).ElementAt(0);
277+
var roundsEndedEvents = md.events.Any(k => k.Key.Name.ToString() == "RoundEndedEventArgs")
278+
? md.events.Where(k => k.Key.Name.ToString() == "RoundEndedEventArgs").Select(v => v.Value).ElementAt(0)
279+
: null;
280+
var freezetimesEndedEvents = md.events.Any(k => k.Key.Name.ToString() == "FreezetimeEndedEventArgs")
281+
? md.events.Where(k => k.Key.Name.ToString() == "FreezetimeEndedEventArgs").Select(v => v.Value).ElementAt(0)
282+
: null;
279283

280-
int numOfRoundsEnded = roundsEndedEvents.Count() > 0 ? roundsEndedEvents.ElementAt(0).Count() : 0;
281-
int numOfFreezetimesEnded = freezetimesEndedEvents.Count();
284+
int numOfRoundsEnded = roundsEndedEvents?.Count() > 0 ? roundsEndedEvents.Count() : 0;
285+
int numOfFreezetimesEnded = freezetimesEndedEvents?.Count() > 0 ? freezetimesEndedEvents.Count() : 0;
282286

283287
float timeInRound = 0; // Stays as '0' if sent during freezetime
284288
if (numOfFreezetimesEnded > numOfRoundsEnded)
@@ -676,7 +680,7 @@ public DataAndPlayerNames GetDataAndPlayerNames(ProcessedData processedData)
676680

677681
public versionNumber GetVersionNumber()
678682
{
679-
return new versionNumber() { Version = "1.1.15" };
683+
return new versionNumber() { Version = "1.1.16" };
680684
}
681685

682686
public List<string> GetSupportedGamemodes()

0 commit comments

Comments
 (0)