Package VASSAL.build

Class GpIdChecker

java.lang.Object
VASSAL.build.GpIdChecker

public class GpIdChecker
extends Object
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 Details

    • gpIdSupport

      protected GpIdSupport gpIdSupport
    • maxId

      protected int maxId
    • useName

      protected boolean useName
    • extensionsLoaded

      protected boolean extensionsLoaded
  • Constructor Details

    • GpIdChecker

      public GpIdChecker()
    • GpIdChecker

      public GpIdChecker​(GpIdSupport gpIdSupport)
    • GpIdChecker

      public GpIdChecker​(boolean useName)
  • Method Details

    • add

      public void add​(PieceSlot pieceSlot)
      Add a PieceSlot to our cross-reference and any PlaceMarker traits it contains.
      Parameters:
      pieceSlot - PieceSlot to add to cross-reference
    • add

      public void add​(PrototypeDefinition prototype)
      Add any PieceSlots contained in traits in a Prototype Definition
      Parameters:
      prototype - Prototype Definition to check
    • checkTrait

      protected void checkTrait​(GamePiece gp)
      Check for PlaceMarker traits in a GamePiece and add them to the cross-reference
      Parameters:
      gp - GamePiece to check
    • checkTrait

      protected void checkTrait​(GamePiece gp, PrototypeDefinition prototype, GamePiece definition)
    • testGpId

      protected void testGpId​(String id, VASSAL.build.GpIdChecker.SlotElement element)
      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 test
      element - 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

      public GamePiece createUpdatedPiece​(GamePiece oldPiece)
      Locate the SlotElement that matches oldPiece and return a new GamePiece created from that Slot.
      Parameters:
      oldPiece - Old GamePiece
      Returns:
      Newly created GamePiece
    • findUpdatedPiece

      public boolean findUpdatedPiece​(GamePiece oldPiece)