Interface PieceFinder

All Known Implementing Classes:
CounterDetailViewer.Visitor, PieceFinder.DeckOrPieceInStack, PieceFinder.MatOnly, PieceFinder.Movable, PieceFinder.PieceInStack, PieceFinder.StackOnly
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface PieceFinder
This interface defines selection criteria for finding a GamePiece in a Map
  • Field Details

    • STACK_ONLY

      static final PieceFinder STACK_ONLY
      Return a Stack overlapping the given point
    • PIECE_IN_STACK

      static final PieceFinder PIECE_IN_STACK
      If a Stack overlaps the given point, return the piece containing that point if expanded, or the top piece if not expanded.
    • DECK_OR_PIECE_IN_STACK

      static final PieceFinder DECK_OR_PIECE_IN_STACK
      If a Stack overlaps the given point, return the piece containing that point if expanded, or the top piece if not expanded. If a Deck is found instead, return the deck.
    • MOVABLE

      static final PieceFinder MOVABLE
      Returns a Stack if unexpanded and overlapping the given point, or a piece within that stack if expanded and overlapping the given point
    • MAT_ONLY

      static final PieceFinder MAT_ONLY
  • Method Details

    • select

      GamePiece select(Map map, GamePiece piece, Point pt)
      Return the argument GamePiece (or one of its children if a Stack) found at the given point on the given Map