|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sf.colossus.game.Battle
net.sf.colossus.client.BattleClientSide
public class BattleClientSide
Contains a lot of Battle related data Currently contains also many methods that were earlier in "Strike.java" (client package). First moved to here to make it easier to unify them with the server side version or possibly even with Battle from game package. TODO One handicap right now is isInContact(...) This method is used by getDice, getAttackerSkill and getStrikeNumber; they ask this from Client (and thus need client as argument). On server side, those methods are in CreatureServerSide (do they belong there?? IMHO not, because those calls are valid to to only during a battle, which might not always be the case and nothing prevents calling it then) and CreatureServerSide is able to resolve that question by itself.
Field Summary | |
---|---|
private Player |
battleActivePlayer
|
private BattlePhase |
battlePhase
|
private java.util.List<BattleUnit> |
battleUnits
|
private static java.util.logging.Logger |
LOGGER
|
Fields inherited from class net.sf.colossus.game.Battle |
---|
attacker, battleTurnNumber, defender, game |
Constructor Summary | |
---|---|
BattleClientSide(Game game,
Legion attacker,
Legion defender,
MasterHex location)
|
Method Summary | |
---|---|
boolean |
anyOffboardCreatures()
|
boolean |
canStrike(BattleCritter striker,
BattleCritter target)
Tell whether a given creature can strike (rangestrike included) the given potential target TODO duplicated in CreatureServerSide |
void |
cleanupBattle()
|
BattleUnit |
createBattleUnit(java.lang.String imageName,
boolean isDefender,
int tag,
BattleHex hex,
CreatureType type,
Legion legion)
|
(package private) java.util.Set<BattleHex> |
findCrittersWithTargets(Client client)
Return the set of hexes with critters that have valid strike targets. |
java.util.Set<BattleHex> |
findTargets(BattleCritter battleUnit,
boolean rangestrike)
Return a set of hexes containing targets that the critter may strike TODO duplicated in BattleServerSide |
java.util.Set<BattleHex> |
findTargets(int tag)
|
java.util.List<BattleUnit> |
getActiveBattleUnits()
|
java.util.List<BattleCritter> |
getAllCritters()
Get all BattleCritters / BattleUnits Abstract because currently implementation is different, but needed on both side, e.g. |
Legion |
getBattleActiveLegion()
|
Player |
getBattleActivePlayer()
|
BattlePhase |
getBattlePhase()
|
java.lang.String |
getBattlePhaseName()
|
BattleUnit |
getBattleUnit(BattleHex hex)
|
(package private) BattleUnit |
getBattleUnit(int tag)
Get the BattleUnit with this tag. |
BattleUnit |
getBattleUnitCS(BattleHex hex)
|
java.util.List<BattleUnit> |
getBattleUnits()
|
java.util.List<BattleUnit> |
getBattleUnits(BattleHex hex)
|
GameClientSide |
getGameClientSide()
|
java.util.List<BattleUnit> |
getInactiveBattleUnits()
|
void |
init(int battleTurnNumber,
Player battleActivePlayer,
BattlePhase battlePhase)
|
boolean |
isBattlePhase(BattlePhase phase)
|
boolean |
isInContact(BattleCritter striker,
boolean countDead)
Return true if there are any enemies adjacent to this battleChit. |
private boolean |
isRangestrikePossible(BattleCritter striker,
BattleCritter target)
Deprecated. Should use an extension of Battle instead of Strike, with extension of Creature instead of BattleCritter and extra BattleHex |
void |
markOffboardCreaturesDead()
|
int |
minRangeToEnemy(BattleCritter critter)
Deprecated. Should use an extension of Battle instead of Strike // END OLD COMMENT Now this is moved from Strike to BattleClientSide. IMHO this is not a total duplicate of a method in Battle: Battle does not have a minRangeToEnemy, just minRange between concrete hexes, which IS actually called here. TODO can they be unified? Or move to e.g. some class in ai.helper package? |
void |
removeDeadBattleChits()
|
void |
resetAllBattleMoves()
|
void |
setBattleActivePlayer(Player battleActivePlayer)
|
void |
setBattlePhase(BattlePhase battlePhase)
|
void |
setupBattleFight(BattlePhase battlePhase,
Player battleActivePlayer)
|
void |
setupPhase(BattlePhase phase,
Player battleActivePlayer,
int battleTurnNumber)
|
Methods inherited from class net.sf.colossus.game.Battle |
---|
computeSkillPenaltyRangestrikeThrough, countBrambleHexes, getAttackingLegion, getBattleTurnNumber, getCritter, getDefendingLegion, getDirection, getGame, getLegionByPlayer, getLocation, getRange, isLOSBlocked, isLOSBlockedDir, isObstacle, isOccupied, isRangestrikePossible, setBattleTurnNumber, toLeft |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final java.util.logging.Logger LOGGER
private BattlePhase battlePhase
private Player battleActivePlayer
private final java.util.List<BattleUnit> battleUnits
Constructor Detail |
---|
public BattleClientSide(Game game, Legion attacker, Legion defender, MasterHex location)
Method Detail |
---|
public void init(int battleTurnNumber, Player battleActivePlayer, BattlePhase battlePhase)
public GameClientSide getGameClientSide()
public Player getBattleActivePlayer()
public void cleanupBattle()
public Legion getBattleActiveLegion()
getBattleActiveLegion
in class Battle
public BattlePhase getBattlePhase()
public void setBattlePhase(BattlePhase battlePhase)
public boolean isBattlePhase(BattlePhase phase)
public void setupPhase(BattlePhase phase, Player battleActivePlayer, int battleTurnNumber)
public java.lang.String getBattlePhaseName()
public void setBattleActivePlayer(Player battleActivePlayer)
public void setupBattleFight(BattlePhase battlePhase, Player battleActivePlayer)
public BattleUnit createBattleUnit(java.lang.String imageName, boolean isDefender, int tag, BattleHex hex, CreatureType type, Legion legion)
public boolean anyOffboardCreatures()
public java.util.List<BattleUnit> getActiveBattleUnits()
public java.util.List<BattleUnit> getInactiveBattleUnits()
public java.util.List<BattleCritter> getAllCritters()
Battle
getAllCritters
in class Battle
public java.util.List<BattleUnit> getBattleUnits()
public java.util.List<BattleUnit> getBattleUnits(BattleHex hex)
public BattleUnit getBattleUnitCS(BattleHex hex)
public BattleUnit getBattleUnit(BattleHex hex)
BattleUnit getBattleUnit(int tag)
public void resetAllBattleMoves()
public void markOffboardCreaturesDead()
public void removeDeadBattleChits()
java.util.Set<BattleHex> findCrittersWithTargets(Client client)
client
- The client.public boolean canStrike(BattleCritter striker, BattleCritter target)
striker
- The creature strikingtarget
- The potential target
public java.util.Set<BattleHex> findTargets(int tag)
public java.util.Set<BattleHex> findTargets(BattleCritter battleUnit, boolean rangestrike)
battleUnit
- the striking creaturerangestrike
- Whether to include rangestrike targets
@Deprecated private boolean isRangestrikePossible(BattleCritter striker, BattleCritter target)
@Deprecated public int minRangeToEnemy(BattleCritter critter)
public boolean isInContact(BattleCritter striker, boolean countDead)
isInContact
in class Battle
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |