Class PhysicalDisplay
java.lang.Object
- All Implemented Interfaces:
ActionListener,ImageObserver,MenuContainer,Serializable,EventListener,Accessible,BoardViewListener,KeyBindReceiver,GameListener,IPreferenceChangeListener,Distractable
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumThis enumeration lists all the possible ActionCommands that can be carried out during the physical 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 Map<PhysicalDisplay.PhysicalCommand, MegaMekButton> protected booleanprotected intprotected booleanprotected booleanprotected Entity[]Fields 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
ConstructorsConstructorDescriptionPhysicalDisplay(ClientGUI clientgui) Creates and lays out a new movement phase display for the specified clientGUI.getClient(). -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidclear()Clears all current actionsvoidclub(MiscMounted club) Club that target!voiddoBrush(Targetable brushTarget) voiddodge()voidGrapple that target!voidSent 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.static List<Targetable> getINarcPods(Entity attacker, Coords pos) Helper method that allows us to get the list of iNarc pods in a given attacker's Coords, used by PhysicalDisplay and the MapMenu right-click menu.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).voidvoidkick()Kick the target!voidRelease pheromone gas to impair enemy conventional infantry (IO pg 79).voidpunch()Punch the target!voidpush()Push that target!voidready()Tells the display to finish the current player turn and send all planned actions to the server.voidselectEntity(int en) Selects an entity, by number, for movement.voidsetBrushOffEnabled(boolean enabled) protected voidset button that should be displayed.protected voidset button tool tips that should be displayed.voidsetClearWoodsEnabled(boolean enabled) voidsetClubEnabled(boolean enabled) voidsetDodgeEnabled(boolean enabled) voidsetExplosivesEnabled(boolean enabled) voidsetGrappleEnabled(boolean enabled) voidsetJumpJetEnabled(boolean enabled) voidsetKickEnabled(boolean enabled) voidsetNextEnabled(boolean enabled) voidsetPheromoneEnabled(boolean enabled) voidsetProtoEnabled(boolean enabled) voidsetPunchEnabled(boolean enabled) voidsetPushEnabled(boolean enabled) voidsetThrashEnabled(boolean enabled) voidsetToxinEnabled(boolean enabled) voidsetTripEnabled(boolean enabled) protected voidsetTwistEnabled(boolean enabled) voidsetVibroEnabled(boolean enabled) protected booleanvoidtarget(Targetable t) Targets somethingvoidthrash()Thrash at the target, unless the player cancels the action.voidRelease toxin gas to damage enemy conventional infantry (IO pg 79).voidtrip()Trip that target!voidSent when Unit is selected.voidslice 'em up with your vibroclawsMethods inherited from class megamek.client.ui.panels.phaseDisplay.AttackPhaseDisplay
addAttack, addAttack, clearAttacks, declareSecondaryFacing, flipDirectionalMount, pendingDirectionalMountFacings, refreshTargetAfterMountChange, removeAllAttacks, removeAttack, rotateRearTurret, rotateSelectedMount, setFlipMountEnabled, setRotateRearTurretEnabled, setRotateTurretEnabled, setRotateTurretLabel, updateDonePanel, updateFlipMount, updateRotateTurretMethods inherited from class megamek.client.ui.panels.phaseDisplay.ActionPhaseDisplay
checkNagForCrushingBuildings, checkNagForDishonor, checkNagForMASC, checkNagForMechanicalJumpFallDamage, checkNagForNoAction, checkNagForNoUnJamRAC, checkNagForOverheat, checkNagForPSR, checkNagForSprint, checkNagForWiGELanding, checkNagLaunchDoors, clearMarkedHexes, clearMovementSprites, currentEntity, getCurrentEntity, initDonePanelForNewTurn, needNagForCrushingBuildings, needNagForDishonor, needNagForLaunchDoors, needNagForMASC, needNagForMechanicalJumpFallDamage, needNagForNoAction, needNagForNoUnJamRAC, needNagForOther, needNagForOverheat, needNagForPSR, needNagForSprint, needNagForWiGELanding, performDoneNoAction, preferenceChange, removeAllListeners, 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
-
showTargetChoice
protected boolean showTargetChoice -
twisting
protected boolean twisting -
visibleTargets
-
lastTargetID
protected int lastTargetID -
isStrafing
protected boolean isStrafing -
buttons
-
-
Constructor Details
-
PhysicalDisplay
Creates and lays out a new movement phase display for the specified clientGUI.getClient().
-
-
Method Details
-
shouldPerformClearKeyCommand
protected boolean shouldPerformClearKeyCommand() -
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
-
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 movement. -
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
-
clear
public void clear()Clears all current actions- Specified by:
clearin classStatusBarPhaseDisplay
-
punch
public void punch()Punch the target! -
kick
public void kick()Kick the target! -
push
public void push()Push that target! -
trip
public void trip()Trip that target! -
doGrapple
public void doGrapple()Grapple that target! -
vibroclawAttack
public void vibroclawAttack()slice 'em up with your vibroclaws -
pheromoneAttack
public void pheromoneAttack()Release pheromone gas to impair enemy conventional infantry (IO pg 79). -
toxinAttack
public void toxinAttack()Release toxin gas to damage enemy conventional infantry (IO pg 79). -
jumpJetAttack
public void jumpJetAttack() -
club
Club that target! -
doBrush
-
thrash
public void thrash()Thrash at the target, unless the player cancels the action. -
dodge
public void dodge() -
target
Targets something -
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
-
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
-
setThrashEnabled
public void setThrashEnabled(boolean enabled) -
setPunchEnabled
public void setPunchEnabled(boolean enabled) -
setKickEnabled
public void setKickEnabled(boolean enabled) -
setPushEnabled
public void setPushEnabled(boolean enabled) -
setTripEnabled
public void setTripEnabled(boolean enabled) -
setGrappleEnabled
public void setGrappleEnabled(boolean enabled) -
setJumpJetEnabled
public void setJumpJetEnabled(boolean enabled) -
setClubEnabled
public void setClubEnabled(boolean enabled) -
setBrushOffEnabled
public void setBrushOffEnabled(boolean enabled) -
setDodgeEnabled
public void setDodgeEnabled(boolean enabled) -
setProtoEnabled
public void setProtoEnabled(boolean enabled) -
setVibroEnabled
public void setVibroEnabled(boolean enabled) -
setPheromoneEnabled
public void setPheromoneEnabled(boolean enabled) -
setToxinEnabled
public void setToxinEnabled(boolean enabled) -
setExplosivesEnabled
public void setExplosivesEnabled(boolean enabled) -
setClearWoodsEnabled
public void setClearWoodsEnabled(boolean enabled) -
setNextEnabled
public void setNextEnabled(boolean enabled) -
setTwistEnabled
protected void setTwistEnabled(boolean enabled) -
getINarcPods
Helper method that allows us to get the list of iNarc pods in a given attacker's Coords, used by PhysicalDisplay and the MapMenu right-click menu.- Parameters:
attacker- Should be the current entity for whom we're building attack data.pos- Coords of the hex to check; may not be the same as attacker.getPosition()- Returns:
- List of Targetables containing co-located iNarc pods
-