public class MasterBoardTerrain extends java.lang.Object implements java.lang.Comparable<MasterBoardTerrain>
MasterHex
class.
Battle land information could probably split out into another class, which could then
be immutable.Modifier and Type | Field and Description |
---|---|
private java.util.Set<MasterBoardTerrain> |
aliases
The other MasterBoardTerrain using the same recruit tree
|
private BattleHex[][] |
battleHexes |
private java.awt.Color |
color |
private java.lang.String |
displayName
The name displayed on the Masterboard.
|
private BattleHex[] |
entrances |
private java.util.Map<HazardTerrain,java.lang.Integer> |
hazardNumberMap |
private java.util.Map<java.lang.Character,java.lang.Integer> |
hazardSideNumberMap |
private java.util.Map<HazardHexside,java.lang.Integer> |
hexsideHazardNumberMap |
private java.lang.String |
id
The (unique) identifier of this terrain.
|
private boolean |
isAlias
Whether this terrain uses another Terrain recruit tree.
|
private boolean |
isTower
Whether this is a Tower-like building, with regards to starting the
game, not recruiting or defender entering in a non-default location on
the Battlemap.
|
private static java.util.logging.Logger |
LOGGER |
(package private) IRecruiting |
recruitingSubTree
The recruiting tree of this terrain
|
private java.util.List<java.lang.String> |
startList
TODO this should be a List
|
private java.lang.String |
subtitle
Subtitle, for the Battlelands.
|
Constructor and Description |
---|
MasterBoardTerrain(java.lang.String id,
java.lang.String displayName,
java.awt.Color color) |
MasterBoardTerrain(java.lang.String id,
java.lang.String displayName,
java.awt.Color color,
boolean isAlias) |
Modifier and Type | Method and Description |
---|---|
void |
addAlias(MasterBoardTerrain t) |
int |
compareTo(MasterBoardTerrain m) |
boolean |
equals(java.lang.Object obj) |
java.util.Set<MasterBoardTerrain> |
getAliases() |
java.awt.Color |
getColor() |
java.lang.String |
getDisplayName() |
BattleHex |
getEntrance(EntrySide entrySide) |
int |
getHazardCount(HazardTerrain terrain) |
int |
getHazardHexsideCount(HazardHexside hazard) |
int |
getHazardSideCount(char hazardSide) |
BattleHex |
getHexByLabel(java.lang.String label)
Look for the Hex matching the Label in this terrain.
|
java.lang.String |
getId() |
IRecruiting |
getRecruitingSubTree() |
java.util.List<java.lang.String> |
getStartList() |
java.lang.String |
getSubtitle() |
int |
hashCode() |
boolean |
hasNativeCombatBonus(CreatureType creature) |
boolean |
hasStartList() |
boolean |
isAlias() |
boolean |
isTower() |
void |
setHazardNumberMap(java.util.Map<HazardTerrain,java.lang.Integer> hazardNumberMap) |
void |
setHazardSideNumberMap(java.util.Map<java.lang.Character,java.lang.Integer> hazardSideNumberMap) |
void |
setHexsideHazardNumberMap(java.util.Map<HazardHexside,java.lang.Integer> hexsideHazardNumberMap) |
void |
setRecruitingSubTree(IRecruiting rst) |
void |
setStartList(java.util.List<java.lang.String> startList) |
void |
setSubtitle(java.lang.String s) |
void |
setTower(boolean isTower) |
private void |
setupEntrances() |
private void |
setupHexArrays() |
private void |
setupHexesGameState()
Add terrain, hexsides, elevation, and exits to hexes.
|
private void |
setupNeighbors()
Add references to neighbor hexes.
|
private static final java.util.logging.Logger LOGGER
private final java.lang.String id
private final java.lang.String displayName
private java.lang.String subtitle
private final java.awt.Color color
private java.util.List<java.lang.String> startList
private boolean isTower
private java.util.Map<HazardTerrain,java.lang.Integer> hazardNumberMap
private java.util.Map<java.lang.Character,java.lang.Integer> hazardSideNumberMap
private java.util.Map<HazardHexside,java.lang.Integer> hexsideHazardNumberMap
private final java.util.Set<MasterBoardTerrain> aliases
private final boolean isAlias
private final BattleHex[][] battleHexes
private final BattleHex[] entrances
IRecruiting recruitingSubTree
public MasterBoardTerrain(java.lang.String id, java.lang.String displayName, java.awt.Color color, boolean isAlias)
public MasterBoardTerrain(java.lang.String id, java.lang.String displayName, java.awt.Color color)
private void setupHexArrays()
private void setupEntrances()
private void setupNeighbors()
private void setupHexesGameState()
public BattleHex getHexByLabel(java.lang.String label)
public void setRecruitingSubTree(IRecruiting rst)
public IRecruiting getRecruitingSubTree()
public int compareTo(MasterBoardTerrain m)
compareTo
in interface java.lang.Comparable<MasterBoardTerrain>
public void addAlias(MasterBoardTerrain t)
public boolean isAlias()
public java.util.Set<MasterBoardTerrain> getAliases()
public java.lang.String getId()
public java.lang.String getDisplayName()
public java.lang.String getSubtitle()
public void setSubtitle(java.lang.String s)
public java.awt.Color getColor()
public boolean hasNativeCombatBonus(CreatureType creature)
public void setStartList(java.util.List<java.lang.String> startList)
public java.util.List<java.lang.String> getStartList()
public void setTower(boolean isTower)
public boolean isTower()
public boolean hasStartList()
public void setHazardNumberMap(java.util.Map<HazardTerrain,java.lang.Integer> hazardNumberMap)
public int getHazardCount(HazardTerrain terrain)
public void setHazardSideNumberMap(java.util.Map<java.lang.Character,java.lang.Integer> hazardSideNumberMap)
public int getHazardSideCount(char hazardSide)
public void setHexsideHazardNumberMap(java.util.Map<HazardHexside,java.lang.Integer> hexsideHazardNumberMap)
public int getHazardHexsideCount(HazardHexside hazard)
public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object