Class LegionClientSide

  • All Implemented Interfaces:
    IOracleLegion

    public final class LegionClientSide
    extends Legion
    implements IOracleLegion
    Client-side version of a legion.
    Author:
    David Ripton
    • Field Detail

      • LOGGER

        private static final java.util.logging.Logger LOGGER
    • Constructor Detail

      • LegionClientSide

        public LegionClientSide​(Player player,
                                java.lang.String markerId,
                                MasterHex hex)
    • Method Detail

      • getHeight

        public int getHeight()
        Description copied from class: Legion
        Returns the number of creatures in this legion.
        Specified by:
        getHeight in interface IOracleLegion
        Overrides:
        getHeight in class Legion
        Returns:
        the number of creatures in the legion
      • getCreatures

        public java.util.List<? extends Creature> getCreatures()
        We don't use the creature list in this class yet, so we override this to use the one from the PredictSplitNode. TODO fix this, particularly the use of creature names in here. Note that the current version also has the issue that every time this method is called a new list with new creatures is created, which will break identity checks.
        Overrides:
        getCreatures in class Legion
      • getContents

        private java.util.List<java.lang.String> getContents()
        Return an immutable copy of the legion's contents, in sorted order. TODO get rid of this string-based version in favor of the typesafe ones
      • numCreature

        public int numCreature​(java.lang.String creatureName)
        TODO get rid of string-based version
        Specified by:
        numCreature in interface IOracleLegion
      • getImageNames

        public java.util.List<java.lang.String> getImageNames()
        Return a list of Strings. Use the proper string for titans and unknown creatures.
      • getCertainties

        public java.util.List<java.lang.Boolean> getCertainties()
        Return a list of Booleans.
      • getPlayer

        public PlayerClientSide getPlayer()
        Description copied from class: Legion
        Retrieves the player this legion belongs to.
        Overrides:
        getPlayer in class Legion
        Returns:
        The matching player. Never null.
      • addCreature

        public void addCreature​(CreatureType creature)
        Add a new creature to this legion.
        Specified by:
        addCreature in class Legion
      • revealCreatures

        void revealCreatures​(java.util.List<CreatureType> creatures)
        Reveal creatures in this legion, some of which already may be known.
      • split

        void split​(int childHeight,
                   Legion child,
                   int turn)
      • merge

        void merge​(Legion splitoff)
      • getPointValue

        public int getPointValue()
        Return the point value of suspected contents of this legion.
        Specified by:
        getPointValue in class Legion
      • getCertainPointValue

        public int getCertainPointValue()
        Return the total point value of those creatures of this legion which are certain.
      • numUncertainCreatures

        public int numUncertainCreatures()