package games.strategy.triplea.ai.proAI.data;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import games.strategy.engine.data.Territory;
import games.strategy.engine.data.Unit;
public class ProMyMoveOptions {
private final Map<Territory, ProTerritory> territoryMap;
private final Map<Unit, Set<Territory>> unitMoveMap;
private final Map<Unit, Set<Territory>> transportMoveMap;
private final Map<Unit, Set<Territory>> bombardMap;
private final List<ProTransport> transportList;
private final Map<Unit, Set<Territory>> bomberMoveMap;
public ProMyMoveOptions() {
territoryMap = new HashMap<>();
unitMoveMap = new HashMap<>();
transportMoveMap = new HashMap<>();
bombardMap = new HashMap<>();
transportList = new ArrayList<>();
bomberMoveMap = new HashMap<>();
}
public ProMyMoveOptions(final ProMyMoveOptions myMoveOptions) {
this();
for (final Territory t : myMoveOptions.territoryMap.keySet()) {
territoryMap.put(t, new ProTerritory(myMoveOptions.territoryMap.get(t)));
}
unitMoveMap.putAll(myMoveOptions.unitMoveMap);
transportMoveMap.putAll(myMoveOptions.transportMoveMap);
bombardMap.putAll(myMoveOptions.bombardMap);
transportList.addAll(myMoveOptions.transportList);
bomberMoveMap.putAll(myMoveOptions.bomberMoveMap);
}
public Map<Territory, ProTerritory> getTerritoryMap() {
return territoryMap;
}
public Map<Unit, Set<Territory>> getUnitMoveMap() {
return unitMoveMap;
}
public Map<Unit, Set<Territory>> getTransportMoveMap() {
return transportMoveMap;
}
public Map<Unit, Set<Territory>> getBombardMap() {
return bombardMap;
}
public List<ProTransport> getTransportList() {
return transportList;
}
public Map<Unit, Set<Territory>> getBomberMoveMap() {
return bomberMoveMap;
}
}