Package VASSAL.counters
Class PlaceMarker
java.lang.Object
VASSAL.search.AbstractImageFinder
VASSAL.counters.Decorator
VASSAL.counters.PlaceMarker
- All Implemented Interfaces:
PropertyNameSource
,PropertySource
,EditablePiece
,GamePiece
,PropertyExporter
,StateMergeable
,TranslatablePiece
,PersistentPropertyContainer
,ImageSearchTarget
,SearchTarget
,RecursionLimiter.Loopable
- Direct Known Subclasses:
Replace
This Decorator defines a key command to places another counter on top of this one.
-
Nested Class Summary
-
Field Summary
Modifier and TypeFieldDescriptionprotected boolean
protected static int
protected NamedKeyStroke
protected static int
protected KeyCommand
protected KeyCommand[]
protected String
protected String
protected GpIdSupport
static String
protected NamedKeyStroke
protected String
protected String
protected boolean
protected String
protected int
protected static int
protected static int
protected int
protected int
Fields inherited from interface VASSAL.counters.PropertyExporter
LOCALIZED_NAME
Fields inherited from interface VASSAL.i18n.TranslatablePiece
PREFIX
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
ImageSearchTarget
Adds all images used by this component AND any children to the collectionThe marker, with prototypes unexpandedThe marker, with prototypes fully expandedvoid
Draw this GamePieceA plain-English description of this type of piecegetGpId()
Return Internationalization (I18n) data for this piecegetName()
The plain English name for this piecegetShape()
boolean
protected KeyCommand[]
The "state information" is "game state" information that can change during the course of a game.The "type information" of a piece or trait is information that does not change during the course of a game.myKeyEvent(KeyStroke stroke)
The response of this trait alone to the given KeyStroke or the virtual keystroke of aNamedKeyStroke
.void
mySetState(String newState)
Sets the state of this-trait-only (inverse ofDecorator.myGetState()
).void
Sets the information for this piece.protected Command
protected void
selectMarker(GamePiece marker)
void
boolean
testEquals(Object o)
Test if this Decorator's Class, Type and State are equal to another trait.void
void
Methods inherited from class VASSAL.counters.Decorator
buildDescription, buildDescription, buildDescription, getCommandDescription, getDecorator, getExpressionList, getFormattedStringList, getI18nData, getI18nData, getId, getInner, getInnermost, getKeyCommands, getLocalizedName, getLocalizedProperty, getMap, getOuter, getOutermost, getParent, getPersistentProperty, getPosition, getProperties, getProperty, getPropertyList, getPropertyNames, getState, getTranslation, getType, isSelected, keyEvent, mergeState, putOldProperties, repack, repack, reportDataError, reportDataError, reportDataError, setId, setInner, setMap, setOldProperties, setOldProperties, setParent, setPersistentProperty, setPosition, setProperty, setSelected, setState, toString
Methods inherited from class VASSAL.search.AbstractImageFinder
addLocalImageNames, getAllImageNames, getLocalImageNames
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, keyEvent, setId, setMap, setParent, setPosition, setProperty, setState
Methods inherited from interface VASSAL.search.ImageSearchTarget
addLocalImageNames, getAllImageNames, getLocalImageNames
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
-
command
-
key
-
markerSpec
-
markerText
-
xOffset
protected int xOffset -
yOffset
protected int yOffset -
matchRotation
protected boolean matchRotation -
commands
-
afterBurnerKey
-
description
-
gpId
-
newGpId
-
gpidSupport
-
STACK_TOP
protected static final int STACK_TOP- See Also:
- Constant Field Values
-
STACK_BOTTOM
protected static final int STACK_BOTTOM- See Also:
- Constant Field Values
-
ABOVE
protected static final int ABOVE- See Also:
- Constant Field Values
-
BELOW
protected static final int BELOW- See Also:
- Constant Field Values
-
placement
protected int placement -
above
protected boolean above
-
-
Constructor Details
-
PlaceMarker
public PlaceMarker() -
PlaceMarker
-
-
Method Details
-
boundingBox
- Specified by:
boundingBox
in interfaceGamePiece
- Returns:
- The area which this GamePiece occupies when drawn at the point (0,0)
-
draw
Description copied from interface:GamePiece
Draw this GamePiece -
getName
Description copied from interface:GamePiece
The plain English name for this piece -
myGetKeyCommands
- Specified by:
myGetKeyCommands
in classDecorator
- Returns:
- the key commands for this trait alone
- See Also:
which returns the key commands for this trait AND all inner piece members
-
myGetState
Description copied from class:Decorator
The "state information" is "game state" information that can change during the course of a game. State information is saved when the game is saved and is transferred between players on the server. For example, the relative order of pieces in a stack is state information, but whether the stack is expanded is not.- Specified by:
myGetState
in classDecorator
- Returns:
- the game state information of this trait alone
- See Also:
which returns state information for all inward piece members as well
-
myGetType
Description copied from class:Decorator
The "type information" of a piece or trait is information that does not change during the course of a game. Image file names, context menu strings, etc., all should be reflected in the type. The type information is returned serialized string form, ready to be decoded by a SequenceEncoder#decode.- Specified by:
myGetType
in classDecorator
- Returns:
- the type information of this trait alone
- See Also:
BasicCommandEncoder
,which returns type information for all inward piece members as well
-
myKeyEvent
Description copied from class:Decorator
The response of this trait alone to the given KeyStroke or the virtual keystroke of aNamedKeyStroke
. NamedKeyStrokes are allocated a unique internal KeyStroke when they are first used in a module, and that KeyStroke is passed up and down the decorator stack to represent them (seeNamedKeyStroke.getKeyStroke()
).- Specified by:
myKeyEvent
in classDecorator
- Parameters:
stroke
- KeyStroke to apply (to apply a Named Keystroke sendNamedKeyStroke.getKeyStroke()
- Returns:
- Generated Command to reproduce any changes just made to to the game state, or null if no effect
- See Also:
Decorator.keyEvent(javax.swing.KeyStroke)
-
placeMarker
-
selectMarker
-
createMarker
The marker, with prototypes fully expanded- Returns:
- new Marker
-
createBaseMarker
The marker, with prototypes unexpanded- Returns:
- New Base Marker
-
addImageNamesRecursively
Description copied from class:Decorator
ImageSearchTarget
Adds all images used by this component AND any children to the collection- Specified by:
addImageNamesRecursively
in interfaceImageSearchTarget
- Overrides:
addImageNamesRecursively
in classDecorator
- Parameters:
s
- Collection to add image names to
-
isMarkerStandalone
public boolean isMarkerStandalone()- Returns:
- true if the marker is defined from scratch, false if the marker is defined as a component in the Game Piece Palette
-
mySetState
Description copied from class:Decorator
Sets the state of this-trait-only (inverse ofDecorator.myGetState()
). The "state information" is information that can change during the course of a game. State information is saved when the game is saved and is transferred between players on the server. For example, the relative order of pieces in a stack is state information, but whether the stack is expanded is not.- Specified by:
mySetState
in classDecorator
- Parameters:
newState
- New state information serialized in string form, ready to be passed to a SequenceEncoder#decode.
-
getShape
- Specified by:
getShape
in interfaceGamePiece
- Returns:
- 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.
Like
GamePiece.boundingBox()
, it assumes the position is (0,0) -- which to be clear is normally aligned with the CENTER of the piece image -- and must be translated to the actual location where the piece is being drawn. For most ordinary pieces, the shape returned here will simply be equivalent to the bounding box, but seeNonRectangular
.
-
getDescription
Description copied from interface:EditablePiece
A plain-English description of this type of piece- Specified by:
getDescription
in interfaceEditablePiece
-
getHelpFile
- Specified by:
getHelpFile
in interfaceEditablePiece
- Returns:
- the help file for this trait
-
mySetType
Description copied from interface:EditablePiece
Sets the information for this piece. SeeDecorator.myGetType()
- Specified by:
mySetType
in interfaceEditablePiece
- Parameters:
type
- a serialized configuration string to set the "type information" of this piece, which is information that doesn't change during the course of a single game (e.g. Image Files, Context Menu strings, etc). Typically ready to be processed e.g. by SequenceEncoder.decode()
-
getEditor
- Specified by:
getEditor
in interfaceEditablePiece
- Overrides:
getEditor
in classDecorator
- Returns:
- the configurer for this trait - the dialog which allows the editing the piece's type information. Default
configurer is a
SimplePieceEditor
, but many traits will want to provide custom versions.
-
getI18nData
Description copied from class:Decorator
Return Internationalization (I18n) data for this piece- Specified by:
getI18nData
in interfaceTranslatablePiece
- Overrides:
getI18nData
in classDecorator
- Returns:
- I18n data, used to hold translations of strings
-
getGpId
-
setGpId
-
updateGpId
-
updateGpId
public void updateGpId() -
getComponentName
- Specified by:
getComponentName
in interfaceRecursionLimiter.Loopable
-
getComponentTypeName
- Specified by:
getComponentTypeName
in interfaceRecursionLimiter.Loopable
-
testEquals
Description copied from class:Decorator
Test if this Decorator's Class, Type and State are equal to another trait. Implementations of this method should compare the individual values of the fields that make up the Decorators Type and State. Implementations should NOT compare the values returned by myGetType() or myGetState(). This method is intended to be used by Unit Tests to verify that a trait is unchanged after going through a process such as serialization/deserialization.- Overrides:
testEquals
in classDecorator
- Parameters:
o
- Object to compare this Decorator to- Returns:
- true if the Class, type and state all match
-
getNamedKeyStrokeList
Description copied from class:Decorator
- Specified by:
getNamedKeyStrokeList
in interfaceSearchTarget
- Overrides:
getNamedKeyStrokeList
in classDecorator
- Returns:
- a list of any Named KeyStrokes referenced in the Decorator, if any (for search)
-
getMenuTextList
Description copied from class:Decorator
- Specified by:
getMenuTextList
in interfaceSearchTarget
- Overrides:
getMenuTextList
in classDecorator
- Returns:
- a list of any Menu Text strings referenced in the Decorator, if any (for search)
-