Class Enemy

All Implemented Interfaces:
com.esotericsoftware.kryo.KryoSerializable, ScheduledUpdater.Updatable
Direct Known Subclasses:
ArmoredEnemy, BossEnemy, BrootEnemy, ConstructorBossEnemy, FastEnemy, FighterEnemy, GenericEnemy, HealerEnemy, HeliEnemy, IcyEnemy, JetEnemy, LightEnemy, MetaphorBossCreepEnemy, MetaphorBossEnemy, MobchainBossBodyEnemy, MobchainBossCreepEnemy, MobchainBossHeadEnemy, RegularEnemy, SnakeBossBodyEnemy, SnakeBossHeadEnemy, SnakeBossTailEnemy, StrongEnemy, ToxicEnemy

public abstract class Enemy extends Registrable implements ScheduledUpdater.Updatable
  • Field Details

    • ATTACHED_PARTICLE_REGENERATION_BUFF

      public static final String ATTACHED_PARTICLE_REGENERATION_BUFF
      See Also:
    • UNREGISTERED_ID

      public static final int UNREGISTERED_ID
      See Also:
    • HEALTH_BAR_BACKGROUND_COLOR

      public static final com.badlogic.gdx.graphics.Color HEALTH_BAR_BACKGROUND_COLOR
    • SIZE

      public static final float SIZE
      See Also:
    • killScore

      public int killScore
    • angle

      public float angle
    • drawAngle

      public float drawAngle
    • drawScale

      public float drawScale
    • healthBarInvisible

      public boolean healthBarInvisible
    • drawPosition

      public com.badlogic.gdx.math.Vector2 drawPosition
    • invisible

      public boolean invisible
    • disabled

      public boolean disabled
    • chasedByCrusher

      public boolean chasedByCrusher
    • gaveMiningSpeedForGauss

      public boolean gaveMiningSpeedForGauss
    • loot

      public com.badlogic.gdx.utils.Array<ItemStack> loot
    • thrownBackBy

      public com.badlogic.gdx.utils.IntSet thrownBackBy
    • ignitionProgress

      public float ignitionProgress
    • ignitionIncreasedLastFrame

      public int ignitionIncreasedLastFrame
    • notAffectsWaveKillCounter

      public boolean notAffectsWaveKillCounter
    • lowAimPriority

      public boolean lowAimPriority
    • caughtByCrushersSet

      public com.badlogic.gdx.utils.IntSet caughtByCrushersSet
    • totalCatchesByCrushers

      public int totalCatchesByCrushers
    • stunDebuffStats

      public StunDebuffStats stunDebuffStats
    • attachedParticles

      public com.badlogic.gdx.utils.ObjectMap<String,com.badlogic.gdx.graphics.g2d.ParticleEffectPool.PooledEffect> attachedParticles
    • type

      public EnemyType type
    • maxHealth

      public float maxHealth
    • bounty

      public float bounty
    • otherEnemiesNearby

      public int otherEnemiesNearby
    • healthBarScale

      public float healthBarScale
    • id

      public int id
    • graphPath

      public Path graphPath
    • pathSearches

      public int pathSearches
    • ignorePathfinding

      public boolean ignorePathfinding
    • sideShiftIndex

      public int sideShiftIndex
    • passedTiles

      public float passedTiles
    • sumPassedTiles

      public float sumPassedTiles
    • existsTime

      public float existsTime
    • buffsByType

      public com.badlogic.gdx.utils.DelayedRemovalArray[] buffsByType
    • buffsAppliedByType

      public boolean[] buffsAppliedByType
    • spawnTile

      public SpawnTile spawnTile
    • wave

      public Wave wave
    • ignoredByAutoWaveCall

      public boolean ignoredByAutoWaveCall
    • buffFreezingPercent

      public float buffFreezingPercent
    • buffFreezingLightningLengthBonus

      public float buffFreezingLightningLengthBonus
    • buffFreezingPoisonDurationBonus

      public float buffFreezingPoisonDurationBonus
    • buffSnowballHits

      public int buffSnowballHits
    • multishotTowerHits

      public com.badlogic.gdx.utils.IntIntMap multishotTowerHits
    • wasAimedAtWithChainReactionBuff

      public boolean wasAimedAtWithChainReactionBuff
    • wasStunnedByGauss

      public boolean wasStunnedByGauss
  • Constructor Details

    • Enemy

      protected Enemy(EnemyType enemyType)
  • Method Details

    • write

      public void write(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Output output)
      Specified by:
      write in interface com.esotericsoftware.kryo.KryoSerializable
      Overrides:
      write in class Registrable
    • read

      public void read(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Input input)
      Specified by:
      read in interface com.esotericsoftware.kryo.KryoSerializable
      Overrides:
      read in class Registrable
    • getUserData

      @Null public Object getUserData(String key)
    • setUserData

      public void setUserData(String idx, @Null Object data)
    • getCurrentTile

      @Null public Tile getCurrentTile()
    • getColor

      public com.badlogic.gdx.graphics.Color getColor()
    • initBuffsByTypeArray

      public void initBuffsByTypeArray()
    • hasBuffsByType

      public boolean hasBuffsByType(BuffType buffType)
      Returns:
      false if there are no buffs applied of the selected type. Buff arrays may not be allocated yet
    • getBuffsByTypeOrNull

      public com.badlogic.gdx.utils.DelayedRemovalArray getBuffsByTypeOrNull(BuffType buffType)
    • update

      public void update(float deltaTime)
    • canHaveRandomSideShift

      public boolean canHaveRandomSideShift()
    • giveDamage

      public float giveDamage(Tower tower, float damage, DamageType damageType)
      Вызывать только через enemySystem
    • getSize

      public float getSize()
      Радиус врага в пикселях
    • getSquaredSize

      public float getSquaredSize()
    • scheduledUpdatableSetId

      public final void scheduledUpdatableSetId(int id)
      Specified by:
      scheduledUpdatableSetId in interface ScheduledUpdater.Updatable
    • scheduledUpdatableGetId

      public final int scheduledUpdatableGetId()
      Specified by:
      scheduledUpdatableGetId in interface ScheduledUpdater.Updatable
    • scheduledUpdate

      public void scheduledUpdate(float deltaTime)
      Specified by:
      scheduledUpdate in interface ScheduledUpdater.Updatable
    • drawBatch

      public void drawBatch(com.badlogic.gdx.graphics.g2d.Batch batch, float deltaTime)
    • drawBatchAdditive

      public void drawBatchAdditive(com.badlogic.gdx.graphics.g2d.Batch batch, float deltaTime)
      В основном подсветка удара врага и ауры Не вызывается, если партиклы отключены
    • setPositionToPath

      public void setPositionToPath()
    • getPosition

      public com.badlogic.gdx.math.Vector2 getPosition()
    • setPosition

      public void setPosition(com.badlogic.gdx.math.Vector2 position)
    • setPosition

      public void setPosition(float x, float y)
    • applyDrawInterpolation

      public void applyDrawInterpolation(float interpolatedTime)
    • drawBatch

      protected void drawBatch(com.badlogic.gdx.graphics.g2d.Batch batch, float deltaTime, com.badlogic.gdx.graphics.Color color)
    • addLoot

      public ItemStack addLoot(Item item, int count)
    • getTexture

      public com.badlogic.gdx.graphics.g2d.TextureRegion getTexture()
    • getHighlightTexture

      public com.badlogic.gdx.graphics.g2d.TextureRegion getHighlightTexture()
    • getEmojiTexture

      public com.badlogic.gdx.graphics.g2d.TextureRegion getEmojiTexture()
    • drawHealth

      public void drawHealth(com.badlogic.gdx.graphics.g2d.Batch batch)
    • setHealth

      public void setHealth(float newHealth)
    • setKillExp

      public void setKillExp(float exp)
    • getKillExp

      public float getKillExp()
    • getKillScore

      public int getKillScore()
    • getHealth

      public float getHealth()
    • setMaxHealth

      public void setMaxHealth(float health)
    • setSpeed

      public void setSpeed(float newSpeed)
    • getSpeed

      public float getSpeed()
    • getPassedTilesDelta

      public float getPassedTilesDelta(float deltaTime)
      Сколько тайлов пройдет враг за это время, исходя из текущей позиции
    • getBuffedSpeed

      public float getBuffedSpeed()
    • getTowerDamageMultiplier

      public float getTowerDamageMultiplier(TowerType towerType)
    • getBuffedDamageMultiplier

      public float getBuffedDamageMultiplier(TowerType towerType, DamageType damageType)
      Parameters:
      towerType - may be null
    • hasDrawPriority

      public abstract boolean hasDrawPriority()
    • getBaseDamage

      public float getBaseDamage()
    • onSpawned

      public void onSpawned()
    • onPreDie

      public void onPreDie()
    • onPositionSetToPath

      public void onPositionSetToPath()
      Вызывается, когда position устанавливается системой в соответствии с path и passedTiles. Здесь можно откорректировать позицию.
    • canBeBuffed

      public final boolean canBeBuffed(BuffType buff)
    • getBuffVulnerability

      public float getBuffVulnerability(BuffType buff)
    • isVulnerableTo

      public boolean isVulnerableTo(DamageType damageType)
    • isBossRelated

      public boolean isBossRelated()
    • isBossMainBodyPart

      public boolean isBossMainBodyPart()
    • isVulnerableToSpecial

      public boolean isVulnerableToSpecial(SpecialDamageType damageType)
    • getAbilityVulnerability

      public float getAbilityVulnerability(AbilityType abilityType)
    • canBeAttackedBy

      public boolean canBeAttackedBy(Tower tower)
      Дополнительная проверка, основная находится в tower.canAttackEnemy
    • isAir

      public boolean isAir()
    • dynamicPathfindingAllowed

      public boolean dynamicPathfindingAllowed()
    • getBreakParticle

      public com.badlogic.gdx.graphics.g2d.ParticleEffectPool.PooledEffect getBreakParticle()
    • getHitParticle

      public com.badlogic.gdx.graphics.g2d.ParticleEffectPool.PooledEffect getHitParticle()