Class GameClientSide

  • All Implemented Interfaces:
    IOracle

    public class GameClientSide
    extends Game
    implements IOracle
    • Field Detail

      • client

        private Client client
      • noone

        private final PlayerClientSide noone
        This is used as a placeholder for activePlayer and battleActivePlayer since they are sometimes accessed when they are not available. TODO this is a hack. Those members should just not be accessed at times where they are not available. It seems to happen during startup (the not yet set case) and in some GUI parts after battles, when battleActivePlayer has been reset already.
      • activePlayer

        private Player activePlayer
    • Constructor Detail

      • GameClientSide

        public GameClientSide​(Variant variant,
                              java.lang.String[] playerNames)
    • Method Detail

      • setClient

        public void setClient​(Client client)
      • initPlayerInfo

        public PlayerClientSide initPlayerInfo​(java.util.List<java.lang.String> infoStrings,
                                               java.lang.String searchedName)
      • getNoonePlayer

        public Player getNoonePlayer()
      • updatePlayerInfo

        public void updatePlayerInfo​(java.util.List<java.lang.String> infoStrings)
      • getPlayerByNameIgnoreNull

        Player getPlayerByNameIgnoreNull​(java.lang.String playerName)
        Resolve playerName into Player object. Name might be null, then returns null.
        Parameters:
        playerName -
        Returns:
        The player object for given player name, null if name was null
      • getPlayerByName

        Player getPlayerByName​(java.lang.String playerName)
        Resolve playerName into Player object. Name must not be null. If no player for given name found, it would throw IllegalArgumentException
        Parameters:
        playerName -
        Returns:
        Player object for given name.
      • getPlayerByTag

        public Player getPlayerByTag​(int tag)
      • getPlayerUsingColor

        private Player getPlayerUsingColor​(java.lang.String shortColor)
      • getPlayerByMarkerId

        public Player getPlayerByMarkerId​(java.lang.String markerId)
      • getAverageLegionPointValue

        public int getAverageLegionPointValue()
        Return the average point value of all legions in the game.
      • setActivePlayer

        public void setActivePlayer​(Player player)
      • isTurnStateStillUninitialized

        public boolean isTurnStateStillUninitialized()
        ActivePlayer is set first time to something different than "noone" when setupTurnState is called first time.
        Returns:
        true if activePlayer is still "noone".
      • isBattleOngoing

        public boolean isBattleOngoing()
      • setBattlePhase

        public void setBattlePhase​(BattlePhase battlePhase)
      • isBattlePhase

        public boolean isBattlePhase​(BattlePhase phase)
      • setBattleActivePlayer

        public void setBattleActivePlayer​(Player battleActivePlayer)
      • setBattleTurnNumber

        public void setBattleTurnNumber​(int battleTurnNumber)
      • cleanupBattle

        public void cleanupBattle()
      • getLegionImageNames

        public java.util.List<java.lang.String> getLegionImageNames​(Legion legion)
        Return a list of Strings. Use the proper string for titans and unknown creatures.
        Specified by:
        getLegionImageNames in interface IOracle
      • getLegionCreatureCertainties

        public java.util.List<java.lang.Boolean> getLegionCreatureCertainties​(Legion legion)
        Return a list of Booleans
        Specified by:
        getLegionCreatureCertainties in interface IOracle