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
Nested ClassesModifier and TypeClassDescriptionstatic enumstatic final classstatic final classstatic final classstatic enumstatic classstatic interface - 
Field Summary
FieldsModifier and TypeFieldDescriptionbooleanstatic final floatstatic final floatbooleanstatic final intstatic final floatstatic final intFields 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.voidvoidДобавляет Action для вызова волны на следующем update()voidfreezeTimeToNextWave(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) intstatic floatgetDifficultWavesMultiplierOld(int waveNumber, int[] difficultyGrowWaves) Deprecated.getEnemiesToSpawn(float timeSinceStart, Array<EnemyGroup.SpawnEnemyGroup> enemyGroups) Создает объекты врагов по конфигурации группы.intintfloatgetWave(int number) Not serializable, lazy-initgetWaveProcessorFactory(BossType bossType) floatstatic floatgetWaveValue(int wave, int difficulty) booleanbooleanbooleanstatic voidvoidoverrideWave(int number, Wave wave) voidПроизвести окончательную настройку системы.voidvoidvoidvoidsetAutoForceWaveEnabled(boolean enabled) voidsetBossWaves(WaveBossSupplier bossWaves) voidsetDifficultyExpectedPlaytime(float multiplier) voidsetForcedTemplate(String templateName) voidsetForceWaveDoubleBonus(boolean forceWaveDoubleBonus) voidsetStatus(WaveSystem.Status status) voidsetup()Произвести начальную настройку системы.voidsetWaveGenerator(WaveSystem.WaveGenerator generator) voidvoidstopSpawningCurrentWave(Wave waveToStop, Tower killer, DamageType damageType) Остановить спавн врагов текущей волны.voidupdate(float deltaTime) voidMethods 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
 
 - 
 - 
Constructor Details
- 
WaveSystem
public WaveSystem() 
 - 
 - 
Method Details
- 
write
- Specified by:
 writein interfaceKryoSerializable- Overrides:
 writein classRegistrable
 - 
read
- Specified by:
 readin interfaceKryoSerializable- 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
 - 
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 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:
 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 interfaceDisposable- Overrides:
 disposein classGameSystem
 
 -