Package net.sf.colossus.gui
Class BattleBoard
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Frame
-
- javax.swing.JFrame
-
- net.sf.colossus.guiutil.KFrame
-
- net.sf.colossus.gui.BattleBoard
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
,javax.swing.RootPaneContainer
,javax.swing.WindowConstants
public final class BattleBoard extends KFrame
A GUI representation of a battle in the game. TODO this is split of the former BattleMap which did everything by itself. The split is not really completed, there is still code which potentially belongs into the other class.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
BattleBoard.DicePanel
private class
BattleBoard.InfoPanel
private class
BattleBoard.TurnPanel
-
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
-
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
alreadyConceded
private BattleMap
battleMap
private static java.lang.String
concedeBattle
private javax.swing.AbstractAction
concedeBattleAction
private static int
count
private BattleBoard.DicePanel
dicePanel
private static java.lang.String
doneWithPhase
private javax.swing.AbstractAction
doneWithPhaseAction
private ClientGUI
gui
private javax.swing.JMenu
helpMenu
private BattleBoard.InfoPanel
infoPanel
private java.lang.String
infoText
private static java.util.logging.Logger
LOGGER
private javax.swing.JMenuBar
menuBar
private javax.swing.JMenu
phaseMenu
private SaveWindow
saveWindow
private int
selectedCritterTag
tag of the selected critter, or -1 if no critter is selected.private static java.lang.String
showTerrainHazard
private javax.swing.AbstractAction
showTerrainHazardAction
private static java.lang.String
undoAll
private javax.swing.AbstractAction
undoAllAction
private static java.lang.String
undoLast
private javax.swing.AbstractAction
undoLastAction
-
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
-
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
-
Constructor Summary
Constructors Constructor Description BattleBoard(ClientGUI gui, Engagement engagement)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
actOnCritter(GUIBattleChit battleChit)
private void
actOnHex(BattleHex hex)
void
actOnHitsSet(BattleHex battleHex)
private void
actOnMisclick()
void
actOnPendingBattleMoveOver()
private void
actOnWindowClosingAttempt()
void
addDiceResults(java.lang.String strikerDesc, java.lang.String targetDesc, int targetNumber, java.util.List<java.lang.String> rolls)
private void
alignChits(java.util.Set<BattleHex> battleHexes)
void
alignChits(BattleHex battleHex)
private boolean
confirmLeavingCreaturesOffboard()
private void
disableDoneButton()
void
dispose()
private void
enableDoneButton()
private GUIBattleChit
getBattleChitAtPoint(java.awt.Point point)
Return the BattleChit containing the given point, or null if none does.BattleHex
getBattleHexByLabel(java.lang.String hexLabel)
private Client
getClient()
private GameClientSide
getGame()
private java.lang.String
getInfoText()
private void
handleMousePressed(GUIBattleChit battleChit, GUIBattleHex hex)
void
highlightCrittersWithTargets()
Select hexes containing critters that have valid strike targets.void
highlightMobileCritters()
Select all hexes containing critters eligible to move.private void
highlightMoves(BattleCritter critter)
void
highlightPossibleCarries(java.util.Set<BattleHex> set)
Highlight all hexes to which carries could be appliedprivate void
highlightStrikes(BattleUnit battleUnit)
Highlight all hexes with targets that the critter can strike.private boolean
isFightPhase()
private boolean
isMovePhase()
private boolean
isMyBattleTurn()
private boolean
isMyTitanOffboard()
private void
repaintHex(BattleHex battleHex)
void
reqFocus()
void
rescale()
private void
setBattleMarkerLocation(boolean isDefender, java.lang.String hexLabel)
private void
setDefaultCursor()
private void
setupActions()
(package private) void
setupFightMenu()
private void
setupHelpMenu()
private void
setupIcon()
void
setupMoveMenu()
void
setupRecruitMenu()
void
setupSummonMenu()
private void
setupTopMenu()
private void
setWaitCursor()
java.lang.String
toString()
void
unselectAllHexes()
void
unselectHex(BattleHex hex)
void
updatePhaseAndTurn()
-
Methods inherited from class net.sf.colossus.guiutil.KFrame
centerOnScreen, setVisible, useSaveWindow
-
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
-
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
-
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, show, toBack, toFront
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
LOGGER
private static final java.util.logging.Logger LOGGER
-
count
private static int count
-
menuBar
private javax.swing.JMenuBar menuBar
-
phaseMenu
private javax.swing.JMenu phaseMenu
-
helpMenu
private javax.swing.JMenu helpMenu
-
infoPanel
private final BattleBoard.InfoPanel infoPanel
-
dicePanel
private final BattleBoard.DicePanel dicePanel
-
gui
private final ClientGUI gui
-
infoText
private final java.lang.String infoText
-
selectedCritterTag
private int selectedCritterTag
tag of the selected critter, or -1 if no critter is selected.
-
undoLast
private static final java.lang.String undoLast
- See Also:
- Constant Field Values
-
undoAll
private static final java.lang.String undoAll
- See Also:
- Constant Field Values
-
doneWithPhase
private static final java.lang.String doneWithPhase
- See Also:
- Constant Field Values
-
concedeBattle
private static final java.lang.String concedeBattle
- See Also:
- Constant Field Values
-
showTerrainHazard
private static final java.lang.String showTerrainHazard
- See Also:
- Constant Field Values
-
undoLastAction
private javax.swing.AbstractAction undoLastAction
-
undoAllAction
private javax.swing.AbstractAction undoAllAction
-
doneWithPhaseAction
private javax.swing.AbstractAction doneWithPhaseAction
-
concedeBattleAction
private javax.swing.AbstractAction concedeBattleAction
-
showTerrainHazardAction
private javax.swing.AbstractAction showTerrainHazardAction
-
saveWindow
private final SaveWindow saveWindow
-
battleMap
private final BattleMap battleMap
-
alreadyConceded
private boolean alreadyConceded
-
-
Constructor Detail
-
BattleBoard
public BattleBoard(ClientGUI gui, Engagement engagement)
-
-
Method Detail
-
handleMousePressed
private void handleMousePressed(GUIBattleChit battleChit, GUIBattleHex hex)
-
actOnWindowClosingAttempt
private void actOnWindowClosingAttempt()
-
setBattleMarkerLocation
private void setBattleMarkerLocation(boolean isDefender, java.lang.String hexLabel)
-
getClient
private Client getClient()
-
getGame
private GameClientSide getGame()
-
isFightPhase
private boolean isFightPhase()
-
isMovePhase
private boolean isMovePhase()
-
isMyBattleTurn
private boolean isMyBattleTurn()
-
getInfoText
private java.lang.String getInfoText()
-
setupActions
private void setupActions()
-
setupTopMenu
private void setupTopMenu()
-
setupHelpMenu
private void setupHelpMenu()
-
setupSummonMenu
public void setupSummonMenu()
-
setupRecruitMenu
public void setupRecruitMenu()
-
setupMoveMenu
public void setupMoveMenu()
-
setupFightMenu
void setupFightMenu()
-
updatePhaseAndTurn
public void updatePhaseAndTurn()
-
setupIcon
private void setupIcon()
-
getBattleChitAtPoint
private GUIBattleChit getBattleChitAtPoint(java.awt.Point point)
Return the BattleChit containing the given point, or null if none does.
-
alignChits
public void alignChits(BattleHex battleHex)
-
alignChits
private void alignChits(java.util.Set<BattleHex> battleHexes)
-
highlightMobileCritters
public void highlightMobileCritters()
Select all hexes containing critters eligible to move.
-
highlightMoves
private void highlightMoves(BattleCritter critter)
-
highlightCrittersWithTargets
public void highlightCrittersWithTargets()
Select hexes containing critters that have valid strike targets.
-
highlightStrikes
private void highlightStrikes(BattleUnit battleUnit)
Highlight all hexes with targets that the critter can strike.
-
highlightPossibleCarries
public void highlightPossibleCarries(java.util.Set<BattleHex> set)
Highlight all hexes to which carries could be applied
-
setWaitCursor
private void setWaitCursor()
-
setDefaultCursor
private void setDefaultCursor()
-
confirmLeavingCreaturesOffboard
private boolean confirmLeavingCreaturesOffboard()
-
isMyTitanOffboard
private boolean isMyTitanOffboard()
-
actOnCritter
private void actOnCritter(GUIBattleChit battleChit)
-
actOnHex
private void actOnHex(BattleHex hex)
-
actOnMisclick
private void actOnMisclick()
-
actOnPendingBattleMoveOver
public void actOnPendingBattleMoveOver()
-
rescale
public void rescale()
-
reqFocus
public void reqFocus()
-
enableDoneButton
private void enableDoneButton()
-
disableDoneButton
private void disableDoneButton()
-
unselectAllHexes
public void unselectAllHexes()
-
unselectHex
public void unselectHex(BattleHex hex)
-
actOnHitsSet
public void actOnHitsSet(BattleHex battleHex)
-
repaintHex
private void repaintHex(BattleHex battleHex)
-
addDiceResults
public void addDiceResults(java.lang.String strikerDesc, java.lang.String targetDesc, int targetNumber, java.util.List<java.lang.String> rolls)
-
getBattleHexByLabel
public BattleHex getBattleHexByLabel(java.lang.String hexLabel)
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.awt.Component
-
-