Package com.prineside.tdi2.systems
Class EnemySystem
java.lang.Object
com.prineside.tdi2.Registrable
com.prineside.tdi2.GameSystem
com.prineside.tdi2.systems.EnemySystem
- All Implemented Interfaces:
Disposable
,KryoSerializable
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
static class
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
float[][]
Color[]
Can be changed in runtime, per-session copy of values taken from Enemy.Factory Must be updated on state restore as assets are not stored in replayboolean[][]
boolean[][]
boolean[]
static final int
static final int
Fields inherited from class com.prineside.tdi2.Registrable
S
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
Добавить врага в текущую волну У врага будет рандомно установлен спавнvoid
void
void
addStaticEnemy
(Enemy enemy, float x, float y) boolean
void
despawnEnemy
(Enemy enemy) void
dispose()
Releases all resources of this object.void
Actually applies the damage given to the enemiesvoid
void
void
drawEnemyHealth
(Batch batch) Per-session value of Enemy.Factory#get...()getEmojiTexture
(EnemyType enemyType) Per-session value of Enemy.Factory#get...()getHighlightTexture
(EnemyType enemyType) Per-session value of Enemy.Factory#get...()getReference
(Enemy enemy) Use this method if you need to store a reference to Enemy anywhere.getTexture
(EnemyType enemyType) Per-session value of Enemy.Factory#get...()double
boolean
void
Произвести окончательную настройку системы.void
void
Обновить пути всех врагов.void
queueDamage
(DamageRecord record) void
queueEnemyKill
(DamageRecord lastDamage) void
void
void
void
void
setTowersMaxDps
(double mdps) void
setup()
Произвести начальную настройку системы.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
-
DAMAGE_DRAIN_MAX_ITERATIONS
public static final int DAMAGE_DRAIN_MAX_ITERATIONS- See Also:
-
RANDOM_SIDE_SHIFT
public static final int RANDOM_SIDE_SHIFT- See Also:
-
MIDDLE_SIDE_SHIFT
public static final int MIDDLE_SIDE_SHIFT- See Also:
-
flyingEnemy
public boolean[] flyingEnemy -
enemyColor
Can be changed in runtime, per-session copy of values taken from Enemy.Factory Must be updated on state restore as assets are not stored in replay -
enemyTexture
-
enemyHighlightTexture
-
enemyEmojiTexture
-
enemyDamageVulnerability
public boolean[][] enemyDamageVulnerability -
enemySpecialDamageVulnerability
public boolean[][] enemySpecialDamageVulnerability -
enemyBuffVulnerability
public float[][] enemyBuffVulnerability
-
-
Constructor Details
-
EnemySystem
public EnemySystem()
-
-
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
-
postSetup
public void postSetup()Description copied from class:GameSystem
Произвести окончательную настройку системы. Во время вызова, все системы загружены и установлены (setup()), все слушатели добавлены- Overrides:
postSetup
in classGameSystem
-
postStateRestore
public void postStateRestore()- Overrides:
postStateRestore
in classGameSystem
-
register
-
getReference
Use this method if you need to store a reference to Enemy anywhere.- Returns:
- managed wrap for Enemy which will become empty as soon as Enemy becomes unregistered
-
register
-
register
-
queueDamage
-
getTowersMaxDps
public double getTowersMaxDps()- Returns:
- максимальный урон в секунду от всех башен
-
setTowersMaxDps
public void setTowersMaxDps(double mdps) -
despawnEnemy
-
queueEnemyKill
-
queueAllEnemiesPathfinding
public void queueAllEnemiesPathfinding()Обновить пути всех врагов. Полезно в случае, если сменилась конфигурация карты. -
addEnemy
Добавить врага в текущую волну У врага будет рандомно установлен спавн- Parameters:
sideShift
- -1 - рандомно, Path.MIDDLE_SIDE_SHIFT - посредине и тд
-
addStaticEnemy
-
addEnemy
-
addEnemy
-
drainDamageAndKillQueue
public void drainDamageAndKillQueue()Actually applies the damage given to the enemies -
drainDamageAndKillQueueTillEmpty
public void drainDamageAndKillQueueTillEmpty() -
update
public void update(float deltaTime) - Overrides:
update
in classGameSystem
-
getSystemName
- Specified by:
getSystemName
in classGameSystem
-
isEmojiEnemies
public boolean isEmojiEnemies() -
getColor
Per-session value of Enemy.Factory#get...() -
getTexture
Per-session value of Enemy.Factory#get...() -
getHighlightTexture
Per-session value of Enemy.Factory#get...() -
getEmojiTexture
Per-session value of Enemy.Factory#get...() -
draw
-
drawEnemyHealth
-
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
-