package games.strategy.triplea.ai.proAI.data; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; import games.strategy.engine.data.GameData; import games.strategy.engine.data.Territory; import games.strategy.engine.data.Unit; public class ProTransport { private Unit transport; private Map<Territory, Set<Territory>> transportMap; private Map<Territory, Set<Territory>> seaTransportMap; public ProTransport(final Unit transport) { this.transport = transport; transportMap = new HashMap<>(); seaTransportMap = new HashMap<>(); } public void addTerritories(final Set<Territory> attackTerritories, final Set<Territory> myUnitsToLoadTerritories) { for (final Territory attackTerritory : attackTerritories) { if (transportMap.containsKey(attackTerritory)) { transportMap.get(attackTerritory).addAll(myUnitsToLoadTerritories); } else { final Set<Territory> territories = new HashSet<>(); territories.addAll(myUnitsToLoadTerritories); transportMap.put(attackTerritory, territories); } } } public void addSeaTerritories(final Set<Territory> attackTerritories, final Set<Territory> myUnitsToLoadTerritories, final GameData data) { for (final Territory attackTerritory : attackTerritories) { if (seaTransportMap.containsKey(attackTerritory)) { seaTransportMap.get(attackTerritory).addAll(myUnitsToLoadTerritories); } else { final Set<Territory> territories = new HashSet<>(); territories.addAll(myUnitsToLoadTerritories); seaTransportMap.put(attackTerritory, territories); } } } public void setTransport(final Unit transport) { this.transport = transport; } public Unit getTransport() { return transport; } public void setTransportMap(final Map<Territory, Set<Territory>> transportMap) { this.transportMap = transportMap; } public Map<Territory, Set<Territory>> getTransportMap() { return transportMap; } public void setSeaTransportMap(final Map<Territory, Set<Territory>> seaTransportMap) { this.seaTransportMap = seaTransportMap; } public Map<Territory, Set<Territory>> getSeaTransportMap() { return seaTransportMap; } }