mirror of
https://github.com/SoDOff-Project/sodoff.git
synced 2025-10-11 08:18:49 -07:00
better upcoming mission filtering
This commit is contained in:
parent
d9d35c47a8
commit
8e141ab43d
@ -971,19 +971,18 @@ public class ContentController : Controller {
|
|||||||
HashSet<int> upcomingMissionsSet = new(missionStore.GetUpcomingMissions(gameVersion));
|
HashSet<int> upcomingMissionsSet = new(missionStore.GetUpcomingMissions(gameVersion));
|
||||||
var toDiscardIds = new HashSet<int>(
|
var toDiscardIds = new HashSet<int>(
|
||||||
viking.MissionStates
|
viking.MissionStates
|
||||||
.Where(x => x.MissionStatus == MissionStatus.Active ||
|
.Where(x => x.MissionStatus != MissionStatus.Upcoming)
|
||||||
x.MissionStatus == MissionStatus.Completed)
|
|
||||||
.Select(x => x.MissionId)
|
.Select(x => x.MissionId)
|
||||||
);
|
);
|
||||||
upcomingMissionsSet.ExceptWith(toDiscardIds);
|
|
||||||
|
|
||||||
var toAddIds = new HashSet<int>(
|
var toAddIds = new HashSet<int>(
|
||||||
viking.MissionStates
|
viking.MissionStates
|
||||||
.Where(x => x.MissionStatus == MissionStatus.Upcoming)
|
.Where(x => x.MissionStatus == MissionStatus.Upcoming)
|
||||||
.Select(x => x.MissionId)
|
.Select(x => x.MissionId)
|
||||||
);
|
);
|
||||||
toAddIds.ExceptWith(upcomingMissionsSet);
|
|
||||||
upcomingMissionsSet.UnionWith(toAddIds);
|
upcomingMissionsSet.UnionWith(toAddIds);
|
||||||
|
upcomingMissionsSet.ExceptWith(toDiscardIds);
|
||||||
|
|
||||||
foreach (var missionId in upcomingMissionsSet)
|
foreach (var missionId in upcomingMissionsSet)
|
||||||
result.Missions.Add(missionService.GetMissionWithProgress(missionId, viking.Id, gameVersion));
|
result.Missions.Add(missionService.GetMissionWithProgress(missionId, viking.Id, gameVersion));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user