Package VASSAL.counters
Class Translate
java.lang.Object
VASSAL.counters.Decorator
VASSAL.counters.Translate
- All Implemented Interfaces:
PropertyNameSource
,PropertySource
,EditablePiece
,GamePiece
,PropertyExporter
,StateMergeable
,TranslatablePiece
,PersistentPropertyContainer
public class Translate extends Decorator implements TranslatablePiece
Give a piece a command that moves it a fixed amount in a particular
direction, optionally tracking the current rotation of the piece.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Translate.Editor
static class
Translate.MoveExecuter
Batches up all the movement commands resulting from a single KeyEvent and executes them at once. -
Field Summary
Fields Modifier and Type Field Description protected String
commandName
protected KeyCommand[]
commands
protected String
description
static String
ID
protected NamedKeyStroke
keyCommand
protected KeyCommand
moveCommand
protected static Translate.MoveExecuter
mover
protected boolean
moveStack
protected FormattedString
xDist
protected FormattedString
xIndex
protected FormattedString
xOffset
protected FormattedString
yDist
protected FormattedString
yIndex
protected FormattedString
yOffset
Fields inherited from interface VASSAL.counters.PropertyExporter
LOCALIZED_NAME
Fields inherited from interface VASSAL.i18n.TranslatablePiece
PREFIX
-
Constructor Summary
-
Method Summary
Modifier and Type Method Description Rectangle
boundingBox()
The area which this GamePiece occupies when drawn at the point (0,0)protected Command
classicTranslate(KeyStroke stroke)
Classic Translate code.void
draw(Graphics g, int x, int y, Component obs, double zoom)
Draw this GamePieceprotected GamePiece
findTarget(KeyStroke stroke)
String
getDescription()
A plain-English description of this type of piecePieceEditor
getEditor()
Get the configurer for this traitHelpFile
getHelpFile()
PieceI18nData
getI18nData()
Return I18n data for this pieceString
getName()
The plain English name for this pieceShape
getShape()
The shape of the piece from the user's viewpoint.Command
keyEvent(KeyStroke stroke)
Append the command returned byDecorator.myKeyEvent(javax.swing.KeyStroke)
with the command returned by the inner piece'sGamePiece.keyEvent(javax.swing.KeyStroke)
method.protected Command
movePiece(GamePiece gp, Point dest)
protected Command
moveTarget(GamePiece target)
protected KeyCommand[]
myGetKeyCommands()
String
myGetState()
String
myGetType()
Command
myKeyEvent(KeyStroke stroke)
The response of this trait alone to the given KeyStrokevoid
mySetState(String newState)
Set just the state of this traitvoid
mySetType(String type)
Set the type information for this piece.protected Command
newTranslate(KeyStroke stroke)
protected void
translate(Point p)
Methods inherited from class VASSAL.counters.Decorator
getCommandDescription, getDecorator, getI18nData, getI18nData, getId, getInner, getInnermost, getKeyCommands, getLocalizedName, getLocalizedProperty, getMap, getOuter, getOutermost, getParent, getPersistentProperty, getPosition, getProperties, getProperty, getPropertyNames, getState, getTranslation, getType, isSelected, mergeState, putOldProperties, repack, reportDataError, reportDataError, reportDataError, setId, setInner, setMap, setOldProperties, setOldProperties, setParent, setPersistentProperty, setPosition, setProperty, setSelected, setState, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface VASSAL.counters.GamePiece
getId, getLocalizedName, getMap, getParent, getPosition, getProperty, getState, getType, setId, setMap, setParent, setPosition, setProperty, setState
Methods inherited from interface VASSAL.counters.PropertyExporter
getProperties
Methods inherited from interface VASSAL.build.module.properties.PropertySource
getLocalizedProperty
-
Field Details
-
ID
- See Also:
- Constant Field Values
-
commands
-
commandName
-
keyCommand
-
xDist
-
xIndex
-
xOffset
-
yDist
-
yIndex
-
yOffset
-
description
-
moveStack
protected boolean moveStack -
moveCommand
-
mover
-
-
Constructor Details
-
Translate
public Translate() -
Translate
-
-
Method Details
-
getDescription
Description copied from interface:EditablePiece
A plain-English description of this type of piece- Specified by:
getDescription
in interfaceEditablePiece
-
mySetType
Description copied from interface:EditablePiece
Set the type information for this piece. SeeDecorator.myGetType()
- Specified by:
mySetType
in interfaceEditablePiece
-
myGetKeyCommands
- Specified by:
myGetKeyCommands
in classDecorator
- Returns:
- the commands for this trait alone
- See Also:
Decorator.getKeyCommands()
-
myGetState
- Specified by:
myGetState
in classDecorator
- Returns:
- the state of this trait alone
- See Also:
Decorator.getState()
-
myGetType
- Specified by:
myGetType
in classDecorator
- Returns:
- the type of this trait alone
- See Also:
Decorator.getType()
-
keyEvent
Description copied from class:Decorator
Append the command returned byDecorator.myKeyEvent(javax.swing.KeyStroke)
with the command returned by the inner piece'sGamePiece.keyEvent(javax.swing.KeyStroke)
method.- Specified by:
keyEvent
in interfaceGamePiece
- Overrides:
keyEvent
in classDecorator
- Parameters:
stroke
- Stroke to apply- Returns:
- Generated Command or null if no effect
- See Also:
ForwardToKeyBuffer
-
myKeyEvent
Description copied from class:Decorator
The response of this trait alone to the given KeyStroke- Specified by:
myKeyEvent
in classDecorator
- Parameters:
stroke
- Stroke to apply- Returns:
- Generated Command or null if no effect
- See Also:
Decorator.keyEvent(javax.swing.KeyStroke)
-
newTranslate
-
movePiece
-
classicTranslate
Classic Translate code. The original Move Fixed Distance code does not work properly in Triggers, creates additional Null actions and does not undo properly. Some modules may depend on this behaviour. Now depends on a Module level preference being turned on to use it. -
moveTarget
-
translate
-
findTarget
-
mySetState
Description copied from class:Decorator
Set just the state of this trait- Specified by:
mySetState
in classDecorator
- See Also:
Decorator.myGetState()
-
boundingBox
Description copied from interface:GamePiece
The area which this GamePiece occupies when drawn at the point (0,0)- Specified by:
boundingBox
in interfaceGamePiece
-
draw
Description copied from interface:GamePiece
Draw this GamePiece -
getName
Description copied from interface:GamePiece
The plain English name for this piece -
getShape
Description copied from interface:GamePiece
The shape of the piece from the user's viewpoint. This defines the area in which the user must click to select or move the piece, for example. LikeGamePiece.boundingBox()
, it assumes the position is (0,0) and must be translated to the actual location where the piece is being drawn. -
getEditor
Description copied from interface:EditablePiece
Get the configurer for this trait- Specified by:
getEditor
in interfaceEditablePiece
- Overrides:
getEditor
in classDecorator
-
getHelpFile
- Specified by:
getHelpFile
in interfaceEditablePiece
-
getI18nData
Description copied from class:Decorator
Return I18n data for this piece- Specified by:
getI18nData
in interfaceTranslatablePiece
- Overrides:
getI18nData
in classDecorator
- Returns:
- I18n data
-