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:
com.badlogic.gdx.utils.Disposable,com.esotericsoftware.kryo.KryoSerializable
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic classstatic interface -
Field Summary
FieldsModifier and TypeFieldDescriptionfloat[][]com.badlogic.gdx.graphics.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[][]com.badlogic.gdx.graphics.g2d.TextureRegion[]com.badlogic.gdx.graphics.g2d.TextureRegion[]boolean[][]com.badlogic.gdx.graphics.g2d.TextureRegion[]boolean[]floatstatic final intstatic final intFields inherited from class com.prineside.tdi2.Registrable
S -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidДобавить врага в текущую волну У врага будет рандомно установлен спавнvoidvoidvoidaddStaticEnemy(Enemy enemy, float x, float y) booleanvoiddespawnEnemy(Enemy enemy) voiddispose()Releases all resources of this object.voiddraw(com.badlogic.gdx.graphics.g2d.Batch batch, float deltaTime, float interpolatedTime) voiddrawEnemyHealth(com.badlogic.gdx.graphics.g2d.Batch batch, float deltaTime) com.badlogic.gdx.graphics.ColorPer-session value of Enemy.Factory#get...()com.badlogic.gdx.graphics.g2d.TextureRegiongetEmojiTexture(EnemyType enemyType) Per-session value of Enemy.Factory#get...()com.badlogic.gdx.graphics.g2d.TextureRegiongetHighlightTexture(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.com.badlogic.gdx.graphics.g2d.TextureRegiongetTexture(EnemyType enemyType) Per-session value of Enemy.Factory#get...()doublebooleangiveDamage(Enemy enemy, Tower tower, float damage, DamageType damageType, Ability ability, boolean cleanForDps, Projectile projectile) booleanvoidkillEnemy(Enemy enemy, Tower killer, DamageType damageType, Ability ability, Projectile projectile) voidПроизвести окончательную настройку системы.voidvoidОбновить пути всех врагов.voidread(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Input input) voidvoidvoidvoidsetup()Произвести начальную настройку системы.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
-
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
public com.badlogic.gdx.graphics.Color[] enemyColorCan 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
public com.badlogic.gdx.graphics.g2d.TextureRegion[] enemyTexture -
enemyHighlightTexture
public com.badlogic.gdx.graphics.g2d.TextureRegion[] enemyHighlightTexture -
enemyEmojiTexture
public com.badlogic.gdx.graphics.g2d.TextureRegion[] enemyEmojiTexture -
enemyDamageVulnerability
public boolean[][] enemyDamageVulnerability -
enemySpecialDamageVulnerability
public boolean[][] enemySpecialDamageVulnerability -
enemyBuffVulnerability
public float[][] enemyBuffVulnerability -
lastDamageGiven
public float lastDamageGiven -
listeners
-
-
Constructor Details
-
EnemySystem
public EnemySystem()
-
-
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
-
postSetup
public void postSetup()Description copied from class:GameSystemПроизвести окончательную настройку системы. Во время вызова, все системы загружены и установлены (setup()), все слушатели добавлены- Overrides:
postSetupin classGameSystem
-
postStateRestore
public void postStateRestore()- Overrides:
postStateRestorein 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
-
giveDamage
public boolean giveDamage(Enemy enemy, Tower tower, float damage, DamageType damageType, Ability ability, boolean cleanForDps, Projectile projectile) - Parameters:
cleanForDps- true, если чистый урон башни, который будет учитываться в dps (например, killshot не учитывается)- Returns:
- true, если убили. Рекомендуется очищать переменную enemy, если врага убили, чтобы не обращаться к невалидному объекту дальше в текущей функции
-
getTowersMaxDps
public double getTowersMaxDps()- Returns:
- максимальный урон в секунду от всех башен
-
despawnEnemy
-
killEnemy
public void killEnemy(Enemy enemy, Tower killer, DamageType damageType, Ability ability, Projectile projectile) -
queueAllEnemiesPathfinding
public void queueAllEnemiesPathfinding()Обновить пути всех врагов. Полезно в случае, если сменилась конфигурация карты. -
addEnemy
Добавить врага в текущую волну У врага будет рандомно установлен спавн- Parameters:
sideShift- -1 - рандомно, Path.MIDDLE_SIDE_SHIFT - посредине и тд
-
addStaticEnemy
-
addEnemy
-
addEnemy
-
update
public void update(float deltaTime) - Overrides:
updatein classGameSystem
-
getSystemName
- Specified by:
getSystemNamein 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
public void draw(com.badlogic.gdx.graphics.g2d.Batch batch, float deltaTime, float interpolatedTime) -
drawEnemyHealth
public void drawEnemyHealth(com.badlogic.gdx.graphics.g2d.Batch batch, float deltaTime) -
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
-