diff --git a/src/Modules/LiveRankingModule/Services/LiveRankingService.cs b/src/Modules/LiveRankingModule/Services/LiveRankingService.cs index a5823540..7da1770e 100644 --- a/src/Modules/LiveRankingModule/Services/LiveRankingService.cs +++ b/src/Modules/LiveRankingModule/Services/LiveRankingService.cs @@ -26,7 +26,7 @@ public class LiveRankingService(ILogger logger, IManialinkMa public async Task OnEnableAsync() { logger.LogTrace("LiveRankingModule enabled"); - await CheckIsRoundsModeAsync(); + await CheckAndSetRoundsMode(); await HideNadeoScoreboardAsync(); if (_isRoundsMode) { @@ -51,7 +51,7 @@ public async Task OnDisableAsync() public async Task OnPlayerWaypointAsync(WayPointEventArgs args) { - await CheckIsRoundsModeAsync(); + await CheckAndSetRoundsMode(); if (_isRoundsMode) { logger.LogTrace("Player crossed a checkpoint: {ArgsAccountId} - RoundsMode: {IsRoundsMode}", @@ -89,7 +89,7 @@ public Task CalculateDiffsAsync(List rankings) public async Task OnPlayerGiveupAsync(PlayerUpdateEventArgs args) { - await CheckIsRoundsModeAsync(); + await CheckAndSetRoundsMode(); if (_isRoundsMode) { logger.LogTrace("Player gave up: {ArgsAccountId} - RoundsMode: {IsRoundsMode}", args.AccountId, @@ -105,7 +105,7 @@ await manialinkManager.SendPersistentManialinkAsync("LiveRankingModule.LiveRanki public async Task OnBeginMapAsync(MapEventArgs args) { logger.LogTrace("Map starts: {MapName}, IsRounds: {IsRoundsMode}", args.Map.Name, _isRoundsMode); - await CheckIsRoundsModeAsync(); + await CheckAndSetRoundsMode(); if (!_isRoundsMode) { await Task.CompletedTask; @@ -121,7 +121,7 @@ public async Task OnBeginMapAsync(MapEventArgs args) public async Task OnEndMapAsync(MapEventArgs args) { - await CheckIsRoundsModeAsync(); + await CheckAndSetRoundsMode(); logger.LogTrace("Map ends: {MapName} - RoundsMode: {IsRoundsMode}", args.Map.Name, _isRoundsMode); if (_isRoundsMode) { @@ -175,7 +175,7 @@ public async Task OnEndMatchAsync(EndMatchGbxEventArgs args) public async Task OnPodiumStartAsync(PodiumEventArgs args) { - await CheckIsRoundsModeAsync(); + await CheckAndSetRoundsMode(); await HideManialinkAsync(); } @@ -242,15 +242,14 @@ private LiveRankingWidgetPosition RankingToTime(ExpandedLiveRankingPosition rank ranking.CheckpointIndex + 1, ranking.IsFinish); } - private Task CheckIsRoundsModeAsync() + private async Task CheckAndSetRoundsMode() { List validModes = new List { "Trackmania/TM_Rounds_Online.Script.txt", "Trackmania/TM_Cup_Online.Script.txt" }; - //TODO: https://github.com/EvoEsports/EvoSC-sharp/issues/234 - _isRoundsMode = true; - return Task.FromResult(_isRoundsMode); + var scriptInfo = await client.Remote.GetModeScriptInfoAsync(); + _isRoundsMode = validModes.Contains(scriptInfo.Name); } public MatchInfo GetMatchInfo()