Combine GoldenArgosyWatcher's function into CrewedVehicleWatcher to reduce duplicated code. Also refactor getCrewers to remove usage of deprecated MOR constructor.

This commit is contained in:
Grath 2024-09-08 12:45:36 -04:00
parent cbec029622
commit 624cb3fc30
2 changed files with 18 additions and 49 deletions

View file

@ -8,6 +8,7 @@ import mage.game.permanent.Permanent;
import mage.watchers.Watcher;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author TheElk801
@ -52,4 +53,16 @@ public class CrewedVehicleWatcher extends Watcher {
.getOrDefault(new MageObjectReference(vehicle, game), Collections.emptySet())
.size();
}
public static Set<Permanent> getCrewers(Permanent vehicle, Game game) {
return game
.getState()
.getWatcher(CrewedVehicleWatcher.class)
.crewMap
.getOrDefault(new MageObjectReference(vehicle, game), Collections.emptySet())
.stream()
.map(mor -> mor.getPermanent(game))
.filter(Objects::nonNull)
.collect(Collectors.toSet());
}
}