Class FiringDisplay
java.lang.Object
- All Implemented Interfaces:
ActionListener
,ImageObserver
,MenuContainer
,Serializable
,EventListener
,Accessible
,ListSelectionListener
,BoardViewListener
,KeyBindReceiver
,GameListener
,IPreferenceChangeListener
,Distractable
- Direct Known Subclasses:
PointblankShotDisplay
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
This enumeration lists all of the possible ActionCommands that can be carried out during the firing phase.Nested classes/interfaces inherited from class megamek.client.ui.panels.phaseDisplay.StatusBarPhaseDisplay
StatusBarPhaseDisplay.CommandComparator, StatusBarPhaseDisplay.PhaseCommand
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected AimedShotHandler
protected boolean
protected int
protected int
protected boolean
protected boolean
protected Entity[]
Fields inherited from class megamek.client.ui.panels.phaseDisplay.AttackPhaseDisplay
attacks
Fields inherited from class megamek.client.ui.panels.phaseDisplay.ActionPhaseDisplay
butSkipTurn, clientgui, currentEntity, game
Fields inherited from class megamek.client.ui.panels.phaseDisplay.StatusBarPhaseDisplay
buttonsPerGroup, buttonsPerRow, currentButtonGroup, GUIP, MIN_BUTTON_SIZE, numButtonGroups, panButtons, panStatus
Fields inherited from class megamek.client.ui.panels.phaseDisplay.AbstractPhaseDisplay
butDone, DONE_BUTTON_WIDTH
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
-
Constructor Summary
ConstructorsConstructorDescriptionFiringDisplay
(ClientGUI clientgui) Creates and lays out a new firing phase display for the specified clientgui.getClient(). -
Method Summary
Modifier and TypeMethodDescriptionvoid
protected void
adaptFireModeEnabled
(Mounted<?> m) Enables the mode button when mode switching is allowed (always true except for LAMs with certain weapons) and the weapon has modes.protected void
Does turn start stuffprotected void
Called Shots - changes the current called shots selectionprotected void
changeMode
(boolean forward) Fire Mode - Adds a Fire Mode Change to the current Attack Actionvoid
clear()
Clears the actions of this phase.protected void
Removes all current fireprotected void
Disables all buttons in the interfaceprotected void
fire searchlightprotected void
doSpot()
The entity spends the rest of its turn spottingprotected void
Does end turn stuff.void
Sent when moving units is finished.void
fire()
Adds a weapon attack with the currently selected weapon to the attack queue.void
void
protected ArrayList<MegaMekButton>
Returns the list of buttons that should be displayed.protected String
called by updateDonePanel to populate the label text of the Done button.protected String
called by updateDonePanel to populate the label text of the NoAction button.void
hexMoused
(BoardViewEvent event) Sent when user clicks, double clicks or drags hex.void
hexSelected
(BoardViewEvent event) Sent when Hex is selected through a call to the select method (this is not a mouse click event, although many mouse clicks lead to the hex being selected).void
Skips to the next weaponvoid
ready()
Tells the display to finish the current player turn and send all planned actions to the server.protected void
Refreshes all displays.protected void
Register all of theCommandAction
s for this panel display.void
Stop just ignoring events and actually stop listening to them.protected void
removes the last actionprotected void
Removes temp attacks from the game and boardvoid
selectEntity
(int en) Selects an entity, by number, for firing.protected void
setActivateSPAEnabled
(boolean enabled) protected void
set button that should be displayed.protected void
set button tool tips that should be displayed.protected void
setFindClubEnabled
(boolean enabled) protected void
setFireCalledEnabled
(boolean enabled) protected void
setFireClearTurretEnabled
(boolean enabled) protected void
setFireClearWeaponJamEnabled
(boolean enabled) protected void
setFireEnabled
(boolean enabled) protected void
setFireModeEnabled
(boolean enabled) protected void
setFlipArmsEnabled
(boolean enabled) protected void
setNextEnabled
(boolean enabled) protected void
setNextTargetEnabled
(boolean enabled) protected void
setSearchlightEnabled
(boolean enabled) protected void
setSkipEnabled
(boolean enabled) protected void
setSpotEnabled
(boolean enabled) protected void
setStrafeEnabled
(boolean enabled) protected void
setTwistEnabled
(boolean enabled) protected boolean
void
target
(Targetable t) Targets somethingvoid
torsoTwist
(int twistDir) Adds a torso twist (a.k.a.void
torsoTwist
(Coords twistTarget) Torso twist in the proper direction.protected void
protected void
void
unitSelected
(BoardViewEvent event) Sent when Unit is selected.void
updateFlipArms
(boolean armsFlipped) update for change of arms-flipping statusprotected void
Make any necessary updates in the GUI after a new action has been added.protected void
void
Targets somethingvoid
valueChanged
(ListSelectionEvent event) Methods inherited from class megamek.client.ui.panels.phaseDisplay.AttackPhaseDisplay
addAttack, addAttack, removeAllAttacks, removeAttack, updateDonePanel
Methods inherited from class megamek.client.ui.panels.phaseDisplay.ActionPhaseDisplay
ce, checkNagForCrushingBuildings, checkNagForMASC, checkNagForMechanicalJumpFallDamage, checkNagForNoAction, checkNagForNoUnJamRAC, checkNagForOverheat, checkNagForPSR, checkNagForSprint, checkNagForWiGELanding, checkNagLaunchDoors, clearMarkedHexes, clearMovementSprites, getCurrentEntity, initDonePanelForNewTurn, needNagForCrushingBuildings, needNagForLaunchDoors, needNagForMASC, needNagForMechanicalJumpFallDamage, needNagForNoAction, needNagForNoUnJamRAC, needNagForOther, needNagForOverheat, needNagForPSR, needNagForSprint, needNagForWiGELanding, performDoneNoAction, preferenceChange, setupDonePanel, shouldReceiveDoneKeyCommand, updateDonePanelButtons
Methods inherited from class megamek.client.ui.panels.phaseDisplay.StatusBarPhaseDisplay
addToDonePanel, createButton, createToolTip, extendTimer, getRemainingPlayerWithTurns, isTimerExpired, playerNameOrUnknown, setStatusBarText, setStatusBarWithNotDonePlayers, setupButtonPanel, setupStatusBar, shouldReceiveKeyCommands, startTimer, stopTimer
Methods inherited from class megamek.client.ui.panels.phaseDisplay.AbstractPhaseDisplay
boardHexHighlighted, firstLOSHex, gameBoardChanged, gameBoardNew, gameClientFeedbackRequest, gameEnd, gameEntityChange, gameEntityNew, gameEntityNewOffboard, gameEntityRemove, gameMapQuery, gameNewAction, gamePlayerChange, gamePlayerChat, gamePlayerConnected, gamePlayerDisconnected, gameReport, gameSettingsChange, gameVictory, getButDone, getClientgui, hexCursor, isIgnoringEvents, isMyTurn, secondLOSHex, sendDone, setIgnoringEvents
Methods inherited from class megamek.client.ui.widget.SkinnedJPanel
paintComponent
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, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, 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
Methods inherited from interface megamek.common.event.GameListener
gamePlayerStrategicAction, gameScriptedEvent, gameUnitChange
-
Field Details
-
showTargetChoice
protected boolean showTargetChoice -
twisting
protected boolean twisting -
visibleTargets
-
lastTargetID
protected int lastTargetID -
ash
-
isStrafing
protected boolean isStrafing -
phaseInternalBombs
protected int phaseInternalBombs
-
-
Constructor Details
-
FiringDisplay
Creates and lays out a new firing phase display for the specified clientgui.getClient().
-
-
Method Details
-
getDoneButtonLabel
Description copied from class:AttackPhaseDisplay
called by updateDonePanel to populate the label text of the Done button. Usually wraps a call to Messages.getString(...Fire) but can be extended to add more details.- Specified by:
getDoneButtonLabel
in classAttackPhaseDisplay
- Returns:
- text for label
-
getSkipTurnButtonLabel
Description copied from class:AttackPhaseDisplay
called by updateDonePanel to populate the label text of the NoAction button. Usually wraps a call to Messages.getString(...Skip) but can be extended to add more details.- Specified by:
getSkipTurnButtonLabel
in classAttackPhaseDisplay
- Returns:
- text for label
-
setButtons
protected void setButtons()Description copied from class:StatusBarPhaseDisplay
set button that should be displayed.- Specified by:
setButtons
in classStatusBarPhaseDisplay
-
setButtonsTooltips
protected void setButtonsTooltips()Description copied from class:StatusBarPhaseDisplay
set button tool tips that should be displayed.- Specified by:
setButtonsTooltips
in classStatusBarPhaseDisplay
-
twistLeft
protected void twistLeft() -
twistRight
protected void twistRight() -
shouldPerformClearKeyCommand
protected boolean shouldPerformClearKeyCommand() -
registerKeyCommands
protected void registerKeyCommands()Register all of theCommandAction
s for this panel display. -
getButtonList
Description copied from class:StatusBarPhaseDisplay
Returns the list of buttons that should be displayed.- Specified by:
getButtonList
in classStatusBarPhaseDisplay
-
selectEntity
public void selectEntity(int en) Selects an entity, by number, for firing. -
beginMyTurn
protected void beginMyTurn()Does turn start stuff -
endMyTurn
protected void endMyTurn()Does end turn stuff. -
disableButtons
protected void disableButtons()Disables all buttons in the interface -
changeMode
protected void changeMode(boolean forward) Fire Mode - Adds a Fire Mode Change to the current Attack Action -
changeCalled
protected void changeCalled()Called Shots - changes the current called shots selection -
ready
public void ready()Description copied from class:AbstractPhaseDisplay
Tells the display to finish the current player turn and send all planned actions to the server. Planned actions are e.g. movement, attacks or deployment. Usually, the planned actions are all actions that, together, make up a single unit's turn, e.g. all weapon attacks of one unit.- Specified by:
ready
in classAbstractPhaseDisplay
-
doSearchlight
protected void doSearchlight()fire searchlight -
fire
public void fire()Adds a weapon attack with the currently selected weapon to the attack queue. -
nextWeapon
public void nextWeapon()Skips to the next weapon -
doSpot
protected void doSpot()The entity spends the rest of its turn spotting -
clearAttacks
protected void clearAttacks()Removes all current fire -
removeTempAttacks
protected void removeTempAttacks()Removes temp attacks from the game and board -
removeLastFiring
protected void removeLastFiring()removes the last action -
refreshAll
protected void refreshAll()Refreshes all displays. -
updateForNewAction
protected void updateForNewAction()Make any necessary updates in the GUI after a new action has been added. -
target
Targets something -
updateTarget
public void updateTarget()Targets something -
torsoTwist
Torso twist in the proper direction. -
torsoTwist
public void torsoTwist(int twistDir) Adds a torso twist (a.k.a. secondary facing change) to the pending actions. This first clears out any existing attacks!- Parameters:
twistDir
- 0 for twisting to the left, 1 to the right
-
hexMoused
Description copied from interface:BoardViewListener
Sent when user clicks, double clicks or drags hex.- Specified by:
hexMoused
in interfaceBoardViewListener
- Overrides:
hexMoused
in classAbstractPhaseDisplay
- Parameters:
event
- an event
-
hexSelected
Description copied from interface:BoardViewListener
Sent when Hex is selected through a call to the select method (this is not a mouse click event, although many mouse clicks lead to the hex being selected).- Specified by:
hexSelected
in interfaceBoardViewListener
- Overrides:
hexSelected
in classAbstractPhaseDisplay
- Parameters:
event
- The select event- See Also:
-
gameTurnChange
- Specified by:
gameTurnChange
in interfaceGameListener
- Overrides:
gameTurnChange
in classAbstractPhaseDisplay
-
gamePhaseChange
- Specified by:
gamePhaseChange
in interfaceGameListener
- Overrides:
gamePhaseChange
in classAbstractPhaseDisplay
-
actionPerformed
- Specified by:
actionPerformed
in interfaceActionListener
-
updateFlipArms
public void updateFlipArms(boolean armsFlipped) update for change of arms-flipping status- Parameters:
armsFlipped
-
-
updateSearchlight
protected void updateSearchlight() -
setFireEnabled
protected void setFireEnabled(boolean enabled) -
setTwistEnabled
protected void setTwistEnabled(boolean enabled) -
setSkipEnabled
protected void setSkipEnabled(boolean enabled) -
setFindClubEnabled
protected void setFindClubEnabled(boolean enabled) -
setNextTargetEnabled
protected void setNextTargetEnabled(boolean enabled) -
setFlipArmsEnabled
protected void setFlipArmsEnabled(boolean enabled) -
setSpotEnabled
protected void setSpotEnabled(boolean enabled) -
setSearchlightEnabled
protected void setSearchlightEnabled(boolean enabled) -
setFireModeEnabled
protected void setFireModeEnabled(boolean enabled) -
adaptFireModeEnabled
Enables the mode button when mode switching is allowed (always true except for LAMs with certain weapons) and the weapon has modes. Disables otherwise.- Parameters:
m
- The active weapon
-
setFireCalledEnabled
protected void setFireCalledEnabled(boolean enabled) -
setFireClearTurretEnabled
protected void setFireClearTurretEnabled(boolean enabled) -
setFireClearWeaponJamEnabled
protected void setFireClearWeaponJamEnabled(boolean enabled) -
setStrafeEnabled
protected void setStrafeEnabled(boolean enabled) -
setNextEnabled
protected void setNextEnabled(boolean enabled) -
setActivateSPAEnabled
protected void setActivateSPAEnabled(boolean enabled) -
clear
public void clear()Description copied from class:StatusBarPhaseDisplay
Clears the actions of this phase. Called usually when the ESC key is pressed.- Specified by:
clear
in classStatusBarPhaseDisplay
-
finishedMovingUnits
Description copied from interface:BoardViewListener
Sent when moving units is finished.- Specified by:
finishedMovingUnits
in interfaceBoardViewListener
- Overrides:
finishedMovingUnits
in classAbstractPhaseDisplay
- Parameters:
b
- an event
-
unitSelected
Description copied from interface:BoardViewListener
Sent when Unit is selected.- Specified by:
unitSelected
in interfaceBoardViewListener
- Overrides:
unitSelected
in classAbstractPhaseDisplay
- Parameters:
event
- an event
-
valueChanged
- Specified by:
valueChanged
in interfaceListSelectionListener
-
removeAllListeners
public void removeAllListeners()Description copied from interface:Distractable
Stop just ignoring events and actually stop listening to them.- Specified by:
removeAllListeners
in interfaceDistractable
- Overrides:
removeAllListeners
in classActionPhaseDisplay
-
getTarget
-