package games.strategy.triplea.ai.proAI.data;
import java.util.ArrayList;
import java.util.List;
import games.strategy.engine.data.Territory;
import games.strategy.engine.data.Unit;
public class ProPlaceTerritory {
private Territory territory;
private List<Unit> defendingUnits;
private ProBattleResult minBattleResult;
private double defenseValue;
private double strategicValue;
private List<Unit> placeUnits;
private boolean canHold;
public ProPlaceTerritory(final Territory territory) {
this.territory = territory;
defendingUnits = new ArrayList<>();
minBattleResult = new ProBattleResult();
defenseValue = 0;
strategicValue = 0;
placeUnits = new ArrayList<>();
canHold = true;
}
@Override
public String toString() {
return territory.toString();
}
@Override
public boolean equals(final Object o) {
if (o instanceof ProPlaceTerritory) {
return ((ProPlaceTerritory) o).getTerritory().equals(territory);
}
return false;
}
@Override
public int hashCode() {
return territory.hashCode();
}
public Territory getTerritory() {
return territory;
}
public void setTerritory(final Territory territory) {
this.territory = territory;
}
public List<Unit> getDefendingUnits() {
return defendingUnits;
}
public void setDefendingUnits(final List<Unit> defendingUnits) {
this.defendingUnits = defendingUnits;
}
public double getDefenseValue() {
return defenseValue;
}
public void setDefenseValue(final double defenseValue) {
this.defenseValue = defenseValue;
}
public double getStrategicValue() {
return strategicValue;
}
public void setStrategicValue(final double strategicValue) {
this.strategicValue = strategicValue;
}
public List<Unit> getPlaceUnits() {
return placeUnits;
}
public void setPlaceUnits(final List<Unit> placeUnits) {
this.placeUnits = placeUnits;
}
public void setMinBattleResult(final ProBattleResult minBattleResult) {
this.minBattleResult = minBattleResult;
}
public ProBattleResult getMinBattleResult() {
return minBattleResult;
}
public void setCanHold(final boolean canHold) {
this.canHold = canHold;
}
public boolean isCanHold() {
return canHold;
}
}