Class TargetingPhaseDisplay
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
megamek.client.ui.widget.SkinnedJPanel
megamek.client.ui.panels.phaseDisplay.AbstractPhaseDisplay
megamek.client.ui.panels.phaseDisplay.StatusBarPhaseDisplay
megamek.client.ui.panels.phaseDisplay.ActionPhaseDisplay
megamek.client.ui.panels.phaseDisplay.AttackPhaseDisplay
megamek.client.ui.panels.phaseDisplay.TargetingPhaseDisplay
- All Implemented Interfaces:
ActionListener,ImageObserver,MenuContainer,Serializable,EventListener,Accessible,ListSelectionListener,BoardViewListener,KeyBindReceiver,GameListener,IPreferenceChangeListener,Distractable
Targeting Phase Display. Breaks naming convention because TargetingDisplay is too easy to confuse with something
else
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumThis enumeration lists all the possible ActionCommands that can be carried out during the deployment minefield 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 booleanFields inherited from class megamek.client.ui.panels.phaseDisplay.AttackPhaseDisplay
attacks, NO_EXCLUDED_LOCATIONFields 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
ConstructorsConstructorDescriptionTargetingPhaseDisplay(ClientGUI clientgui, boolean offboard) Creates and lays out a new targeting phase display for the specified clientGUI.getClient(). -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidclear()Clears the actions of this phase.protected voidRemoves all current fireprotected voiddeclareSecondaryFacing(int facing) Declares a torso/turret twist to the given facing through the targeting-phase twist path, used by the Rotate Turret dialog for vehicle main turrets.protected voidclear weapon jamvoidSent when moving units is finished.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.voidSent when user clicks, double clicks or drags hex.voidSent 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).voidHave the panel register itself as a listener wherever it's needed.voidready()Tells the display to finish the current player turn and send all planned actions to the server.protected voidRefreshes the targeting-phase target panel after a Directional Torso Mount arc change.protected voidRegister all of theCommandActions for this panel display.voidStop just ignoring events and actually stop listening to them.protected voidset button that should be displayed.protected voidset button tool tips that should be displayed.protected voidsetFlipMountEnabled(boolean enabled) Enables or disables the Flip Mount button.protected voidsetRotateRearTurretEnabled(boolean enabled) Enables or disables the second Rotate Turret button (the rear turret of a dual-turret vehicle).protected voidsetRotateTurretEnabled(boolean enabled) Enables or disables the Rotate Turret button.protected voidsetRotateTurretLabel(boolean dualTurretTank) Relabels the Rotate Turret button for the selected unit: on a dual-turret vehicle it reads "Rotate Fr.protected voidsetTwistEnabled(boolean enabled) protected booleanvoidtarget(Targetable t) Targets somethingprotected voidprotected voidvoidSent when Unit is selected.voidupdateDisplayForPendingAttack(Mounted<?> mounted, WeaponAttackAction waa) Worker function that handles setting associated ammo and other bookkeeping/UI updates for a pending weapon attack action.voidTargets somethingvoidvalueChanged(ListSelectionEvent event) Methods inherited from class megamek.client.ui.panels.phaseDisplay.AttackPhaseDisplay
addAttack, addAttack, flipDirectionalMount, pendingDirectionalMountFacings, removeAllAttacks, removeAttack, rotateRearTurret, rotateSelectedMount, updateDonePanel, updateFlipMount, updateRotateTurretMethods 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, gamePollChange, gameScriptedEvent, gameToast, gameUnitChange
-
Field Details
-
buttons
-
twisting
protected boolean twisting
-
-
Constructor Details
-
TargetingPhaseDisplay
Creates and lays out a new targeting 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. -
initializeListeners
public void initializeListeners()Have the panel register itself as a listener wherever it's needed.According to IBM it is a major bad no-no to perform these registrations before the constructor finishes, so this function has to be called after the panel is created. Please note, this restriction only applies to listeners for objects that aren't on the panel itself.
-
getButtonList
Description copied from class:StatusBarPhaseDisplayReturns the list of buttons that should be displayed.- Specified by:
getButtonListin classStatusBarPhaseDisplay
-
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
-
updateDisplayForPendingAttack
Worker function that handles setting associated ammo and other bookkeeping/UI updates for a pending weapon attack action. -
clearAttacks
protected void clearAttacks()Removes all current fire- Overrides:
clearAttacksin classAttackPhaseDisplay
-
target
Targets something -
updateTarget
public void updateTarget()Targets something -
hexMoused
Description copied from interface:BoardViewListenerSent when user clicks, double clicks or drags hex.- Specified by:
hexMousedin interfaceBoardViewListener- Overrides:
hexMousedin classAbstractPhaseDisplay- Parameters:
b- 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:
b- 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
-
doClearWeaponJam
protected void doClearWeaponJam()clear weapon jam -
setTwistEnabled
protected void setTwistEnabled(boolean enabled) -
setFlipMountEnabled
protected void setFlipMountEnabled(boolean enabled) Description copied from class:AttackPhaseDisplayEnables or disables the Flip Mount button. The default is a no-op; displays that provide the button override this to toggle their own button and menu item.- Overrides:
setFlipMountEnabledin classAttackPhaseDisplay- Parameters:
enabled- whether the Flip Mount button should be enabled
-
setRotateTurretEnabled
protected void setRotateTurretEnabled(boolean enabled) Description copied from class:AttackPhaseDisplayEnables or disables the Rotate Turret button. The default is a no-op; displays that provide the button override this to toggle their own button and menu item.- Overrides:
setRotateTurretEnabledin classAttackPhaseDisplay- Parameters:
enabled- whether the Rotate Turret button should be enabled
-
setRotateRearTurretEnabled
protected void setRotateRearTurretEnabled(boolean enabled) Description copied from class:AttackPhaseDisplayEnables or disables the second Rotate Turret button (the rear turret of a dual-turret vehicle). The default is a no-op; displays that provide the button override this to toggle their own button and menu item.- Overrides:
setRotateRearTurretEnabledin classAttackPhaseDisplay- Parameters:
enabled- whether the rear-turret rotate button should be enabled
-
setRotateTurretLabel
protected void setRotateTurretLabel(boolean dualTurretTank) Description copied from class:AttackPhaseDisplayRelabels the Rotate Turret button for the selected unit: on a dual-turret vehicle it reads "Rotate Fr. Turret" (the second button covers the rear turret); on every other unit it reads the plain "Rotate Turret". The default is a no-op; displays that provide the button override this.- Overrides:
setRotateTurretLabelin classAttackPhaseDisplay- Parameters:
dualTurretTank-truewhen the selected unit is a dual-turret vehicle
-
refreshTargetAfterMountChange
protected void refreshTargetAfterMountChange()Refreshes the targeting-phase target panel after a Directional Torso Mount arc change. SeeAttackPhaseDisplay.flipDirectionalMount(), which drives the shared flip logic.- Overrides:
refreshTargetAfterMountChangein classAttackPhaseDisplay
-
declareSecondaryFacing
protected void declareSecondaryFacing(int facing) Declares a torso/turret twist to the given facing through the targeting-phase twist path, used by the Rotate Turret dialog for vehicle main turrets. SeeAttackPhaseDisplay.rotateSelectedMount().- Overrides:
declareSecondaryFacingin classAttackPhaseDisplay- Parameters:
facing- the absolute facing (0-5) to twist to
-
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:
b- an event
-
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
-
valueChanged
- Specified by:
valueChangedin interfaceListSelectionListener
-