Package VASSAL.counters
Class Replace
java.lang.Object
VASSAL.search.AbstractImageFinder
VASSAL.counters.Decorator
VASSAL.counters.PlaceMarker
VASSAL.counters.Replace
- All Implemented Interfaces:
PropertyNameSource
,PropertySource
,EditablePiece
,GamePiece
,PropertyExporter
,StateMergeable
,TranslatablePiece
,PersistentPropertyContainer
,Auditable
,ImageSearchTarget
,SearchTarget
,RecursionLimiter.Loopable
GamePiece trait that replaces a GamePiece with another one
-
Nested Class Summary
-
Field Summary
Fields inherited from class VASSAL.counters.PlaceMarker
above, ABOVE, afterBurnerKey, BELOW, command, commands, copyDPsByName, description, descString, gpId, gpidSupport, key, markerSpec, markerText, matchRotation, newGpId, parameterList, PARENT_ID, placement, STACK_BOTTOM, STACK_TOP, xOffset, xOffsetExpression, yOffset, yOffsetExpression
Fields inherited from interface VASSAL.counters.PropertyExporter
LOCALIZED_NAME
Fields inherited from interface VASSAL.i18n.TranslatablePiece
PREFIX
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionThe marker, with prototypes fully expandedSupport for a basic-name-only description introduced later, so this default retrofits it from the full description if an explicit one is not defined.A plain-English description of this type of trait/piece - includes data from fields where appropriateIf Decorator contains a description *field*, returns the current contents of it.Return Internationalization (I18n) data for this pieceprotected void
matchTraits
(GamePiece base, GamePiece marker) Match trait states from the supplied base Decorator to the marker - Markers are never matched - Dynamic Properties are matched on Name only - All other traits matched on full TypeThe "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
.protected Command
protected void
selectMarker
(GamePiece marker) Methods inherited from class VASSAL.counters.PlaceMarker
addImageNamesRecursively, boundingBox, createBaseMarker, draw, getExpressionList, getGpId, getMenuTextList, getName, getNamedKeyStrokeList, getPropertyList, getShape, isMarkerStandalone, myGetKeyCommands, myGetState, mySetState, mySetType, placeMarker, placeMarker, setGpId, testEquals, updateDescString, updateGpId, updateGpId
Methods inherited from class VASSAL.counters.Decorator
addMenuCommand, buildDescription, buildDescription, buildDescription, getCommandDesc, getCommandDescription, getComponentName, getComponentTypeName, getDecorator, getDecorators, getFormattedStringList, getI18nData, getI18nData, getId, getInner, getInnermost, getKeyCommands, getLocalizedName, getLocalizedProperty, getMap, getOuter, getOutermost, getParent, getPersistentProperty, getPosition, getProperties, getProperty, getState, getTranslation, getType, isMenuCommand, isSelected, keyEvent, mergeState, putOldProperties, repack, repack, reportDataError, reportDataError, reportDataError, setDynamicProperties, setDynamicProperties, setDynamicProperty, setId, setInner, setMap, 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.script.expression.Auditable
getComponentName, getComponentTypeName
Methods inherited from interface VASSAL.counters.EditablePiece
checkTrueMoved, finishMove, finishMove, prepareMove
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:
-
-
Constructor Details
-
Replace
public Replace() -
Replace
-
-
Method Details
-
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()
).- Overrides:
myKeyEvent
in classPlaceMarker
- 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:
-
replacePiece
-
selectMarker
- Overrides:
selectMarker
in classPlaceMarker
-
getDescription
Description copied from interface:EditablePiece
A plain-English description of this type of trait/piece - includes data from fields where appropriate- Specified by:
getDescription
in interfaceEditablePiece
- Overrides:
getDescription
in classPlaceMarker
-
getBaseDescription
Description copied from interface:EditablePiece
Support for a basic-name-only description introduced later, so this default retrofits it from the full description if an explicit one is not defined.- Specified by:
getBaseDescription
in interfaceEditablePiece
- Overrides:
getBaseDescription
in classPlaceMarker
- Returns:
- name of trait/piece type, w/o additional data
-
getDescriptionField
Description copied from class:Decorator
If Decorator contains a description *field*, returns the current contents of it.- Overrides:
getDescriptionField
in classPlaceMarker
- Returns:
- contents of "description" field, if it exists.
-
getHelpFile
- Specified by:
getHelpFile
in interfaceEditablePiece
- Overrides:
getHelpFile
in classPlaceMarker
- Returns:
- the help file for this trait
-
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.- Overrides:
myGetType
in classPlaceMarker
- Returns:
- the type information of this trait alone
- See Also:
-
getEditor
- Specified by:
getEditor
in interfaceEditablePiece
- Overrides:
getEditor
in classPlaceMarker
- 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.
-
createMarker
Description copied from class:PlaceMarker
The marker, with prototypes fully expanded- Overrides:
createMarker
in classPlaceMarker
- Returns:
- new Marker
-
matchTraits
Match trait states from the supplied base Decorator to the marker - Markers are never matched - Dynamic Properties are matched on Name only - All other traits matched on full Type- Parameters:
base
- Decorator in Base marker to start matchingmarker
- Marker to set matched values into
-
getPropertyNames
- Specified by:
getPropertyNames
in interfacePropertyNameSource
- Overrides:
getPropertyNames
in classPlaceMarker
- Returns:
- List of property names "exposed" by this piece -- that are available to other Traits and components to read.
Default behavior for a Trait is not to expose any properties, but Traits which should expose some (e.g.
DynamicProperty
orMarker
) would provide an array of the property names here.
-
getI18nData
Description copied from class:Decorator
Return Internationalization (I18n) data for this piece- Specified by:
getI18nData
in interfaceTranslatablePiece
- Overrides:
getI18nData
in classPlaceMarker
- Returns:
- I18n data, used to hold translations of strings
-