public final class LegionClientSide extends Legion implements IOracleLegion
Legion.AcquirableDecision
Modifier and Type | Field and Description |
---|---|
private static java.util.logging.Logger |
LOGGER |
private PredictSplitNode |
myNode |
angelsToAcquire, decisions, ORDER_TITAN_THEN_POINTS, ORDER_TITAN_THEN_POINTS_THEN_MARKER
Constructor and Description |
---|
LegionClientSide(Player player,
java.lang.String markerId,
MasterHex hex) |
Modifier and Type | Method and Description |
---|---|
void |
addCreature(CreatureType creature)
Add a new creature to this legion.
|
boolean |
contains(java.lang.String creatureName)
A less typesafe version of
Legion.contains(CreatureType) . |
int |
getCertainPointValue()
Return the total point value of those creatures of this legion
which are certain.
|
java.util.List<java.lang.Boolean> |
getCertainties()
Return a list of Booleans.
|
private java.util.List<java.lang.String> |
getContents()
Return an immutable copy of the legion's contents, in sorted order.
|
java.util.List<? extends Creature> |
getCreatures()
We don't use the creature list in this class yet, so we override this
to use the one from the
PredictSplitNode . |
int |
getHeight()
Returns the number of creatures in this legion.
|
java.util.List<java.lang.String> |
getImageNames()
Return a list of Strings.
|
private PredictSplitNode |
getNode() |
private PredictSplitNode |
getNode(java.lang.String markerId) |
PlayerClientSide |
getPlayer()
Retrieves the player this legion belongs to.
|
int |
getPointValue()
Return the point value of suspected contents of this legion.
|
(package private) void |
merge(Legion splitoff) |
int |
numCreature(java.lang.String creatureName)
TODO get rid of string-based version
|
int |
numUncertainCreatures() |
void |
removeCreature(CreatureType creature) |
(package private) void |
revealCreatures(java.util.List<CreatureType> creatures)
Reveal creatures in this legion, some of which already may be known.
|
(package private) void |
split(int childHeight,
Legion child,
int turn) |
canFlee, contains, equals, findEligibleAngels, getCreatureTypes, getCurrentHex, getEntrySide, getLongMarkerId, getMarkerId, getRecruit, getSkipThisTime, getTitan, getVisitedThisPhase, hashCode, hasMoved, hasRecruited, hasSummonable, hasTeleported, hasTitan, numCreature, numLords, numRangestrikers, setCurrentHex, setEntrySide, setMoved, setRecruit, setSkipThisTime, setTeleported, setupAcquirableDecisions, setVisitedThisPhase, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
contains, numCreature
private static final java.util.logging.Logger LOGGER
private PredictSplitNode myNode
private PredictSplitNode getNode(java.lang.String markerId)
private PredictSplitNode getNode()
public int getHeight()
Legion
getHeight
in interface IOracleLegion
getHeight
in class Legion
public java.util.List<? extends Creature> getCreatures()
PredictSplitNode
.
TODO fix this, particularly the use of creature names in here. Note that
the current version also has the issue that every time this method
is called a new list with new creatures is created, which will break
identity checks.getCreatures
in class Legion
private java.util.List<java.lang.String> getContents()
public boolean contains(java.lang.String creatureName)
Legion.contains(CreatureType)
.
TODO deprecate and removecontains
in interface IOracleLegion
public int numCreature(java.lang.String creatureName)
numCreature
in interface IOracleLegion
public java.util.List<java.lang.String> getImageNames()
public java.util.List<java.lang.Boolean> getCertainties()
public PlayerClientSide getPlayer()
Legion
public void addCreature(CreatureType creature)
addCreature
in class Legion
public void removeCreature(CreatureType creature)
removeCreature
in class Legion
void revealCreatures(java.util.List<CreatureType> creatures)
void split(int childHeight, Legion child, int turn)
void merge(Legion splitoff)
public int getPointValue()
getPointValue
in class Legion
public int getCertainPointValue()
public int numUncertainCreatures()