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 classBattleBoard.DicePanelprivate classBattleBoard.InfoPanelprivate classBattleBoard.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 booleanalreadyConcededprivate BattleMapbattleMapprivate static java.lang.StringconcedeBattleprivate javax.swing.AbstractActionconcedeBattleActionprivate static intcountprivate BattleBoard.DicePaneldicePanelprivate static java.lang.StringdoneWithPhaseprivate javax.swing.AbstractActiondoneWithPhaseActionprivate ClientGUIguiprivate javax.swing.JMenuhelpMenuprivate BattleBoard.InfoPanelinfoPanelprivate java.lang.StringinfoTextprivate static java.util.logging.LoggerLOGGERprivate javax.swing.JMenuBarmenuBarprivate javax.swing.JMenuphaseMenuprivate SaveWindowsaveWindowprivate intselectedCritterTagtag of the selected critter, or -1 if no critter is selected.private static java.lang.StringshowTerrainHazardprivate javax.swing.AbstractActionshowTerrainHazardActionprivate static java.lang.StringundoAllprivate javax.swing.AbstractActionundoAllActionprivate static java.lang.StringundoLastprivate javax.swing.AbstractActionundoLastAction-
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 voidactOnCritter(GUIBattleChit battleChit)private voidactOnHex(BattleHex hex)voidactOnHitsSet(BattleHex battleHex)private voidactOnMisclick()voidactOnPendingBattleMoveOver()private voidactOnWindowClosingAttempt()voidaddDiceResults(java.lang.String strikerDesc, java.lang.String targetDesc, int targetNumber, java.util.List<java.lang.String> rolls)private voidalignChits(java.util.Set<BattleHex> battleHexes)voidalignChits(BattleHex battleHex)private booleanconfirmLeavingCreaturesOffboard()private voiddisableDoneButton()voiddispose()private voidenableDoneButton()private GUIBattleChitgetBattleChitAtPoint(java.awt.Point point)Return the BattleChit containing the given point, or null if none does.BattleHexgetBattleHexByLabel(java.lang.String hexLabel)private ClientgetClient()private GameClientSidegetGame()private java.lang.StringgetInfoText()private voidhandleMousePressed(GUIBattleChit battleChit, GUIBattleHex hex)voidhighlightCrittersWithTargets()Select hexes containing critters that have valid strike targets.voidhighlightMobileCritters()Select all hexes containing critters eligible to move.private voidhighlightMoves(BattleCritter critter)voidhighlightPossibleCarries(java.util.Set<BattleHex> set)Highlight all hexes to which carries could be appliedprivate voidhighlightStrikes(BattleUnit battleUnit)Highlight all hexes with targets that the critter can strike.private booleanisFightPhase()private booleanisMovePhase()private booleanisMyBattleTurn()private booleanisMyTitanOffboard()private voidrepaintHex(BattleHex battleHex)voidreqFocus()voidrescale()private voidsetBattleMarkerLocation(boolean isDefender, java.lang.String hexLabel)private voidsetDefaultCursor()private voidsetupActions()(package private) voidsetupFightMenu()private voidsetupHelpMenu()private voidsetupIcon()voidsetupMoveMenu()voidsetupRecruitMenu()voidsetupSummonMenu()private voidsetupTopMenu()private voidsetWaitCursor()java.lang.StringtoString()voidunselectAllHexes()voidunselectHex(BattleHex hex)voidupdatePhaseAndTurn()-
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:
toStringin classjava.awt.Component
-
-