Package com.prineside.tdi2.systems
Class GameStateSystem
java.lang.Object
com.prineside.tdi2.Registrable
com.prineside.tdi2.GameSystem
com.prineside.tdi2.systems.StateSystem
com.prineside.tdi2.systems.GameStateSystem
- All Implemented Interfaces:
Disposable
,KryoSerializable
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
static enum
static enum
static final class
static final class
static class
static final class
static class
Nested classes/interfaces inherited from class com.prineside.tdi2.systems.StateSystem
StateSystem.ActionsArray, StateSystem.ActionUpdatePair
-
Field Summary
FieldsModifier and TypeFieldDescriptionBossType[]
int
boolean
int
boolean
boolean
long
boolean
int
static final float
float
int
boolean
long
static final float
boolean
int
boolean
int
long
Fields inherited from class com.prineside.tdi2.systems.StateSystem
duplicateActionsTo, inUpdateStage, replayFrameCount, replayMode, replayRecord, updateNumber, updateRequired
Fields inherited from class com.prineside.tdi2.Registrable
S
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
addCompletedQuestIssuedPrizes
(IssuedItems issuedItems, float stageX, float stageY, int flyFromAlign) За квестыvoid
addHealth
(int amount) void
addLootIssuedPrizes
(ItemStack itemStack, float stageX, float stageY, int flyAlign) Лутint
addMoney
(float amount, boolean wasGained) int
addResources
(ResourceType type, float amount) long
addScore
(long scorePoints, StatisticsType reason) void
animateSpeed
(float fromCoeff, float duration) long
calculateFinalScore
(long scorePoints, StatisticsType reason) Calculate fact score to be given, affected by GVs Warning - can be negative if passed negative scorePointsint
static void
void
dispose()
Releases all resources of this object.int
Хэш примерного состояния (не все поля)float
float
int
int
getMoney()
float
int
long
getRandomState
(int idx) int
getResources
(ResourceType type) static ReplayManager.ReplayHeader
long
getScore()
float
getScoreMultiplier
(StatisticsType reason) long
getSeed()
getStateStr
(boolean withSnapshot) Используется для сохранения игры (в рамках одной версии) и реплеев - можно не париться за обратную совместимость версийvoid
boolean
boolean
boolean
boolean
boolean
boolean
isPaused()
void
void
void
Произвести окончательную настройку системы.boolean
Нужно ли учитывать время выполнения update() в Debugfloat
int
randomInt
(int maxExclusive) int
randomIntIndependent
(int maxExclusive, long seed) Doesn't affect the statefloat
void
void
realUpdate
(float realDeltaTime) void
Tell the state system that player is now actively playingvoid
removeHealth
(int amount) boolean
removeMoney
(int amount) boolean
removeResources
(ResourceType type, int amount) void
restartGame
(boolean currentSettings) Создает копию текущего экрана для игры с самого началаvoid
static boolean
void
saveGame()
void
setGameSpeed
(float speed) void
setHealth
(int amount) void
setMoney
(int amount) void
setResources
(ResourceType type, int amount) void
setScore
(long newScore) void
setSeed
(long seed) void
setSnapshotSavesEnabled
(boolean enabled) Disable snapshot saves.void
setup()
Произвести начальную настройку системы.static void
startReplay
(ReplayManager.ReplayRecord replayRecord) static void
startReplay
(ReplayManager.ReplayRecord replayRecord, boolean realRun) void
void
void
void
update
(float deltaTime) void
Methods inherited from class com.prineside.tdi2.systems.StateSystem
affectsGameState, canSkipMediaUpdate, checkGameplayUpdateAllowed, getCurrentUpdateActions, getFastForwardUpdateNumber, isFastForwarding, pushAction, pushAction, requireUpdate, startFastForwarding, stopFastForwarding
Methods inherited from class com.prineside.tdi2.GameSystem
getFastStateHash, postStateRestore
Methods inherited from class com.prineside.tdi2.Registrable
isRegistered, setRegistered, setUnregistered
-
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
-
gameMode
-
modeDifficultyMultiplier
public int modeDifficultyMultiplier -
replayId
-
basicLevelName
-
userMapId
-
userMapOriginalSeed
public int userMapOriginalSeed -
allowedBossesForCustomMaps
-
dailyQuestLevel
-
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
-
gameOverReason
-
gameStartProgressSnapshot
-
pxpExperience
public int pxpExperience -
validationStartTimestamp
public long validationStartTimestamp -
headlessValidatedReplayRecord
-
validationLastUpdateNumber
public int validationLastUpdateNumber -
validationFingerprintMismatchPrinted
public boolean validationFingerprintMismatchPrinted
-
-
Constructor Details
-
GameStateSystem
public GameStateSystem()
-
-
Method Details
-
write
- Specified by:
write
in interfaceKryoSerializable
- Overrides:
write
in classStateSystem
-
read
- Specified by:
read
in interfaceKryoSerializable
- Overrides:
read
in classStateSystem
-
setup
public void setup()Description copied from class:GameSystem
Произвести начальную настройку системы. На момент вызова этого метода, systemProvider содержит объекты всех систем.- Overrides:
setup
in classGameSystem
-
postSetup
public void postSetup()Description copied from class:GameSystem
Произвести окончательную настройку системы. Во время вызова, все системы загружены и установлены (setup()), все слушатели добавлены- Overrides:
postSetup
in classGameSystem
-
getDoubleSpeedTimeLeft
public float getDoubleSpeedTimeLeft() -
isDoubleSpeedActive
public boolean isDoubleSpeedActive() -
setSeed
public void setSeed(long seed) -
isDailyQuestAndNotCompleted
public boolean isDailyQuestAndNotCompleted() -
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
-
getStateStr
Используется для сохранения игры (в рамках одной версии) и реплеев - можно не париться за обратную совместимость версий -
saveGame
public void saveGame() -
savedGameExists
public static boolean savedGameExists() -
getSavedGameInfo
-
continueSavedGame
-
startReplay
-
startReplay
-
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
Лут -
getQuestsIssuedPrizes
-
addCompletedQuest
-
getCompletedQuests
-
setResources
-
addResources
- Returns:
- количество добавленных ресурсов (будет отличаться, если число не целое)
-
removeResources
-
getResources
-
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
-
calculateFinalScore
Calculate fact score to be given, affected by GVs Warning - can be negative if passed negative scorePoints -
addScore
-
getScore
public long getScore() -
pauseGame
public void pauseGame() -
resumeGame
public void resumeGame() -
isPaused
public boolean isPaused() -
togglePauseMenu
public void togglePauseMenu() -
triggerGameOver
-
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 classGameSystem
-
profileUpdate
public boolean profileUpdate()Description copied from class:GameSystem
Нужно ли учитывать время выполнения update() в Debug- Overrides:
profileUpdate
in classGameSystem
-
dispose
public void dispose()Description copied from interface:com.badlogic.gdx.utils.Disposable
Releases all resources of this object.- Specified by:
dispose
in interfaceDisposable
- Overrides:
dispose
in classStateSystem
-
getSystemName
- Overrides:
getSystemName
in classStateSystem
-