Package com.prineside.tdi2.systems
Class WaveSystem
java.lang.Object
com.prineside.tdi2.Registrable
com.prineside.tdi2.GameSystem
com.prineside.tdi2.systems.WaveSystem
- All Implemented Interfaces:
Disposable
,KryoSerializable
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic enum
static final class
static final class
static final class
static enum
static class
static interface
-
Field Summary
Modifier and TypeFieldDescriptionboolean
static final float
static final float
boolean
static final int
static final float
static final int
Fields inherited from class com.prineside.tdi2.Registrable
S
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
boolean
createBossWaveProcessor
(BossType bossType) void
dispose()
Releases all resources of this object.void
void
Добавляет Action для вызова волны на следующем update()void
freezeTimeToNextWave
(float duration) Время до следующей волны не будет считаться.generateBossWaveWithProcessor
(BossType bossType, int waveNumber, int difficulty) generateEnemyGroups
(int waveNumber, WaveSystem.Mode mode, WaveDifficultyProvider wdp, int averageDifficulty, WaveBossSupplier bossWaves, Map map, long seed, WaveTemplates.PredefinedWaveTemplate[] predefinedWaveTemplates) Должен работать так же, как generateWave()generateWave
(int wave, int difficulty, long seed, ObjectSet<EnemyType> allowedEnemyTypes) generateWave
(int wave, int difficulty, WaveTemplates.PredefinedWaveTemplate template) generateWave
(WaveTemplates.WaveTemplate template, int wave, int difficulty) generateWavesTimelineConfiguration
(BasicLevel basicLevel, Map map, int startWave) generateWavesTimelineConfiguration
(UserMap userMap, Map map, int startWave, WaveBossSupplier bossWaves) int
static float
getDifficultWavesMultiplierOld
(int waveNumber, int[] difficultyGrowWaves) Deprecated.getEnemiesToSpawn
(float timeSinceStart, Array<EnemyGroup.SpawnEnemyGroup> enemyGroups) Создает объекты врагов по конфигурации группы.int
int
float
getWave
(int number) Not serializable, lazy-initgetWaveProcessorFactory
(BossType bossType) float
static float
getWaveValue
(int wave, int difficulty) boolean
boolean
boolean
static void
void
overrideWave
(int number, Wave wave) void
Произвести окончательную настройку системы.void
void
void
void
setAutoForceWaveEnabled
(boolean enabled) void
setBossWaves
(WaveBossSupplier bossWaves) void
setDifficultyExpectedPlaytime
(float multiplier) void
setForcedTemplate
(String templateName) void
setForceWaveDoubleBonus
(boolean forceWaveDoubleBonus) void
setStatus
(WaveSystem.Status status) void
setup()
Произвести начальную настройку системы.void
setWaveGenerator
(WaveSystem.WaveGenerator generator) void
void
stopSpawningCurrentWave
(Wave waveToStop, Tower killer, DamageType damageType) Остановить спавн врагов текущей волны.void
update
(float deltaTime) void
Methods inherited from class com.prineside.tdi2.GameSystem
getFastStateHash, profileUpdate
Methods inherited from class com.prineside.tdi2.Registrable
isRegistered, setRegistered, setUnregistered
-
Field Details
-
NEXT_WAVES_CACHE_SIZE
public static final int NEXT_WAVES_CACHE_SIZE- See Also:
-
ULTRA_DIFFICULT_MILESTONE_MULTIPLIER
public static final float ULTRA_DIFFICULT_MILESTONE_MULTIPLIER- See Also:
-
WAVES_TIMELINE_MAX_WAVE
public static final int WAVES_TIMELINE_MAX_WAVE- See Also:
-
ENEMY_INTERVAL_DENSITY_HIGH
public static final float ENEMY_INTERVAL_DENSITY_HIGH- See Also:
-
ENEMY_INTERVAL_DENSITY_LOW
public static final float ENEMY_INTERVAL_DENSITY_LOW- See Also:
-
mode
-
status
-
wave
-
autoForceWaveEnabled
public boolean autoForceWaveEnabled -
instantWaveCallsEnabled
public boolean instantWaveCallsEnabled -
nextWavesCache
-
wavesToNotifyAboutCompletion
-
predefinedWaveTemplates
-
bossWaves
-
-
Constructor Details
-
WaveSystem
public WaveSystem()
-
-
Method Details
-
write
- Specified by:
write
in interfaceKryoSerializable
- Overrides:
write
in classRegistrable
-
read
- Specified by:
read
in interfaceKryoSerializable
- Overrides:
read
in classRegistrable
-
affectsGameState
public boolean affectsGameState()- Specified by:
affectsGameState
in classGameSystem
-
setup
public void setup()Description copied from class:GameSystem
Произвести начальную настройку системы. На момент вызова этого метода, systemProvider содержит объекты всех систем.- Overrides:
setup
in classGameSystem
-
draw
-
createBossWaveProcessor
-
generateBossWaveWithProcessor
-
getWaveProcessorFactory
-
getWaveStartInterval
public float getWaveStartInterval() -
setWaveGenerator
-
getWaveGenerator
-
postSetup
public void postSetup()Description copied from class:GameSystem
Произвести окончательную настройку системы. Во время вызова, все системы загружены и установлены (setup()), все слушатели добавлены- Overrides:
postSetup
in classGameSystem
-
postStateRestore
public void postStateRestore()- Overrides:
postStateRestore
in classGameSystem
-
setForcedTemplate
-
overrideWave
-
getNextOverridableWaveNumber
public int getNextOverridableWaveNumber()- Returns:
- a vacant wave number for override which has not yet spawned and has not been overridden or -1 if, for some reason, there's no such wave number
-
setBossWaves
-
resetNextWavesCache
public void resetNextWavesCache() -
getForceWaveBonus
public int getForceWaveBonus() -
getCompletedWavesCount
public int getCompletedWavesCount()- Returns:
- номер последней волны, в которой не осталось заспавненных врагов
-
isForceWaveAvailable
public boolean isForceWaveAvailable() -
forceNextWaveAction
public void forceNextWaveAction()Добавляет Action для вызова волны на следующем update() -
freezeTimeToNextWave
public void freezeTimeToNextWave(float duration) Время до следующей волны не будет считаться. Если меньше 0, заморозка отключается -
setStatus
-
setDifficultyExpectedPlaytime
public void setDifficultyExpectedPlaytime(float multiplier) -
main
-
getDifficultWavesMultiplierOld
@Deprecated public static float getDifficultWavesMultiplierOld(int waveNumber, int[] difficultyGrowWaves) Deprecated.Old algo, do not use -
getWaveDifficultyProvider
Not serializable, lazy-init -
generateEnemyGroups
public Array<EnemyGroup> generateEnemyGroups(int waveNumber, WaveSystem.Mode mode, WaveDifficultyProvider wdp, int averageDifficulty, WaveBossSupplier bossWaves, Map map, long seed, WaveTemplates.PredefinedWaveTemplate[] predefinedWaveTemplates) Должен работать так же, как generateWave() -
generateWave
-
getWaveValue
public static float getWaveValue(int wave, int difficulty) -
generateWave
-
generateWave
-
generateWavesTimelineConfiguration
public WavesTimelineOverlay.WavesConfiguration generateWavesTimelineConfiguration(BasicLevel basicLevel, Map map, int startWave) -
generateWavesTimelineConfiguration
public WavesTimelineOverlay.WavesConfiguration generateWavesTimelineConfiguration(UserMap userMap, Map map, int startWave, WaveBossSupplier bossWaves) -
allWavesSpawned
public boolean allWavesSpawned() -
startNextWave
public void startNextWave() -
getTimeToNextWave
public float getTimeToNextWave() -
getEnemiesToSpawn
public static Array<Enemy> getEnemiesToSpawn(float timeSinceStart, Array<EnemyGroup.SpawnEnemyGroup> enemyGroups) Создает объекты врагов по конфигурации группы. Изменяет EnemyGroup.spawnedCount -
stopSpawningCurrentWave
Остановить спавн врагов текущей волны. Будет считаться, что врагов вообще никогда не было. -
setForceWaveDoubleBonus
public void setForceWaveDoubleBonus(boolean forceWaveDoubleBonus) -
isForceWaveDoubleBonus
public boolean isForceWaveDoubleBonus() -
getWave
- Returns:
- normally generated Wave if still exists
-
update
public void update(float deltaTime) - Overrides:
update
in classGameSystem
-
getSystemName
- Specified by:
getSystemName
in classGameSystem
-
isAutoForceWaveEnabled
public boolean isAutoForceWaveEnabled() -
setAutoForceWaveEnabled
public void setAutoForceWaveEnabled(boolean enabled) -
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 classGameSystem
-