better upcoming mission filtering

This commit is contained in:
Spirtix 2025-04-18 15:18:13 +02:00
parent d9d35c47a8
commit 8e141ab43d

View File

@ -971,19 +971,18 @@ public class ContentController : Controller {
HashSet<int> upcomingMissionsSet = new(missionStore.GetUpcomingMissions(gameVersion));
var toDiscardIds = new HashSet<int>(
viking.MissionStates
.Where(x => x.MissionStatus == MissionStatus.Active ||
x.MissionStatus == MissionStatus.Completed)
.Where(x => x.MissionStatus != MissionStatus.Upcoming)
.Select(x => x.MissionId)
);
upcomingMissionsSet.ExceptWith(toDiscardIds);
var toAddIds = new HashSet<int>(
viking.MissionStates
.Where(x => x.MissionStatus == MissionStatus.Upcoming)
.Select(x => x.MissionId)
);
toAddIds.ExceptWith(upcomingMissionsSet);
upcomingMissionsSet.UnionWith(toAddIds);
upcomingMissionsSet.ExceptWith(toDiscardIds);
foreach (var missionId in upcomingMissionsSet)
result.Missions.Add(missionService.GetMissionWithProgress(missionId, viking.Id, gameVersion));