Class GameStateSystem

All Implemented Interfaces:
Disposable, KryoSerializable

public final class GameStateSystem extends StateSystem
  • Field Details

    • NOT_COMPLETED_DAILY_QUEST_PRIZE_MULTIPLIER

      public static final float NOT_COMPLETED_DAILY_QUEST_PRIZE_MULTIPLIER
      See Also:
    • SLOW_MOTION_GAME_SPEED

      public static final float SLOW_MOTION_GAME_SPEED
      See Also:
    • difficultyMode

      public DifficultyMode difficultyMode
    • gameMode

      public GameStateSystem.GameMode gameMode
    • modeDifficultyMultiplier

      public int modeDifficultyMultiplier
    • replayId

      public String replayId
    • basicLevelName

      public String basicLevelName
    • userMapId

      public String userMapId
    • userMapOriginalSeed

      public int userMapOriginalSeed
    • allowedBossesForCustomMaps

      public BossType[] allowedBossesForCustomMaps
    • dailyQuestLevel

      public DailyQuestManager.DailyQuestLevel dailyQuestLevel
    • startingAbilitiesConfiguration

      public AbilitySelectionOverlay.SelectedAbilitiesConfiguration startingAbilitiesConfiguration
    • gameStartTimestamp

      public long gameStartTimestamp
    • continuedGameApproxStateHash

      public int continuedGameApproxStateHash
    • gameIsContinued

      public boolean gameIsContinued
    • snapshotSavesEnabled

      public boolean snapshotSavesEnabled
    • canLootCases

      public boolean canLootCases
    • lootBoostEnabled

      public boolean lootBoostEnabled
    • rarityBoostEnabled

      public boolean rarityBoostEnabled
    • gameSavesDisabled

      public boolean gameSavesDisabled
    • scoreWithEndlessTimeLimit

      public long scoreWithEndlessTimeLimit
    • averageDifficulty

      public int averageDifficulty
    • playRealTime

      public float playRealTime
    • lastEnemyReachedTarget

      public EnemyType lastEnemyReachedTarget
    • gameOverReason

      public GameStateSystem.GameOverReason gameOverReason
    • gameStartProgressSnapshot

      public ProgressManager.ProgressSnapshotForState gameStartProgressSnapshot
    • pxpExperience

      public int pxpExperience
    • validationStartTimestamp

      public long validationStartTimestamp
    • headlessValidatedReplayRecord

      public ReplayManager.ReplayRecord headlessValidatedReplayRecord
    • validationLastUpdateNumber

      public int validationLastUpdateNumber
    • validationFingerprintMismatchPrinted

      public boolean validationFingerprintMismatchPrinted
  • Constructor Details

    • GameStateSystem

      public GameStateSystem()
  • Method Details

    • write

      public void write(Kryo kryo, Output output)
      Specified by:
      write in interface KryoSerializable
      Overrides:
      write in class StateSystem
    • read

      public void read(Kryo kryo, Input input)
      Specified by:
      read in interface KryoSerializable
      Overrides:
      read in class StateSystem
    • setup

      public void setup()
      Description copied from class: GameSystem
      Произвести начальную настройку системы. На момент вызова этого метода, systemProvider содержит объекты всех систем.
      Overrides:
      setup in class GameSystem
    • postSetup

      public void postSetup()
      Description copied from class: GameSystem
      Произвести окончательную настройку системы. Во время вызова, все системы загружены и установлены (setup()), все слушатели добавлены
      Overrides:
      postSetup in class GameSystem
    • getDoubleSpeedTimeLeft

      public float getDoubleSpeedTimeLeft()
    • isDoubleSpeedActive

      public boolean isDoubleSpeedActive()
    • setSeed

      public void setSeed(long seed)
    • isDailyQuestAndNotCompleted

      public boolean isDailyQuestAndNotCompleted()
    • getGameLootIssuedItems

      public IssuedItems getGameLootIssuedItems()
    • getSeed

      public long getSeed()
    • randomInt

      public int randomInt(int maxExclusive)
    • randomIntIndependent

      public int randomIntIndependent(int maxExclusive, long seed)
      Doesn't affect the state
    • randomFloat

      public float randomFloat()
    • randomTriangular

      public float randomTriangular()
      Returns:
      (-1..1), values closer to 0 are more likely
    • getRandomState

      public long getRandomState(int idx)
    • calculatePrizeGreenPapers

      public int calculatePrizeGreenPapers()
      Returns:
      количество зеленых бумажек, которые будут выданы за игру Без Double Gain
    • restartGame

      public void restartGame(boolean currentSettings)
      Создает копию текущего экрана для игры с самого начала
      Parameters:
      currentSettings - если true, будут использованы abilities, withEnergy текущей игры
    • getApproxStateHash

      public int getApproxStateHash()
      Хэш примерного состояния (не все поля)
    • setSnapshotSavesEnabled

      public void setSnapshotSavesEnabled(boolean enabled)
      Disable snapshot saves. Should be called by scripts that may affect game's state in any way. Forces the game to be continued in old way, frame by frame, to preserve all of the changes made by scripts
    • getStateBytes

      public Output getStateBytes()
    • getStateStr

      public String getStateStr(boolean withSnapshot)
      Используется для сохранения игры (в рамках одной версии) и реплеев - можно не париться за обратную совместимость версий
    • saveGame

      public void saveGame()
    • savedGameExists

      public static boolean savedGameExists()
    • getSavedGameInfo

      @Null public static ReplayManager.ReplayHeader getSavedGameInfo()
    • continueSavedGame

      public static GameStateSystem.ContinueGameStatus continueSavedGame()
    • startReplay

      public static void startReplay(ReplayManager.ReplayRecord replayRecord)
    • startReplay

      public static void startReplay(ReplayManager.ReplayRecord replayRecord, boolean realRun)
    • deleteSavedGame

      public static void deleteSavedGame()
    • animateSpeed

      public void animateSpeed(float fromCoeff, float duration)
    • getNonAnimatedGameSpeed

      public float getNonAnimatedGameSpeed()
    • getGameSpeed

      public float getGameSpeed()
    • setGameSpeed

      public void setGameSpeed(float speed)
    • higherGameSpeed

      public void higherGameSpeed()
    • lowerGameSpeed

      public void lowerGameSpeed()
    • switchGameSpeed

      public void switchGameSpeed()
    • isGameRealTimePasses

      public boolean isGameRealTimePasses()
      Returns:
      true, если идет активная игра (не начало игры перед вызовом волн и не EASY режим в ожидании волны)
    • setMoney

      public void setMoney(int amount)
    • addMoney

      public int addMoney(float amount, boolean wasGained)
      Parameters:
      wasGained - true, если деньги заработаны (убийство врага / бонус), а не просто получены за продажу строения / вначале игры
      Returns:
      количество добавленных монет (будет отличаться, если число не целое)
    • removeMoney

      public boolean removeMoney(int amount)
    • getMoney

      public int getMoney()
    • addCompletedQuestIssuedPrizes

      public void addCompletedQuestIssuedPrizes(IssuedItems issuedItems, float stageX, float stageY, int flyFromAlign)
      За квесты
    • addLootIssuedPrizes

      public void addLootIssuedPrizes(ItemStack itemStack, float stageX, float stageY, int flyAlign)
      Лут
    • getQuestsIssuedPrizes

      public Array<IssuedItems> getQuestsIssuedPrizes()
    • addCompletedQuest

      public void addCompletedQuest(String id)
    • getCompletedQuests

      public Array<String> getCompletedQuests()
    • setResources

      public void setResources(ResourceType type, int amount)
    • addResources

      public int addResources(ResourceType type, float amount)
      Returns:
      количество добавленных ресурсов (будет отличаться, если число не целое)
    • removeResources

      public boolean removeResources(ResourceType type, int amount)
    • getResources

      public int getResources(ResourceType type)
    • setHealth

      public void setHealth(int amount)
    • addHealth

      public void addHealth(int amount)
    • removeHealth

      public void removeHealth(int amount)
    • getHealth

      public int getHealth()
    • setScore

      public void setScore(long newScore)
    • getScoreMultiplier

      public float getScoreMultiplier(StatisticsType reason)
    • calculateFinalScore

      public long calculateFinalScore(long scorePoints, StatisticsType reason)
      Calculate fact score to be given, affected by GVs Warning - can be negative if passed negative scorePoints
    • addScore

      public long addScore(long scorePoints, StatisticsType reason)
    • getScore

      public long getScore()
    • pauseGame

      public void pauseGame()
    • resumeGame

      public void resumeGame()
    • isPaused

      public boolean isPaused()
    • togglePauseMenu

      public void togglePauseMenu()
    • triggerGameOver

      public void triggerGameOver(GameStateSystem.GameOverReason reason)
    • isGameOver

      public boolean isGameOver()
    • realUpdate

      public void realUpdate(float realDeltaTime)
    • registerPlayerActivity

      public void registerPlayerActivity()
      Tell the state system that player is now actively playing
    • isMaxEndlessReplayTimeReached

      public boolean isMaxEndlessReplayTimeReached()
      Returns:
      true if endless and lasts more than ENDLESS_MAX_REPLAY_DURATION
    • getPxpLastActionFrame

      public int getPxpLastActionFrame()
    • update

      public void update(float deltaTime)
      Overrides:
      update in class GameSystem
    • profileUpdate

      public boolean profileUpdate()
      Description copied from class: GameSystem
      Нужно ли учитывать время выполнения update() в Debug
      Overrides:
      profileUpdate in class GameSystem
    • dispose

      public void dispose()
      Description copied from interface: com.badlogic.gdx.utils.Disposable
      Releases all resources of this object.
      Specified by:
      dispose in interface Disposable
      Overrides:
      dispose in class StateSystem
    • getSystemName

      public String getSystemName()
      Overrides:
      getSystemName in class StateSystem