Package VASSAL.build
Class GpIdChecker
java.lang.Object
VASSAL.build.GpIdChecker
Build a cross-reference of all GpId-able elements in a module or ModuleExtension,
Check for missing, duplicate or illegal GamePieceId's
Update if necessary
-
Field Summary
Modifier and TypeFieldDescriptionprotected boolean
protected GpIdSupport
protected int
protected int
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
add
(PrototypeDefinition prototype) Add any PieceSlots contained in traits in a Prototype Definitionvoid
Add a PieceSlot to our cross-reference and any PlaceMarker traits it contains.protected void
checkTrait
(GamePiece gp) Check for PlaceMarker traits in a GamePiece and add them to the cross-referenceprotected void
checkTrait
(GamePiece gp, PrototypeDefinition prototype, GamePiece definition) protected void
Copy as much state information as possible from the old piece to the new piececreateUpdatedPiece
(GamePiece oldPiece) Locate the SlotElement that matches oldPiece and return a new GamePiece created from that Slot.protected String
findState
(GamePiece oldPiece, GamePiece pNew, Decorator decoratorNewPc, Class<? extends GamePiece> classToFind) Locate a Decorator in the old piece that has the exact same type as the new Decorator and return it's statevoid
Repair any errors - Update the next GpId in the module if necessary - Generate new GpId's for slots with errors.boolean
fixGPID()
int
boolean
Where any errors found?protected void
Validate a GamePieceIdboolean
boolean
boolean
useName()
boolean
-
Field Details
-
gpIdSupport
-
maxId
protected int maxId -
noGpIdMatch
protected int noGpIdMatch -
extensionsLoaded
protected boolean extensionsLoaded
-
-
Constructor Details
-
GpIdChecker
public GpIdChecker() -
GpIdChecker
-
GpIdChecker
-
-
Method Details
-
getNoGpIdMatch
public int getNoGpIdMatch() -
useLabelerName
public boolean useLabelerName() -
useLayerName
public boolean useLayerName() -
useRotateName
public boolean useRotateName() -
useName
public boolean useName() -
fixGPID
public boolean fixGPID() -
add
Add a PieceSlot to our cross-reference and any PlaceMarker traits it contains.- Parameters:
pieceSlot
- PieceSlot to add to cross-reference
-
add
Add any PieceSlots contained in traits in a Prototype Definition- Parameters:
prototype
- Prototype Definition to check
-
checkTrait
Check for PlaceMarker traits in a GamePiece and add them to the cross-reference- Parameters:
gp
- GamePiece to check
-
checkTrait
-
testGpId
Validate a GamePieceId. - non-null - Integer - Not a duplicate of any other GpId Keep a list of the good Slots and the slots with errors. Also track the maximum GpId- Parameters:
id
- GpId to testelement
- Containing SlotElement
-
hasErrors
public boolean hasErrors()Where any errors found?- Returns:
- Error count
-
fixErrors
public void fixErrors()Repair any errors - Update the next GpId in the module if necessary - Generate new GpId's for slots with errors. -
createUpdatedPiece
-
copyState
-
findState
protected String findState(GamePiece oldPiece, GamePiece pNew, Decorator decoratorNewPc, Class<? extends GamePiece> classToFind) Locate a Decorator in the old piece that has the exact same type as the new Decorator and return it's state- Parameters:
oldPiece
- Old piece to searchclassToFind
- Class to match- Returns:
- state of located matching Decorator
-