public class ClientHandlerStub extends java.lang.Object implements IClient
| Modifier and Type | Field and Description |
|---|---|
private int |
alreadyHandled |
protected static int |
counter |
protected boolean |
isCommitPoint |
protected boolean |
isGone |
private static java.util.logging.Logger |
LOGGER |
protected int |
messageCounter |
protected java.lang.String |
playerName |
private java.lang.String |
previousInfoStringsString |
protected java.util.ArrayList<MessageForClient> |
redoQueue |
protected static java.lang.String |
sep |
protected Server |
server |
protected java.lang.String |
signonName |
| Constructor and Description |
|---|
ClientHandlerStub(Server server) |
| Modifier and Type | Method and Description |
|---|---|
void |
addCreature(Legion legion,
CreatureType creature,
java.lang.String reason) |
void |
appendToConnectionLog(java.lang.String message) |
void |
askAcquireAngel(Legion legion,
java.util.List<CreatureType> recruits) |
void |
askChooseStrikePenalty(java.util.List<java.lang.String> choices) |
void |
askConcede(Legion ally,
Legion enemy) |
void |
askFlee(Legion ally,
Legion enemy) |
void |
askNegotiate(Legion attacker,
Legion defender) |
void |
askPickColor(java.util.List<PlayerColor> colorsLeft) |
void |
askPickFirstMarker() |
boolean |
canHandleAdvancedSync() |
protected boolean |
canHandlePingRequest() |
void |
cleanupBattle() |
protected void |
commitPoint() |
void |
confirmWhenCaughtUp() |
void |
createSummonAngel(Legion legion) |
void |
didMove(Legion legion,
MasterHex startingHex,
MasterHex currentHex,
EntrySide entrySide,
boolean teleport,
CreatureType teleportingLord,
boolean splitLegionHasForcedMove) |
void |
didRecruit(Legion legion,
CreatureType recruit,
CreatureType recruiter,
int numRecruiters) |
void |
didSplit(MasterHex hex,
Legion parent,
Legion child,
int childHeight,
java.util.List<CreatureType> splitoffs,
int turn) |
void |
didSummon(Legion summoner,
Legion donor,
CreatureType summon) |
void |
disposeClient()
Server side disposes a client (and informs it about it first)
To be used only for "disposeAllClients()", otherwise setIsGone
reason is misleading.
|
void |
doReinforce(Legion legion) |
protected void |
enqueueToRedoQueue(int messageNr,
java.lang.String message) |
protected void |
flushQueuedContent()
Selector reported that client became writable again (after a prior
write attempt had not written all bytes).
|
java.lang.String |
getClientName() |
java.lang.String |
getPlayerName() |
java.lang.String |
getSignonName() |
void |
initBattle(MasterHex hex,
int battleTurnNumber,
Player battleActivePlayer,
BattlePhase battlePhase,
Legion attacker,
Legion defender) |
void |
initBoard() |
protected boolean |
isStub() |
void |
kickPhase() |
void |
log(java.lang.String message) |
void |
messageFromServer(java.lang.String message) |
void |
nak(java.lang.String reason,
java.lang.String errmsg) |
void |
nextEngagement() |
void |
pingRequest() |
void |
placeNewChit(java.lang.String imageName,
boolean inverted,
int tag,
BattleHex hex) |
void |
removeCreature(Legion legion,
CreatureType creature,
java.lang.String reason) |
void |
removeDeadBattleChits() |
void |
removeLegion(Legion legion) |
void |
revealCreatures(Legion legion,
java.util.List<CreatureType> creatures,
java.lang.String reason) |
void |
revealEngagedCreatures(Legion legion,
java.util.List<CreatureType> creatures,
boolean isAttacker,
java.lang.String reason)
print the 'revealEngagagedCreature'-message,
args: markerId, isAttacker, list of creature names
|
protected void |
sendToClient(java.lang.String message) |
void |
serverConfirmsConnection() |
void |
setBoardActive(boolean val) |
void |
setColor(PlayerColor color) |
void |
setIsGone(java.lang.String reason) |
void |
setLegionStatus(Legion legion,
boolean moved,
boolean teleported,
EntrySide entrySide,
CreatureType lastRecruit) |
void |
setPlayerName(java.lang.String playerName) |
void |
setupBattleFight(BattlePhase battlePhase,
Player battleActivePlayer) |
void |
setupBattleMove(Player battleActivePlayer,
int battleTurnNumber) |
void |
setupBattleRecruit(Player battleActivePlayer,
int battleTurnNumber) |
void |
setupBattleSummon(Player battleActivePlayer,
int battleTurnNumber) |
void |
setupFight() |
void |
setupMove() |
void |
setupMuster() |
void |
setupSplit(Player activePlayer,
int turnNumber) |
void |
setupTurnState(Player activePlayer,
int turnNumber) |
protected boolean |
supportsReconnect() |
void |
syncOption(java.lang.String optname,
java.lang.String value) |
void |
tellBattleMove(int tag,
BattleHex startingHex,
BattleHex endingHex,
boolean undo) |
void |
tellEngagement(MasterHex hex,
Legion attacker,
Legion defender) |
void |
tellEngagementResults(Legion winner,
java.lang.String method,
int points,
int turns) |
void |
tellGameOver(java.lang.String message,
boolean disposeFollows) |
void |
tellInitialGameInfo(java.lang.String variantName,
java.util.Collection<java.lang.String> playerNames) |
void |
tellLegionLocation(Legion legion,
MasterHex hex) |
void |
tellMovementRoll(int roll) |
void |
tellPlayerElim(Player player,
Player slayer) |
void |
tellProposal(java.lang.String proposalString) |
void |
tellRedo(boolean val) |
void |
tellReplay(boolean val,
int maxTurn) |
void |
tellSlowResults(int targetTag,
int slowValue) |
void |
tellStrikeResults(int strikerTag,
int targetTag,
int strikeNumber,
java.util.List<java.lang.String> rolls,
int damage,
boolean killed,
boolean wasCarry,
int carryDamageLeft,
java.util.Set<java.lang.String> carryTargetDescriptions) |
void |
tellSyncCompleted(int syncRequestNumber) |
void |
tellWhatsHappening(java.lang.String message) |
void |
undidMove(Legion legion,
MasterHex formerHex,
MasterHex currentHex,
boolean splitLegionHasForcedMove) |
void |
undidRecruit(Legion legion,
CreatureType recruit) |
void |
undidSplit(Legion splitoff,
Legion survivor,
int turn) |
void |
updateCreatureCount(CreatureType type,
int count,
int deadCount) |
void |
updateOnePlayersInfo(boolean redundant,
java.lang.String reason,
java.lang.String ShouldBeSeveralSeparateVariablesHerePerhaps)
A new way to pass changed player info to clients.
|
void |
updatePlayerInfo(java.util.List<java.lang.String> infoStrings) |
private static final java.util.logging.Logger LOGGER
protected static final java.lang.String sep
protected Server server
protected static int counter
protected boolean isGone
protected java.lang.String playerName
protected java.lang.String signonName
protected int messageCounter
protected boolean isCommitPoint
protected final java.util.ArrayList<MessageForClient> redoQueue
private java.lang.String previousInfoStringsString
private int alreadyHandled
public ClientHandlerStub(Server server)
protected boolean isStub()
protected boolean canHandlePingRequest()
public boolean canHandleAdvancedSync()
protected boolean supportsReconnect()
public void setIsGone(java.lang.String reason)
protected void sendToClient(java.lang.String message)
protected void flushQueuedContent()
protected void enqueueToRedoQueue(int messageNr,
java.lang.String message)
protected void commitPoint()
public void disposeClient()
disposeClient in interface IClientpublic void tellEngagement(MasterHex hex, Legion attacker, Legion defender)
tellEngagement in interface IClientpublic void tellEngagementResults(Legion winner, java.lang.String method, int points, int turns)
tellEngagementResults in interface IClientpublic void tellWhatsHappening(java.lang.String message)
tellWhatsHappening in interface IClientpublic void tellMovementRoll(int roll)
tellMovementRoll in interface IClientpublic void syncOption(java.lang.String optname,
java.lang.String value)
syncOption in interface IClientpublic void updatePlayerInfo(java.util.List<java.lang.String> infoStrings)
updatePlayerInfo in interface IClientpublic void updateOnePlayersInfo(boolean redundant,
java.lang.String reason,
java.lang.String ShouldBeSeveralSeparateVariablesHerePerhaps)
updateOnePlayersInfo in interface IClientpublic void setColor(PlayerColor color)
public void updateCreatureCount(CreatureType type, int count, int deadCount)
updateCreatureCount in interface IClientpublic void removeLegion(Legion legion)
removeLegion in interface IClientpublic void setLegionStatus(Legion legion, boolean moved, boolean teleported, EntrySide entrySide, CreatureType lastRecruit)
setLegionStatus in interface IClientpublic void addCreature(Legion legion, CreatureType creature, java.lang.String reason)
addCreature in interface IClientpublic void removeCreature(Legion legion, CreatureType creature, java.lang.String reason)
removeCreature in interface IClientpublic void revealCreatures(Legion legion, java.util.List<CreatureType> creatures, java.lang.String reason)
revealCreatures in interface IClientpublic void revealEngagedCreatures(Legion legion, java.util.List<CreatureType> creatures, boolean isAttacker, java.lang.String reason)
revealEngagedCreatures in interface IClientmarkerId - legion marker name that is currently in battlecreatures - List of creatures in this legionisAttacker - true for attacker, false for defenderreason - why this was revealedpublic void removeDeadBattleChits()
removeDeadBattleChits in interface IClientpublic void placeNewChit(java.lang.String imageName,
boolean inverted,
int tag,
BattleHex hex)
placeNewChit in interface IClientpublic void tellReplay(boolean val,
int maxTurn)
tellReplay in interface IClientpublic void setPlayerName(java.lang.String playerName)
setPlayerName in interface IClientpublic java.lang.String getSignonName()
public java.lang.String getClientName()
public java.lang.String getPlayerName()
public void createSummonAngel(Legion legion)
createSummonAngel in interface IClientpublic void askAcquireAngel(Legion legion, java.util.List<CreatureType> recruits)
askAcquireAngel in interface IClientpublic void askChooseStrikePenalty(java.util.List<java.lang.String> choices)
askChooseStrikePenalty in interface IClientpublic void tellGameOver(java.lang.String message,
boolean disposeFollows)
tellGameOver in interface IClientpublic void tellPlayerElim(Player player, Player slayer)
tellPlayerElim in interface IClientpublic void askConcede(Legion ally, Legion enemy)
askConcede in interface IClientpublic void askNegotiate(Legion attacker, Legion defender)
askNegotiate in interface IClientpublic void tellProposal(java.lang.String proposalString)
tellProposal in interface IClientpublic void tellSlowResults(int targetTag,
int slowValue)
tellSlowResults in interface IClientpublic void tellStrikeResults(int strikerTag,
int targetTag,
int strikeNumber,
java.util.List<java.lang.String> rolls,
int damage,
boolean killed,
boolean wasCarry,
int carryDamageLeft,
java.util.Set<java.lang.String> carryTargetDescriptions)
tellStrikeResults in interface IClientpublic void initBattle(MasterHex hex, int battleTurnNumber, Player battleActivePlayer, BattlePhase battlePhase, Legion attacker, Legion defender)
initBattle in interface IClientpublic void cleanupBattle()
cleanupBattle in interface IClientpublic void nextEngagement()
nextEngagement in interface IClientpublic void doReinforce(Legion legion)
doReinforce in interface IClientpublic void didRecruit(Legion legion, CreatureType recruit, CreatureType recruiter, int numRecruiters)
didRecruit in interface IClientpublic void undidRecruit(Legion legion, CreatureType recruit)
undidRecruit in interface IClientpublic void setupTurnState(Player activePlayer, int turnNumber)
setupTurnState in interface IClientpublic void setupSplit(Player activePlayer, int turnNumber)
setupSplit in interface IClientpublic void setupFight()
setupFight in interface IClientpublic void setupMuster()
setupMuster in interface IClientpublic void setupBattleSummon(Player battleActivePlayer, int battleTurnNumber)
setupBattleSummon in interface IClientpublic void setupBattleRecruit(Player battleActivePlayer, int battleTurnNumber)
setupBattleRecruit in interface IClientpublic void setupBattleMove(Player battleActivePlayer, int battleTurnNumber)
setupBattleMove in interface IClientpublic void setupBattleFight(BattlePhase battlePhase, Player battleActivePlayer)
setupBattleFight in interface IClientpublic void tellLegionLocation(Legion legion, MasterHex hex)
tellLegionLocation in interface IClientpublic void tellBattleMove(int tag,
BattleHex startingHex,
BattleHex endingHex,
boolean undo)
tellBattleMove in interface IClientpublic void didMove(Legion legion, MasterHex startingHex, MasterHex currentHex, EntrySide entrySide, boolean teleport, CreatureType teleportingLord, boolean splitLegionHasForcedMove)
public void undidMove(Legion legion, MasterHex formerHex, MasterHex currentHex, boolean splitLegionHasForcedMove)
public void didSummon(Legion summoner, Legion donor, CreatureType summon)
public void undidSplit(Legion splitoff, Legion survivor, int turn)
undidSplit in interface IClientpublic void didSplit(MasterHex hex, Legion parent, Legion child, int childHeight, java.util.List<CreatureType> splitoffs, int turn)
public void askPickColor(java.util.List<PlayerColor> colorsLeft)
askPickColor in interface IClientpublic void askPickFirstMarker()
askPickFirstMarker in interface IClientpublic void nak(java.lang.String reason,
java.lang.String errmsg)
public void setBoardActive(boolean val)
setBoardActive in interface IClientpublic void tellInitialGameInfo(java.lang.String variantName,
java.util.Collection<java.lang.String> playerNames)
public void confirmWhenCaughtUp()
confirmWhenCaughtUp in interface IClientpublic void serverConfirmsConnection()
serverConfirmsConnection in interface IClientpublic void pingRequest()
pingRequest in interface IClientpublic void messageFromServer(java.lang.String message)
messageFromServer in interface IClientpublic void appendToConnectionLog(java.lang.String message)
appendToConnectionLog in interface IClientpublic void tellSyncCompleted(int syncRequestNumber)
tellSyncCompleted in interface IClient