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 enumThis enumeration lists all 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.PhaseCommandNested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanelNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected AimedShotHandlerprotected booleanprotected intprotected intprotected booleanprotected booleanprotected Entity[]Fields inherited from class megamek.client.ui.panels.phaseDisplay.AttackPhaseDisplay
attacksFields inherited from class megamek.client.ui.panels.phaseDisplay.ActionPhaseDisplay
butSkipTurn, clientgui, currentEntity, gameFields inherited from class megamek.client.ui.panels.phaseDisplay.StatusBarPhaseDisplay
buttonsPerGroup, buttonsPerRow, clientGUI, currentButtonGroup, GUIP, MIN_BUTTON_SIZE, numButtonGroups, panButtons, panStatusFields inherited from class megamek.client.ui.panels.phaseDisplay.AbstractPhaseDisplay
butDone, DONE_BUTTON_WIDTHFields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields 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 TypeMethodDescriptionvoidprotected voidadaptFireModeEnabled(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 voidDoes turn start stuffprotected voidCalled Shots - changes the current called shots selectionprotected voidchangeMode(boolean forward) Fire Mode - Adds a Fire Mode Change to the current Attack Actionvoidclear()Clears the actions of this phase.protected voidRemoves all current fireprotected voidDisables all buttons in the interfaceprotected voidfire searchlightprotected voiddoSpot()The entity spends the rest of its turn spottingprotected voidDoes end turn stuff.voidSent when moving units is finished.voidfire()Adds a weapon attack with the currently selected weapon to the attack queue.voidvoidprotected ArrayList<MegaMekButton>Returns the list of buttons that should be displayed.protected Stringcalled by updateDonePanel to populate the label text of the Done button.protected Stringcalled by updateDonePanel to populate the label text of the NoAction button.voidhexMoused(BoardViewEvent event) Sent when user clicks, double clicks or drags hex.voidhexSelected(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).voidSkips to the next weaponvoidready()Tells the display to finish the current player turn and send all planned actions to the server.protected voidRefreshes all displays.protected voidRegister all of theCommandActions for this panel display.voidStop just ignoring events and actually stop listening to them.protected voidremoves the last actionprotected voidRemoves temp attacks from the game and boardvoidselectEntity(int en) Selects an entity, by number, for firing.protected voidsetActivateSPAEnabled(boolean enabled) protected voidset button that should be displayed.protected voidset button tool tips that should be displayed.protected voidsetFindClubEnabled(boolean enabled) protected voidsetFireCalledEnabled(boolean enabled) protected voidsetFireClearTurretEnabled(boolean enabled) protected voidsetFireClearWeaponJamEnabled(boolean enabled) protected voidsetFireEnabled(boolean enabled) protected voidsetFireModeEnabled(boolean enabled) protected voidsetFlipArmsEnabled(boolean enabled) protected voidsetNextEnabled(boolean enabled) protected voidsetNextTargetEnabled(boolean enabled) protected voidsetSearchlightEnabled(boolean enabled) protected voidsetSkipEnabled(boolean enabled) protected voidsetSpotEnabled(boolean enabled) protected voidsetStrafeEnabled(boolean enabled) protected voidsetTwistEnabled(boolean enabled) protected booleanvoidtarget(Targetable t) Targets somethingvoidtorsoTwist(int twistDir) Adds a torso twist (a.k.a.voidtorsoTwist(Coords twistTarget) Torso twist in the proper direction.protected voidprotected voidvoidunitSelected(BoardViewEvent event) Sent when Unit is selected.voidupdateFlipArms(boolean armsFlipped) update for change of arms-flipping statusprotected voidMake any necessary updates in the GUI after a new action has been added.protected voidvoidTargets somethingvoidvalueChanged(ListSelectionEvent event) Methods inherited from class megamek.client.ui.panels.phaseDisplay.AttackPhaseDisplay
addAttack, addAttack, removeAllAttacks, removeAttack, updateDonePanelMethods inherited from class megamek.client.ui.panels.phaseDisplay.ActionPhaseDisplay
checkNagForCrushingBuildings, checkNagForMASC, checkNagForMechanicalJumpFallDamage, checkNagForNoAction, checkNagForNoUnJamRAC, checkNagForOverheat, checkNagForPSR, checkNagForSprint, checkNagForWiGELanding, checkNagLaunchDoors, clearMarkedHexes, clearMovementSprites, currentEntity, getCurrentEntity, initDonePanelForNewTurn, needNagForCrushingBuildings, needNagForLaunchDoors, needNagForMASC, needNagForMechanicalJumpFallDamage, needNagForNoAction, needNagForNoUnJamRAC, needNagForOther, needNagForOverheat, needNagForPSR, needNagForSprint, needNagForWiGELanding, performDoneNoAction, preferenceChange, setupDonePanel, shouldReceiveDoneKeyCommand, updateDonePanelButtonsMethods inherited from class megamek.client.ui.panels.phaseDisplay.StatusBarPhaseDisplay
addToDonePanel, createButton, createToolTip, extendTimer, getRemainingPlayerWithTurns, isTimerExpired, playerNameOrUnknown, setStatusBarText, setStatusBarWithNotDonePlayers, setupButtonPanel, setupStatusBar, shouldReceiveKeyCommands, startTimer, stopTimerMethods 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, setIgnoringEventsMethods inherited from class megamek.client.ui.widget.SkinnedJPanel
paintComponentMethods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIMethods 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, updateMethods 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, validateTreeMethods 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, transferFocusUpCycleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods 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:AttackPhaseDisplaycalled 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:
getDoneButtonLabelin classAttackPhaseDisplay- Returns:
- text for label
-
getSkipTurnButtonLabel
Description copied from class:AttackPhaseDisplaycalled 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:
getSkipTurnButtonLabelin classAttackPhaseDisplay- Returns:
- text for label
-
setButtons
protected void setButtons()Description copied from class:StatusBarPhaseDisplayset button that should be displayed.- Specified by:
setButtonsin classStatusBarPhaseDisplay
-
setButtonsTooltips
protected void setButtonsTooltips()Description copied from class:StatusBarPhaseDisplayset button tool tips that should be displayed.- Specified by:
setButtonsTooltipsin classStatusBarPhaseDisplay
-
twistLeft
protected void twistLeft() -
twistRight
protected void twistRight() -
shouldPerformClearKeyCommand
protected boolean shouldPerformClearKeyCommand() -
registerKeyCommands
protected void registerKeyCommands()Register all of theCommandActions for this panel display. -
getButtonList
Description copied from class:StatusBarPhaseDisplayReturns the list of buttons that should be displayed.- Specified by:
getButtonListin 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:AbstractPhaseDisplayTells 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:
readyin 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:BoardViewListenerSent when user clicks, double clicks or drags hex.- Specified by:
hexMousedin interfaceBoardViewListener- Overrides:
hexMousedin classAbstractPhaseDisplay- Parameters:
event- an event
-
hexSelected
Description copied from interface:BoardViewListenerSent 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:
hexSelectedin interfaceBoardViewListener- Overrides:
hexSelectedin classAbstractPhaseDisplay- Parameters:
event- The select event- See Also:
-
gameTurnChange
- Specified by:
gameTurnChangein interfaceGameListener- Overrides:
gameTurnChangein classAbstractPhaseDisplay
-
gamePhaseChange
- Specified by:
gamePhaseChangein interfaceGameListener- Overrides:
gamePhaseChangein classAbstractPhaseDisplay
-
actionPerformed
- Specified by:
actionPerformedin interfaceActionListener
-
updateFlipArms
public void updateFlipArms(boolean armsFlipped) update for change of arms-flipping status -
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:StatusBarPhaseDisplayClears the actions of this phase. Called usually when the ESC key is pressed.- Specified by:
clearin classStatusBarPhaseDisplay
-
finishedMovingUnits
Description copied from interface:BoardViewListenerSent when moving units is finished.- Specified by:
finishedMovingUnitsin interfaceBoardViewListener- Overrides:
finishedMovingUnitsin classAbstractPhaseDisplay- Parameters:
b- an event
-
unitSelected
Description copied from interface:BoardViewListenerSent when Unit is selected.- Specified by:
unitSelectedin interfaceBoardViewListener- Overrides:
unitSelectedin classAbstractPhaseDisplay- Parameters:
event- an event
-
valueChanged
- Specified by:
valueChangedin interfaceListSelectionListener
-
removeAllListeners
public void removeAllListeners()Description copied from interface:DistractableStop just ignoring events and actually stop listening to them.- Specified by:
removeAllListenersin interfaceDistractable- Overrides:
removeAllListenersin classActionPhaseDisplay
-
getTarget
-