Class HexMap

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
    Direct Known Subclasses:
    BattleMap, PickEntrySide, ShowBattleMap

    public class HexMap
    extends javax.swing.JPanel
    Class HexMap displays a basic battle map.
    Author:
    David Ripton, Romain Dolbeau
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.JPanel

        javax.swing.JPanel.AccessibleJPanel
      • Nested classes/interfaces inherited from class javax.swing.JComponent

        javax.swing.JComponent.AccessibleJComponent
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.String basicName  
      protected int cx  
      protected int cy  
      private java.lang.String displayName  
      private GUIBattleHex[] entrances
      ne, e, se, sw, w, nw
      protected GUIBattleHex[][] h  
      protected java.util.List<GUIBattleHex> hexes  
      private static java.util.logging.Logger LOGGER  
      private MasterHex masterHex  
      private int scale  
      private java.lang.String subtitle  
      static boolean[][] VISIBLE_HEXES  
      • Fields inherited from class javax.swing.JComponent

        listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
      • Fields inherited from class java.awt.Component

        accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
      • Fields inherited from interface java.awt.image.ImageObserver

        ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected java.util.Set<BattleHex> getAllHexes()  
      java.lang.String getBasicName()  
      java.lang.String getDisplayName()  
      protected GUIBattleHex getGUIHexByModelHex​(BattleHex battleHex)
      Do a brute-force search through the hex array, looking for a match.
      BattleHex getHexByLabel​(java.lang.String hexLabel)  
      protected GUIBattleHex getHexContainingPoint​(java.awt.Point point)
      Return the GUIBattleHex that contains the given point, or null if none does.
      protected MasterHex getMasterHex()  
      java.awt.Dimension getMinimumSize()  
      java.awt.Dimension getPreferredSize()  
      java.lang.String getSubtitle()  
      void paintComponent​(java.awt.Graphics g)  
      protected void selectHex​(BattleHex battleHex)  
      protected void selectHexes​(java.util.Set<BattleHex> battleHexes)  
      void setBasicName​(java.lang.String basicName)  
      void setDisplayName​(java.lang.String displayName)  
      void setSubtitle​(java.lang.String subtitle)  
      private void setupEntrances()  
      private void setupEntrancesGUI()  
      protected void setupHexes()  
      private static void setupHexesGameState​(MasterBoardTerrain masterBoardTerrain, GUIBattleHex[][] h, boolean serverSideFirstLoad)
      Add terrain, hexsides, elevation, and exits to hexes.
      protected void setupHexesGUI()  
      protected static void setupNeighbors​(GUIBattleHex[][] h)
      Add references to neighbor hexes.
      protected void unselectAllHexes()  
      protected void unselectHex​(BattleHex battleHex)  
      • Methods inherited from class javax.swing.JPanel

        getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
      • Methods inherited from class javax.swing.JComponent

        addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
      • Methods inherited from class java.awt.Container

        add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • LOGGER

        private static final java.util.logging.Logger LOGGER
      • masterHex

        private final MasterHex masterHex
      • entrances

        private final GUIBattleHex[] entrances
        ne, e, se, sw, w, nw
      • VISIBLE_HEXES

        public static final boolean[][] VISIBLE_HEXES
      • scale

        private final int scale
      • cx

        protected final int cx
      • cy

        protected final int cy
      • displayName

        private java.lang.String displayName
      • basicName

        private java.lang.String basicName
      • subtitle

        private java.lang.String subtitle
    • Constructor Detail

      • HexMap

        public HexMap​(MasterHex masterHex)
      • HexMap

        public HexMap​(MasterHex masterHex,
                      boolean doSetup)
    • Method Detail

      • getMasterHex

        protected MasterHex getMasterHex()
      • setupHexes

        protected void setupHexes()
      • setupHexesGUI

        protected final void setupHexesGUI()
      • setupHexesGameState

        private static void setupHexesGameState​(MasterBoardTerrain masterBoardTerrain,
                                                GUIBattleHex[][] h,
                                                boolean serverSideFirstLoad)
        Add terrain, hexsides, elevation, and exits to hexes. Cliffs are bidirectional; other hexside obstacles are noted only on the high side, since they only interfere with uphill movement.
      • setupNeighbors

        protected static final void setupNeighbors​(GUIBattleHex[][] h)
        Add references to neighbor hexes.
      • setupEntrances

        private void setupEntrances()
      • setupEntrancesGUI

        private void setupEntrancesGUI()
      • unselectAllHexes

        protected void unselectAllHexes()
      • unselectHex

        protected void unselectHex​(BattleHex battleHex)
      • selectHex

        protected void selectHex​(BattleHex battleHex)
      • selectHexes

        protected void selectHexes​(java.util.Set<BattleHex> battleHexes)
      • getGUIHexByModelHex

        protected GUIBattleHex getGUIHexByModelHex​(BattleHex battleHex)
        Do a brute-force search through the hex array, looking for a match. Return the hex, or null.
      • getHexByLabel

        public BattleHex getHexByLabel​(java.lang.String hexLabel)
      • getHexContainingPoint

        protected GUIBattleHex getHexContainingPoint​(java.awt.Point point)
        Return the GUIBattleHex that contains the given point, or null if none does.
      • getAllHexes

        protected java.util.Set<BattleHex> getAllHexes()
      • paintComponent

        public void paintComponent​(java.awt.Graphics g)
        Overrides:
        paintComponent in class javax.swing.JComponent
      • getMinimumSize

        public java.awt.Dimension getMinimumSize()
        Overrides:
        getMinimumSize in class javax.swing.JComponent
      • getPreferredSize

        public java.awt.Dimension getPreferredSize()
        Overrides:
        getPreferredSize in class javax.swing.JComponent
      • getBasicName

        public java.lang.String getBasicName()
        Returns:
        the basicName
      • setBasicName

        public void setBasicName​(java.lang.String basicName)
        Parameters:
        basicName - the basicName to set
      • getDisplayName

        public java.lang.String getDisplayName()
        Returns:
        the displayName
      • setDisplayName

        public void setDisplayName​(java.lang.String displayName)
        Parameters:
        displayName - the displayName to set
      • getSubtitle

        public java.lang.String getSubtitle()
        Returns:
        the subtitle
      • setSubtitle

        public void setSubtitle​(java.lang.String subtitle)
        Parameters:
        subtitle - the subtitle to set