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:
 com.badlogic.gdx.utils.Disposable,com.esotericsoftware.kryo.KryoSerializable
- 
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumstatic final classstatic final classstatic final classstatic enumstatic classstatic interfacestatic interface - 
Field Summary
FieldsModifier and TypeFieldDescriptionbooleanstatic final floatstatic final floatbooleanstatic final intstatic final floatstatic final intcom.badlogic.gdx.utils.DelayedRemovalArray<Wave>Fields inherited from class com.prineside.tdi2.Registrable
S - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionbooleanbooleancreateBossWaveProcessor(BossType bossType) voiddispose()Releases all resources of this object.voiddraw(com.badlogic.gdx.graphics.g2d.Batch batch, float deltaTime) voidДобавляет Action для вызова волны на следующем update()voidfreezeTimeToNextWave(float duration) Время до следующей волны не будет считаться.generateBossWaveWithProcessor(BossType bossType, int waveNumber, int difficulty) com.badlogic.gdx.utils.Array<EnemyGroup>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, com.badlogic.gdx.utils.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) intstatic floatgetDifficultWavesMultiplierOld(int waveNumber, int[] difficultyGrowWaves) Deprecated.static com.badlogic.gdx.utils.Array<Enemy>getEnemiesToSpawn(float timeSinceStart, com.badlogic.gdx.utils.Array<EnemyGroup.SpawnEnemyGroup> enemyGroups) Создает объекты врагов по конфигурации группы.intintfloatNot serializable, lazy-initgetWaveProcessorFactory(BossType bossType) floatstatic floatgetWaveValue(int wave, int difficulty) booleanbooleanbooleanstatic voidvoidoverrideWave(int number, Wave wave) voidПроизвести окончательную настройку системы.voidvoidread(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Input input) voidvoidsetAutoForceWaveEnabled(boolean enabled) voidsetBossWaves(WaveBossSupplier bossWaves) voidsetDifficultyExpectedPlaytime(float multiplier) voidsetForcedTemplate(String templateName) voidsetForceWaveDoubleBonus(boolean forceWaveDoubleBonus) voidsetStatus(WaveSystem.Status status) voidsetup()Произвести начальную настройку системы.voidsetWaveGenerator(WaveSystem.WaveGenerator generator) voidvoidstopSpawningCurrentWave(Tower killer, DamageType damageType) Остановить спавн врагов текущей волны.voidupdate(float deltaTime) voidwrite(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Output output) Methods inherited from class com.prineside.tdi2.GameSystem
getFastStateHash, profileUpdateMethods 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
 - 
listeners
 
 - 
 - 
Constructor Details
- 
WaveSystem
public WaveSystem() 
 - 
 - 
Method Details
- 
write
public void write(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Output output) - Specified by:
 writein interfacecom.esotericsoftware.kryo.KryoSerializable- Overrides:
 writein classRegistrable
 - 
read
public void read(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Input input) - Specified by:
 readin interfacecom.esotericsoftware.kryo.KryoSerializable- Overrides:
 readin classRegistrable
 - 
affectsGameState
public boolean affectsGameState()- Specified by:
 affectsGameStatein classGameSystem
 - 
setup
public void setup()Description copied from class:GameSystemПроизвести начальную настройку системы. На момент вызова этого метода, systemProvider содержит объекты всех систем.- Overrides:
 setupin classGameSystem
 - 
draw
public void draw(com.badlogic.gdx.graphics.g2d.Batch batch, float deltaTime)  - 
createBossWaveProcessor
 - 
generateBossWaveWithProcessor
 - 
getWaveProcessorFactory
 - 
getWaveStartInterval
public float getWaveStartInterval() - 
setWaveGenerator
 - 
getWaveGenerator
 - 
postSetup
public void postSetup()Description copied from class:GameSystemПроизвести окончательную настройку системы. Во время вызова, все системы загружены и установлены (setup()), все слушатели добавлены- Overrides:
 postSetupin classGameSystem
 - 
postStateRestore
public void postStateRestore()- Overrides:
 postStateRestorein 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 com.badlogic.gdx.utils.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 com.badlogic.gdx.utils.Array<Enemy> getEnemiesToSpawn(float timeSinceStart, com.badlogic.gdx.utils.Array<EnemyGroup.SpawnEnemyGroup> enemyGroups) Создает объекты врагов по конфигурации группы. Изменяет EnemyGroup.spawnedCount - 
stopSpawningCurrentWave
Остановить спавн врагов текущей волны. Будет считаться, что врагов вообще никогда не было. - 
setForceWaveDoubleBonus
public void setForceWaveDoubleBonus(boolean forceWaveDoubleBonus)  - 
isForceWaveDoubleBonus
public boolean isForceWaveDoubleBonus() - 
update
public void update(float deltaTime) - Overrides:
 updatein classGameSystem
 - 
getSystemName
- Specified by:
 getSystemNamein classGameSystem
 - 
isAutoForceWaveEnabled
public boolean isAutoForceWaveEnabled() - 
setAutoForceWaveEnabled
public void setAutoForceWaveEnabled(boolean enabled)  - 
dispose
public void dispose()Description copied from interface:com.badlogic.gdx.utils.DisposableReleases all resources of this object.- Specified by:
 disposein interfacecom.badlogic.gdx.utils.Disposable- Overrides:
 disposein classGameSystem
 
 -