public class ClientGUI extends java.lang.Object implements IClientGUI, GUICallbacks
Modifier and Type | Class and Description |
---|---|
private class |
ClientGUI.PendingMove |
Modifier and Type | Field and Description |
---|---|
private AutoInspector |
autoInspector |
private BattleBoard |
battleBoard |
private java.util.List<GUIBattleChit> |
battleChits |
private MasterBoard |
board |
private CreatureCollectionView |
caretakerDisplay |
protected Client |
client |
private static int |
CONN_CHECK_TIMEOUT |
private java.lang.Object |
connectionCheckMutex |
private javax.swing.Timer |
connectionCheckTimer |
private ConnectionLogWindow |
connectionLogWindow |
private EngagementResults |
engagementResults |
private EventViewer |
eventViewer |
private boolean |
gameOverMessageAlreadyShown |
private long |
lastConnectionCheckPackageSent |
private int |
legionMoveConfirmationMode |
private static java.util.logging.Logger |
LOGGER |
private LogWindow |
logWindow |
(package private) java.lang.String |
message |
private MovementDie |
movementDie |
private Legion |
mover
Information on the current moving legion.
|
private Negotiate |
negotiate |
private int |
nextSplitClickMode |
private Options |
options |
protected IOracle |
oracle |
private java.util.Set<MasterHex> |
pendingMoveHexes |
private java.util.LinkedList<ClientGUI.PendingMove> |
pendingMoves |
private PickCarry |
pickCarryDialog |
private PreferencesWindow |
preferencesWindow |
(package private) boolean |
quitAlreadyTried |
private boolean |
recoveredFromMoveNak |
private int |
recruitChitMode |
private int |
replayLastTurn |
private int |
replayMaxTurn |
private ReplyToProposal |
replyToProposal |
private javax.swing.JFrame |
secondaryParent
the parent frame for secondary windows
|
private boolean |
startedByWebClient |
private StatusScreen |
statusScreen |
private java.util.List<java.lang.Boolean> |
tellEngagementResultsAttackerLegionCertainities |
private java.util.List<java.lang.String> |
tellEngagementResultsAttackerStartingContents |
private java.util.List<java.lang.Boolean> |
tellEngagementResultsDefenderLegionCertainities |
private java.util.List<java.lang.String> |
tellEngagementResultsDefenderStartingContents |
private java.util.LinkedList<java.lang.Object> |
undoStack
Stack of legion marker ID's, to allow multiple levels of undo for
splits, moves, and recruits.
|
private int |
viewMode |
private WebClient |
webClient |
private WhatNextManager |
whatNextManager
The object which handles what to do next when a game is going to end
|
Constructor and Description |
---|
ClientGUI(Client client,
Options options,
WhatNextManager whatNextMgr) |
Modifier and Type | Method and Description |
---|---|
void |
acquireAngelCallback(Legion legion,
CreatureType angelType) |
void |
actOnAddCreature(Legion legion,
CreatureType creature,
java.lang.String reason) |
void |
actOnApplyCarries(BattleHex hex) |
void |
actOnCleanupBattle() |
void |
actOnDidMove(Legion legion,
MasterHex startingHex,
MasterHex currentHex,
boolean teleport,
CreatureType teleportingLord,
boolean splitLegionHasForcedMove) |
void |
actOnDidRecruit(Legion legion,
CreatureType recruit,
java.util.List<CreatureType> recruiters,
java.lang.String reason) |
void |
actOnDidSplit(int turn,
Legion parent,
Legion child,
MasterHex hex) |
void |
actOnDidSplitPart2(MasterHex hex) |
void |
actOnDoneWithBattleMoves() |
void |
actOnDoneWithMoves() |
void |
actOnDoneWithSplits() |
void |
actOnDoSummon() |
void |
actOnEngagementCompleted() |
void |
actOnGameStarting() |
void |
actOnGameStartingFailed() |
void |
actOnHitsSet(BattleUnit target) |
void |
actOnInitBattle() |
void |
actOnMoveNak() |
void |
actOnNoMoreEngagements() |
void |
actOnPendingBattleMoveOver() |
void |
actOnPlaceNewChit(java.lang.String imageName,
BattleUnit battleUnit,
BattleHex hex) |
void |
actOnReconnectCompleted() |
void |
actOnRemoveCreature(Legion legion,
CreatureType type,
java.lang.String reason) |
void |
actOnRemoveCreaturePart2(Legion legion) |
void |
actOnRemoveLegion(Legion legion) |
void |
actOnSetupBattleFight() |
void |
actOnSetupBattleMove() |
void |
actOnSetupBattleRecruit() |
void |
actOnSetupBattleSummon() |
void |
actOnSetupFight() |
void |
actOnSetupMove() |
void |
actOnSetupMuster() |
void |
actOnSetupSplit() |
void |
actOnTellBattleMove(BattleHex startingHex,
BattleHex endingHex,
boolean rememberForUndo) |
void |
actOnTellEngagementResults(Legion winner,
java.lang.String method,
int points,
int turns) |
void |
actOnTellGameOver(java.lang.String message,
boolean disposeFollows)
Update Board and Status screen to reflect the new game over state.
|
void |
actOnTellLegionLocation(Legion legion,
MasterHex hex) |
void |
actOnTellMovementRoll(int roll) |
void |
actOnTellRedoChange() |
void |
actOnTellReplay(int maxTurn) |
void |
actOnTellStrikeResults(boolean wasCarry,
int strikeNumber,
java.util.List<java.lang.String> rolls,
BattleCritter striker,
BattleCritter target) |
void |
actOnTurnOrPlayerChange(Client client,
int turnNr,
Player player) |
void |
actOnUndidMove(Legion legion,
MasterHex formerHex,
MasterHex currentHex,
boolean splitLegionHasForcedMove,
boolean didTeleport) |
void |
actOnUndidRecruitPart(Legion legion,
boolean wasReinforcement,
int turnNumber) |
void |
actOnUndidSplit(Legion survivor,
int turn) |
private void |
addBattleChit(GUIBattleChit battleChit) |
void |
addPossibleRecruitChits(LegionClientSide legion,
java.util.Set<MasterHex> hexes) |
void |
alignLegionsMaybe(Legion legion) |
void |
answerConcede(Legion legion,
boolean answer) |
void |
answerFlee(Legion ally,
boolean answer) |
void |
answerPickColor(PlayerColor color) |
void |
appendToConnectionLog(java.lang.String s) |
void |
applyCarries(BattleHex hex) |
(package private) void |
askNewCloseQuitCancel(javax.swing.JFrame frame,
boolean fromBattleBoard) |
void |
autoInspectorSetDubiousAsBlanks(boolean newValue) |
void |
bringUpPickColorDialog(java.lang.String playerName,
java.util.List<PlayerColor> colorsLeft) |
(package private) void |
checkServerConnection()
When user requests it from File menu, this method here
requests the server to send us a confirmation package,
to confirm that connection is still alive and ok.
|
boolean |
chooseWhetherToTeleport()
Present a dialog allowing the player to enter via land or teleport.
|
private void |
cleanupGUI() |
void |
cleanupNegotiationDialogs() |
private void |
clearUndoStack() |
void |
concede() |
void |
createPickMarkerDialog(ClientGUI gui,
java.util.Set<java.lang.String> markerIds,
Legion parent) |
void |
defaultCursor() |
void |
didSummon(Legion summoner,
Legion donor,
CreatureType summon) |
private void |
displayNoUndoWhilePendingMovesInfo() |
private void |
disposeBattleBoard() |
private void |
disposeCaretakerDisplay() |
private void |
disposeConnectionLogWindow() |
(package private) void |
disposeEngagementResults() |
private void |
disposeEventViewer() |
void |
disposeInspector() |
private void |
disposeLogWindow() |
private void |
disposeMasterBoard() |
private void |
disposeMovementDie() |
void |
disposePickCarryDialog() |
private void |
disposePreferencesWindow() |
private void |
disposeStatusScreen() |
void |
doAcquireAngel(Legion legion,
java.util.List<CreatureType> recruits) |
void |
doBattleMove(int tag,
BattleHex hex) |
void |
doCleanupGUI() |
void |
doConfirmAndQuit() |
boolean |
doMove(MasterHex hex) |
private void |
doNewBattleBoard() |
void |
doneWithBattleMoves() |
void |
doneWithStrikes() |
void |
doPickCarries(Client client,
int carryDamage,
java.util.Set<java.lang.String> carryTargetDescriptions) |
void |
doPickColor(java.lang.String playerName,
java.util.List<PlayerColor> colorsLeft) |
EntrySide |
doPickEntrySide(MasterHex hex,
java.util.Set<EntrySide> entrySides) |
void |
doPickInitialMarker(java.util.Set<java.lang.String> markersAvailable) |
CreatureType |
doPickLord(java.util.List<CreatureType> lords) |
CreatureType |
doPickRecruit(Legion legion,
java.lang.String hexDescription) |
java.lang.String |
doPickRecruiter(java.util.List<java.lang.String> recruiters,
java.lang.String hexDescription,
Legion legion) |
java.util.List<CreatureType> |
doPickSplitLegion(Legion parent,
java.lang.String childMarker) |
void |
doPickSplitMarker(Legion parent,
java.util.Set<java.lang.String> markersAvailable) |
void |
doPickStrikePenalty(Client client,
java.util.List<java.lang.String> choices) |
void |
doPickSummonAngel(Legion legion,
java.util.List<Legion> possibleDonors) |
private void |
doSetWhatToDoNext(WhatNextManager.WhatToDoNext whatToDoNext,
boolean triggerQuitTimer) |
private void |
doSetWhatToDoNext(WhatNextManager.WhatToDoNext whatToDoNext,
java.lang.String loadFile) |
(package private) void |
doShowMessageDialog(java.lang.String message) |
void |
engagementResultsMaybeShow() |
private void |
ensureEdtNewBattleBoard() |
private void |
ensureEdtSetupClientGUI()
Ensure that setupClientGUI() is run inside the EDT
|
void |
eventViewerCancelReinforcement(CreatureType recruit,
int turnNr) |
void |
eventViewerNewSplitEvent(int turn,
Legion parent,
Legion child) |
void |
eventViewerRevealCreatures(Legion legion,
java.util.List<CreatureType> creatures,
java.lang.String reason) |
void |
eventViewerSetCreatureDead(BattleUnit battleUnit) |
void |
eventViewerSetVisibleMaybe() |
void |
eventViewerUndoEvent(Legion splitoff,
Legion survivor,
int turn) |
private void |
finishServerConnectionCheck(boolean success)
Cleanup everything related to the serverConnectionCheck timer,
and show a message telling whether it went ok or not.
|
private java.lang.String |
getBattleUnitDescription(BattleCritter battleUnit) |
MasterBoard |
getBoard() |
GUICallbacks |
getCallbackHandler() |
Client |
getClient() |
Game |
getGame() |
GameClientSide |
getGameClientSide() |
GUIBattleChit |
getGUIBattleChit(BattleHex hex) |
java.util.List<GUIBattleChit> |
getGUIBattleChits()
Get a list of all GUIBattleChits (on the current BattleMap)
|
java.util.List<GUIBattleChit> |
getGUIBattleChitsInHex(BattleHex hex)
Find all GUIBattleChits that occupy a specified hex
Note that this can be several for the offboard position(s)
|
int |
getLegionMoveConfirmationMode() |
private javax.swing.JFrame |
getMapOrBoardFrame() |
(package private) java.lang.String |
getMessage() |
(package private) MovementDie |
getMovementDie() |
Legion |
getMover() |
int |
getNextSplitClickMode() |
IOptions |
getOptions() |
IOracle |
getOracle() |
Player |
getOwningPlayer() |
java.lang.String |
getOwningPlayerName() |
java.util.Set<MasterHex> |
getPendingMoveHexes() |
PickCarry |
getPickCarryDialog() |
private javax.swing.JFrame |
getPreferredParent() |
int |
getRecruitChitMode() |
boolean |
getStartedByWebClient() |
java.util.Set<MasterHex> |
getStillToMoveHexes() |
int |
getViewMode() |
void |
handlePickCarry(GUIBattleHex hex) |
private void |
handleUndoRecruit(Legion legion)
This does the actual work for undoing a recruit
|
void |
handleWebClientRestore() |
boolean |
hasBoard() |
(package private) void |
highlightBattleSite(MasterHex battleSite) |
void |
highlightCrittersWithTargets() |
void |
highlightEngagements() |
void |
informSplitRequiredFirstRound() |
void |
initBoard() |
private void |
initEventViewer() |
private void |
initiateConnectionCheck() |
private void |
initPreferencesWindow() |
void |
initShowEngagementResults() |
boolean |
isMyTurn() |
boolean |
isPickCarryOngoing() |
(package private) boolean |
isRedoOngoing() |
(package private) boolean |
isReplayOngoing() |
private boolean |
isUndoStackEmpty() |
void |
leaveCarryMode() |
void |
markLegionAsSkipRecruit(Legion legion)
TODO This is just a HACK.
|
private void |
markLegionAsSkipSplit(Legion legion) |
void |
menuCloseBoard() |
void |
menuLoadGame(java.lang.String filename) |
void |
menuNewGame() |
void |
menuQuitGame() |
(package private) void |
menuSaveGame(java.lang.String filename) |
private void |
myTurnNotificationActions(Legion ally) |
(package private) void |
negotiateCallback(Proposal proposal,
boolean respawn) |
private java.lang.Object |
popUndoStack() |
private void |
postRecruitStuff(Legion legion)
Do what is needed after recruit (or mark as skip recruit):
push to undo stack, update legions left to muster, hightlight remaining ones,
|
(package private) void |
pushUndoStack(java.lang.Object object) |
void |
removeBattleChit(BattleUnit battleUnit) |
void |
repaintAllWindows() |
void |
repaintBattleBoard() |
void |
replayTurnChange(int nowTurn) |
void |
rescaleAllWindows()
TODO since we are doing Swing nowadays it would probably be much better to replace
all this rescaling code with just using
AffineTransform on the right
Graphics2D instances. |
void |
resetAllLegionFlags() |
void |
resetStrikeNumbers()
reset all strike numbers on chits
|
void |
respawnNegotiate() |
void |
revealEngagedCreatures(Legion legion,
java.util.List<CreatureType> creatures,
boolean isAttacker,
java.lang.String reason) |
void |
serverConfirmsConnection()
Upon request with checkServerConnection, server sends a confirmation.
|
void |
setBoardActive(boolean val) |
void |
setChosenDevice(java.awt.GraphicsDevice chosen) |
void |
setClientInWebClientNull() |
void |
setLookAndFeel(java.lang.String lfName) |
(package private) void |
setMarker(Legion legion,
Marker marker)
Add the marker to the end of the list and to the LegionInfo.
|
void |
setMoveCompleted(Legion mover,
MasterHex current,
MasterHex target) |
void |
setMovePending(Legion mover,
MasterHex currentHex,
MasterHex targetHex) |
void |
setMover(Legion legion) |
void |
setMulliganOldRoll(int movementRoll) |
void |
setPreferencesCheckBoxValue(java.lang.String name,
boolean value) |
void |
setPreferencesRadioButtonValue(java.lang.String name,
boolean value) |
void |
setPreferencesWindowVisible(boolean val) |
void |
setStartedByWebClient(boolean byWebClient) |
void |
setStrikeNumbers(BattleUnit striker,
java.util.Set<BattleHex> targetHexes) |
void |
setupClientGUI()
Called via ensureEdtSetupClientGUI() when server sends all clients
the initBoard command.
|
private void |
setupGUIOptionListeners() |
private void |
setupPlayerLabel() |
void |
setWebClient(WebClient wc) |
private void |
setWhatToDoNextForClose() |
void |
showConcede(Client client,
Legion ally,
Legion enemy) |
void |
showConnectionClosedMessage()
This is for permanent, non-reversible closed connections
|
void |
showFlee(Client client,
Legion ally,
Legion enemy) |
void |
showHexRecruitTree(GUIMasterHex hex) |
void |
showMarker(Marker marker) |
void |
showMessageDialogAndWait(java.lang.String message) |
void |
showNegotiate(Legion attacker,
Legion defender) |
private void |
showOrHideAutoInspector(boolean bval) |
private void |
showOrHideCaretaker(boolean bval) |
private void |
showOrHideConnectionLogWindow(boolean show) |
private void |
showOrHideLogWindow(boolean show) |
void |
showWebClient() |
void |
strike(int tag,
BattleHex hex) |
void |
syncCheckboxes()
Ensure that Player menu checkboxes reflect the correct state.
|
void |
tellEngagement(Legion attacker,
Legion defender,
int turnNumber) |
void |
tellProposal(java.lang.String proposalString)
Inform this player about the other player's proposal.
|
void |
tellWhatsHappening(java.lang.String message) |
void |
timeoutAbortsConnectionCheck()
Timeout reached.
|
void |
undoAllBattleMoves() |
void |
undoAllMoves() |
void |
undoAllRecruits() |
(package private) void |
undoAllSplits() |
void |
undoBattleMove(BattleHex hex) |
void |
undoLastBattleMove() |
(package private) void |
undoLastMove() |
(package private) void |
undoLastRecruit()
For the topmost item on undo stack, undo the done recruit,
or reset the skipThisTime flag if set.
|
(package private) void |
undoLastSplit() |
void |
undoRecruit(Legion legion)
For a specific clicked legion, undo the done recruit,
or reset the skipThisTime flag if set.
|
void |
updateCreatureCountDisplay() |
void |
updateEverything() |
private void |
updatePendingText() |
void |
updateStatusScreen() |
private void |
updateTreeAndPack(java.awt.Window window) |
private void |
validateLegions() |
void |
waitCursor() |
private static final java.util.logging.Logger LOGGER
private static final int CONN_CHECK_TIMEOUT
private final java.lang.Object connectionCheckMutex
private javax.swing.Timer connectionCheckTimer
private long lastConnectionCheckPackageSent
private MasterBoard board
private StatusScreen statusScreen
private CreatureCollectionView caretakerDisplay
private MovementDie movementDie
private EngagementResults engagementResults
private AutoInspector autoInspector
private EventViewer eventViewer
private PreferencesWindow preferencesWindow
private LogWindow logWindow
private ConnectionLogWindow connectionLogWindow
private PickCarry pickCarryDialog
private Negotiate negotiate
private ReplyToProposal replyToProposal
private BattleBoard battleBoard
private WebClient webClient
private boolean startedByWebClient
private final WhatNextManager whatNextManager
private final java.util.LinkedList<java.lang.Object> undoStack
UndoManager
stuff. In the GUI client we could/should
probably just use that. A list of objects (which are mostly the string
identifiers of something) isn't that safe.private final java.util.LinkedList<ClientGUI.PendingMove> pendingMoves
private final java.util.Set<MasterHex> pendingMoveHexes
private boolean recoveredFromMoveNak
private final java.util.List<GUIBattleChit> battleChits
private Legion mover
private javax.swing.JFrame secondaryParent
private int replayLastTurn
private int replayMaxTurn
private int viewMode
private int recruitChitMode
private int legionMoveConfirmationMode
private int nextSplitClickMode
private boolean gameOverMessageAlreadyShown
protected final Client client
protected final IOracle oracle
private final Options options
boolean quitAlreadyTried
private java.util.List<java.lang.String> tellEngagementResultsAttackerStartingContents
private java.util.List<java.lang.String> tellEngagementResultsDefenderStartingContents
private java.util.List<java.lang.Boolean> tellEngagementResultsAttackerLegionCertainities
private java.util.List<java.lang.Boolean> tellEngagementResultsDefenderLegionCertainities
java.lang.String message
public ClientGUI(Client client, Options options, WhatNextManager whatNextMgr)
public void setStartedByWebClient(boolean byWebClient)
setStartedByWebClient
in interface IClientGUI
public boolean getStartedByWebClient()
public void setWebClient(WebClient wc)
setWebClient
in interface IClientGUI
public void setClientInWebClientNull()
setClientInWebClientNull
in interface IClientGUI
public MasterBoard getBoard()
public boolean hasBoard()
hasBoard
in interface IClientGUI
public Client getClient()
public IOracle getOracle()
public Game getGame()
public GameClientSide getGameClientSide()
public IOptions getOptions()
boolean isReplayOngoing()
boolean isRedoOngoing()
public void handleWebClientRestore()
handleWebClientRestore
in interface IClientGUI
public void showWebClient()
showWebClient
in interface IClientGUI
public void initBoard()
initBoard
in interface IClientGUI
public void actOnGameStartingFailed()
actOnGameStartingFailed
in interface IClientGUI
private void ensureEdtSetupClientGUI()
public void setupClientGUI()
public void setChosenDevice(java.awt.GraphicsDevice chosen)
setChosenDevice
in interface IClientGUI
private void ensureEdtNewBattleBoard()
public void actOnInitBattle()
actOnInitBattle
in interface IClientGUI
private void doNewBattleBoard()
public void setStrikeNumbers(BattleUnit striker, java.util.Set<BattleHex> targetHexes)
public void resetStrikeNumbers()
resetStrikeNumbers
in interface IClientGUI
public void updateStatusScreen()
updateStatusScreen
in interface IClientGUI
public void menuCloseBoard()
menuCloseBoard
in interface IClientGUI
public void menuQuitGame()
menuQuitGame
in interface IClientGUI
void askNewCloseQuitCancel(javax.swing.JFrame frame, boolean fromBattleBoard)
void checkServerConnection()
private void initiateConnectionCheck()
public void serverConfirmsConnection()
IClientGUI
serverConfirmsConnection
in interface IClientGUI
public void timeoutAbortsConnectionCheck()
IClientGUI
timeoutAbortsConnectionCheck
in interface IClientGUI
private void finishServerConnectionCheck(boolean success)
private void doSetWhatToDoNext(WhatNextManager.WhatToDoNext whatToDoNext, boolean triggerQuitTimer)
private void doSetWhatToDoNext(WhatNextManager.WhatToDoNext whatToDoNext, java.lang.String loadFile)
private void setWhatToDoNextForClose()
public void menuNewGame()
menuNewGame
in interface IClientGUI
public void menuLoadGame(java.lang.String filename)
menuLoadGame
in interface IClientGUI
void menuSaveGame(java.lang.String filename)
private void setupPlayerLabel()
public void highlightEngagements()
highlightEngagements
in interface IClientGUI
private javax.swing.JFrame getPreferredParent()
public int getViewMode()
getViewMode
in interface IClientGUI
public int getRecruitChitMode()
getRecruitChitMode
in interface IClientGUI
public int getLegionMoveConfirmationMode()
getLegionMoveConfirmationMode
in interface IClientGUI
public int getNextSplitClickMode()
getNextSplitClickMode
in interface IClientGUI
public void addPossibleRecruitChits(LegionClientSide legion, java.util.Set<MasterHex> hexes)
addPossibleRecruitChits
in interface IClientGUI
private void setupGUIOptionListeners()
private void initEventViewer()
public void eventViewerSetVisibleMaybe()
eventViewerSetVisibleMaybe
in interface IClientGUI
public void autoInspectorSetDubiousAsBlanks(boolean newValue)
autoInspectorSetDubiousAsBlanks
in interface IClientGUI
public void engagementResultsMaybeShow()
engagementResultsMaybeShow
in interface IClientGUI
public void actOnTellLegionLocation(Legion legion, MasterHex hex)
actOnTellLegionLocation
in interface IClientGUI
void setMarker(Legion legion, Marker marker)
public void actOnDidSplit(int turn, Legion parent, Legion child, MasterHex hex)
actOnDidSplit
in interface IClientGUI
public void actOnDidSplitPart2(MasterHex hex)
actOnDidSplitPart2
in interface IClientGUI
public void actOnDoneWithMoves()
actOnDoneWithMoves
in interface IClientGUI
public void actOnDoneWithSplits()
actOnDoneWithSplits
in interface IClientGUI
public void actOnDidRecruit(Legion legion, CreatureType recruit, java.util.List<CreatureType> recruiters, java.lang.String reason)
actOnDidRecruit
in interface IClientGUI
private void postRecruitStuff(Legion legion)
legion
- public void actOnRemoveCreature(Legion legion, CreatureType type, java.lang.String reason)
actOnRemoveCreature
in interface IClientGUI
public void actOnRemoveCreaturePart2(Legion legion)
actOnRemoveCreaturePart2
in interface IClientGUI
public void actOnAddCreature(Legion legion, CreatureType creature, java.lang.String reason)
actOnAddCreature
in interface IClientGUI
public void actOnUndidSplit(Legion survivor, int turn)
actOnUndidSplit
in interface IClientGUI
public void actOnUndidRecruitPart(Legion legion, boolean wasReinforcement, int turnNumber)
actOnUndidRecruitPart
in interface IClientGUI
public boolean chooseWhetherToTeleport()
IClientGUI
chooseWhetherToTeleport
in interface IClientGUI
public void actOnDidMove(Legion legion, MasterHex startingHex, MasterHex currentHex, boolean teleport, CreatureType teleportingLord, boolean splitLegionHasForcedMove)
actOnDidMove
in interface IClientGUI
public void actOnUndidMove(Legion legion, MasterHex formerHex, MasterHex currentHex, boolean splitLegionHasForcedMove, boolean didTeleport)
actOnUndidMove
in interface IClientGUI
public void actOnNoMoreEngagements()
actOnNoMoreEngagements
in interface IClientGUI
public void alignLegionsMaybe(Legion legion)
alignLegionsMaybe
in interface IClientGUI
public void actOnRemoveLegion(Legion legion)
actOnRemoveLegion
in interface IClientGUI
public void actOnDoSummon()
actOnDoSummon
in interface IClientGUI
public void setLookAndFeel(java.lang.String lfName)
setLookAndFeel
in interface IClientGUI
public void updateEverything()
updateEverything
in interface IClientGUI
private void updateTreeAndPack(java.awt.Window window)
public void replayTurnChange(int nowTurn)
replayTurnChange
in interface IClientGUI
public void actOnTellReplay(int maxTurn)
actOnTellReplay
in interface IClientGUI
public void actOnTellRedoChange()
actOnTellRedoChange
in interface IClientGUI
private void clearUndoStack()
private java.lang.Object popUndoStack()
void pushUndoStack(java.lang.Object object)
private boolean isUndoStackEmpty()
public void eventViewerCancelReinforcement(CreatureType recruit, int turnNr)
eventViewerCancelReinforcement
in interface IClientGUI
public void eventViewerSetCreatureDead(BattleUnit battleUnit)
eventViewerSetCreatureDead
in interface IClientGUI
public void eventViewerNewSplitEvent(int turn, Legion parent, Legion child)
eventViewerNewSplitEvent
in interface IClientGUI
public void eventViewerUndoEvent(Legion splitoff, Legion survivor, int turn)
eventViewerUndoEvent
in interface IClientGUI
public void setPreferencesCheckBoxValue(java.lang.String name, boolean value)
setPreferencesCheckBoxValue
in interface IClientGUI
public void setPreferencesRadioButtonValue(java.lang.String name, boolean value)
setPreferencesRadioButtonValue
in interface IClientGUI
private void initPreferencesWindow()
public void setPreferencesWindowVisible(boolean val)
setPreferencesWindowVisible
in interface IClientGUI
public void showMarker(Marker marker)
private void showOrHideCaretaker(boolean bval)
private void showOrHideAutoInspector(boolean bval)
public void showHexRecruitTree(GUIMasterHex hex)
public void didSummon(Legion summoner, Legion donor, CreatureType summon)
didSummon
in interface IClientGUI
public void repaintBattleBoard()
repaintBattleBoard
in interface IClientGUI
public void repaintAllWindows()
repaintAllWindows
in interface IClientGUI
public void rescaleAllWindows()
IClientGUI
AffineTransform
on the right
Graphics2D
instances.rescaleAllWindows
in interface IClientGUI
public void disposeInspector()
disposeInspector
in interface IClientGUI
public void updateCreatureCountDisplay()
updateCreatureCountDisplay
in interface IClientGUI
private void disposeMasterBoard()
private void disposeBattleBoard()
public void disposePickCarryDialog()
disposePickCarryDialog
in interface IClientGUI
private void disposeStatusScreen()
private void disposeLogWindow()
private void disposeConnectionLogWindow()
private void disposeEventViewer()
private void disposePreferencesWindow()
void disposeEngagementResults()
private void disposeCaretakerDisplay()
public void showNegotiate(Legion attacker, Legion defender)
showNegotiate
in interface IClientGUI
public void respawnNegotiate()
respawnNegotiate
in interface IClientGUI
public void showConcede(Client client, Legion ally, Legion enemy)
showConcede
in interface IClientGUI
public void showFlee(Client client, Legion ally, Legion enemy)
showFlee
in interface IClientGUI
private void myTurnNotificationActions(Legion ally)
public void initShowEngagementResults()
initShowEngagementResults
in interface IClientGUI
public void tellEngagement(Legion attacker, Legion defender, int turnNumber)
tellEngagement
in interface IClientGUI
void highlightBattleSite(MasterHex battleSite)
public void actOnTellEngagementResults(Legion winner, java.lang.String method, int points, int turns)
actOnTellEngagementResults
in interface IClientGUI
public void actOnEngagementCompleted()
actOnEngagementCompleted
in interface IClientGUI
public void setMulliganOldRoll(int movementRoll)
setMulliganOldRoll
in interface IClientGUI
public void tellWhatsHappening(java.lang.String message)
tellWhatsHappening
in interface IClientGUI
public void actOnTellMovementRoll(int roll)
actOnTellMovementRoll
in interface IClientGUI
public void revealEngagedCreatures(Legion legion, java.util.List<CreatureType> creatures, boolean isAttacker, java.lang.String reason)
revealEngagedCreatures
in interface IClientGUI
public void eventViewerRevealCreatures(Legion legion, java.util.List<CreatureType> creatures, java.lang.String reason)
eventViewerRevealCreatures
in interface IClientGUI
private void showOrHideLogWindow(boolean show)
private void showOrHideConnectionLogWindow(boolean show)
public void appendToConnectionLog(java.lang.String s)
appendToConnectionLog
in interface IClientGUI
public void actOnReconnectCompleted()
actOnReconnectCompleted
in interface IClientGUI
public void syncCheckboxes()
public void doAcquireAngel(Legion legion, java.util.List<CreatureType> recruits)
doAcquireAngel
in interface IClientGUI
public void setBoardActive(boolean val)
setBoardActive
in interface IClientGUI
public void doPickSummonAngel(Legion legion, java.util.List<Legion> possibleDonors)
doPickSummonAngel
in interface IClientGUI
public java.util.List<CreatureType> doPickSplitLegion(Legion parent, java.lang.String childMarker)
doPickSplitLegion
in interface IClientGUI
private void markLegionAsSkipSplit(Legion legion)
public void resetAllLegionFlags()
public boolean isPickCarryOngoing()
isPickCarryOngoing
in interface IClientGUI
public void doPickCarries(Client client, int carryDamage, java.util.Set<java.lang.String> carryTargetDescriptions)
doPickCarries
in interface IClientGUI
public PickCarry getPickCarryDialog()
public void handlePickCarry(GUIBattleHex hex)
public void doPickColor(java.lang.String playerName, java.util.List<PlayerColor> colorsLeft)
doPickColor
in interface IClientGUI
public void bringUpPickColorDialog(java.lang.String playerName, java.util.List<PlayerColor> colorsLeft)
public void doPickSplitMarker(Legion parent, java.util.Set<java.lang.String> markersAvailable)
doPickSplitMarker
in interface IClientGUI
public void doPickInitialMarker(java.util.Set<java.lang.String> markersAvailable)
doPickInitialMarker
in interface IClientGUI
public void createPickMarkerDialog(ClientGUI gui, java.util.Set<java.lang.String> markerIds, Legion parent)
public CreatureType doPickRecruit(Legion legion, java.lang.String hexDescription)
doPickRecruit
in interface IClientGUI
public void markLegionAsSkipRecruit(Legion legion)
legion
- public java.lang.String doPickRecruiter(java.util.List<java.lang.String> recruiters, java.lang.String hexDescription, Legion legion)
doPickRecruiter
in interface IClientGUI
public EntrySide doPickEntrySide(MasterHex hex, java.util.Set<EntrySide> entrySides)
doPickEntrySide
in interface IClientGUI
public CreatureType doPickLord(java.util.List<CreatureType> lords)
doPickLord
in interface IClientGUI
public void doPickStrikePenalty(Client client, java.util.List<java.lang.String> choices)
doPickStrikePenalty
in interface IClientGUI
public void tellProposal(java.lang.String proposalString)
IClientGUI
tellProposal
in interface IClientGUI
public void cleanupNegotiationDialogs()
cleanupNegotiationDialogs
in interface IClientGUI
public void actOnTurnOrPlayerChange(Client client, int turnNr, Player player)
actOnTurnOrPlayerChange
in interface IClientGUI
public void actOnGameStarting()
actOnGameStarting
in interface IClientGUI
public void actOnSetupSplit()
actOnSetupSplit
in interface IClientGUI
private void validateLegions()
public void actOnSetupMuster()
actOnSetupMuster
in interface IClientGUI
public void actOnSetupMove()
actOnSetupMove
in interface IClientGUI
public void actOnSetupFight()
actOnSetupFight
in interface IClientGUI
public void actOnSetupBattleFight()
actOnSetupBattleFight
in interface IClientGUI
public void actOnSetupBattleMove()
actOnSetupBattleMove
in interface IClientGUI
public void actOnTellBattleMove(BattleHex startingHex, BattleHex endingHex, boolean rememberForUndo)
actOnTellBattleMove
in interface IClientGUI
public void actOnPendingBattleMoveOver()
actOnPendingBattleMoveOver
in interface IClientGUI
public void actOnDoneWithBattleMoves()
actOnDoneWithBattleMoves
in interface IClientGUI
public void actOnSetupBattleRecruit()
actOnSetupBattleRecruit
in interface IClientGUI
public void actOnSetupBattleSummon()
actOnSetupBattleSummon
in interface IClientGUI
private void addBattleChit(GUIBattleChit battleChit)
public java.util.List<GUIBattleChit> getGUIBattleChits()
public java.util.List<GUIBattleChit> getGUIBattleChitsInHex(BattleHex hex)
hex
- The hex to give Chits forpublic GUIBattleChit getGUIBattleChit(BattleHex hex)
public void actOnPlaceNewChit(java.lang.String imageName, BattleUnit battleUnit, BattleHex hex)
actOnPlaceNewChit
in interface IClientGUI
private java.lang.String getBattleUnitDescription(BattleCritter battleUnit)
public void actOnTellStrikeResults(boolean wasCarry, int strikeNumber, java.util.List<java.lang.String> rolls, BattleCritter striker, BattleCritter target)
actOnTellStrikeResults
in interface IClientGUI
public void actOnHitsSet(BattleUnit target)
actOnHitsSet
in interface IClientGUI
public void highlightCrittersWithTargets()
highlightCrittersWithTargets
in interface IClientGUI
public void actOnApplyCarries(BattleHex hex)
actOnApplyCarries
in interface IClientGUI
public void actOnCleanupBattle()
actOnCleanupBattle
in interface IClientGUI
void undoLastRecruit()
public void undoRecruit(Legion legion)
undoRecruit
in interface IClientGUI
legion
- The legion for which to undo the recruitprivate void handleUndoRecruit(Legion legion)
legion
- The legion for which to undo the recruitvoid undoAllSplits()
void undoLastSplit()
public void informSplitRequiredFirstRound()
informSplitRequiredFirstRound
in interface IClientGUI
void undoLastMove()
public void undoLastBattleMove()
undoLastBattleMove
in interface IClientGUI
public void undoAllBattleMoves()
undoAllBattleMoves
in interface IClientGUI
public void undoAllMoves()
undoAllMoves
in interface IClientGUI
public void undoAllRecruits()
undoAllRecruits
in interface IClientGUI
private void displayNoUndoWhilePendingMovesInfo()
public void defaultCursor()
defaultCursor
in interface IClientGUI
public void waitCursor()
waitCursor
in interface IClientGUI
public void doCleanupGUI()
doCleanupGUI
in interface IClientGUI
private void disposeMovementDie()
MovementDie getMovementDie()
private void cleanupGUI()
public void actOnTellGameOver(java.lang.String message, boolean disposeFollows)
actOnTellGameOver
in interface IClientGUI
message
- The message ("XXXX wins", or "Draw")disposeFollows
- If true, server will send a dispose message soonjava.lang.String getMessage()
public void showMessageDialogAndWait(java.lang.String message)
showMessageDialogAndWait
in interface IClientGUI
void doShowMessageDialog(java.lang.String message)
public void doConfirmAndQuit()
doConfirmAndQuit
in interface IClientGUI
public void showConnectionClosedMessage()
showConnectionClosedMessage
in interface IClientGUI
private javax.swing.JFrame getMapOrBoardFrame()
void negotiateCallback(Proposal proposal, boolean respawn)
public Player getOwningPlayer()
public java.lang.String getOwningPlayerName()
public boolean isMyTurn()
public Legion getMover()
public void setMover(Legion legion)
public boolean doMove(MasterHex hex)
public void actOnMoveNak()
actOnMoveNak
in interface IClientGUI
public void setMovePending(Legion mover, MasterHex currentHex, MasterHex targetHex)
setMovePending
in interface IClientGUI
private void updatePendingText()
public java.util.Set<MasterHex> getPendingMoveHexes()
public java.util.Set<MasterHex> getStillToMoveHexes()
public void setMoveCompleted(Legion mover, MasterHex current, MasterHex target)
setMoveCompleted
in interface IClientGUI
public void removeBattleChit(BattleUnit battleUnit)
removeBattleChit
in interface IClientGUI
public GUICallbacks getCallbackHandler()
public void answerPickColor(PlayerColor color)
public void leaveCarryMode()
leaveCarryMode
in interface GUICallbacks
public void applyCarries(BattleHex hex)
applyCarries
in interface GUICallbacks
public void acquireAngelCallback(Legion legion, CreatureType angelType)
acquireAngelCallback
in interface GUICallbacks
public void answerFlee(Legion ally, boolean answer)
answerFlee
in interface GUICallbacks
public void answerConcede(Legion legion, boolean answer)
answerConcede
in interface GUICallbacks
public void doBattleMove(int tag, BattleHex hex)
doBattleMove
in interface GUICallbacks
public void undoBattleMove(BattleHex hex)
undoBattleMove
in interface GUICallbacks
public void strike(int tag, BattleHex hex)
strike
in interface GUICallbacks
public void doneWithBattleMoves()
doneWithBattleMoves
in interface GUICallbacks
public void doneWithStrikes()
doneWithStrikes
in interface GUICallbacks
public void concede()
concede
in interface GUICallbacks