Package com.prineside.tdi2
Class EnemyFollowingProjectile
java.lang.Object
com.prineside.tdi2.Registrable
com.prineside.tdi2.Projectile
com.prineside.tdi2.EnemyFollowingProjectile
- All Implemented Interfaces:
Pool.Poolable,KryoSerializable
- Direct Known Subclasses:
AirProjectile,BasicProjectile,BuffProjectile,EnemyFollowingExplosiveProjectile,VenomProjectile
A regular projectile which constantly follows the target enemy.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.prineside.tdi2.Projectile
Projectile.Factory<T extends Projectile> -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final floatstatic final floatfloatfloatMax rotation speed in deg/sfloatBy how many deg/s the projectile's rotation speed increases per second (becomes more agile with time)floatProjectile speed in px/sFields inherited from class com.prineside.tdi2.Projectile
id, position, RAYCAST_INTERVAL_MIN, typeFields inherited from class com.prineside.tdi2.Registrable
S -
Method Summary
Modifier and TypeMethodDescriptionvoidapplyDrawInterpolation(float interpolatedTime) voidflyOnEnemy(Enemy enemy) Make projectile fly towards an enemy (some projectile types, such as Laser, do not implement this method)booleanbooleanisDone()voidvoidreset()Resets the object for reuse.voidvoidRemove the reference to the game state and mark this object as not registered.toString()voidupdate(float deltaTime) voidMethods inherited from class com.prineside.tdi2.Projectile
draw, getDamage, hit, multiplyDamage, onDone, setDamage, setupMethods inherited from class com.prineside.tdi2.Registrable
isRegistered, setRegistered
-
Field Details
-
DEFAULT_MAX_ROT_SPEED
public static final float DEFAULT_MAX_ROT_SPEED- See Also:
-
DEFAULT_MAX_ROT_SPEED_DYNAMIC
public static final float DEFAULT_MAX_ROT_SPEED_DYNAMIC- See Also:
-
speed
public float speedProjectile speed in px/s -
maxRotationSpeed
public float maxRotationSpeedMax rotation speed in deg/s -
maxRotationSpeedDynamic
public float maxRotationSpeedDynamicBy how many deg/s the projectile's rotation speed increases per second (becomes more agile with time) -
drawPosition
-
drawAngle
public float drawAngle
-
-
Method Details
-
write
- Specified by:
writein interfaceKryoSerializable- Overrides:
writein classProjectile
-
read
- Specified by:
readin interfaceKryoSerializable- Overrides:
readin classProjectile
-
getTarget
- Returns:
- null if no target / target is unregistered (no need to check for Enemy.isRegistered())
-
setTarget
-
applyDrawInterpolation
public void applyDrawInterpolation(float interpolatedTime) - Specified by:
applyDrawInterpolationin classProjectile
-
flyOnEnemy
Description copied from class:ProjectileMake projectile fly towards an enemy (some projectile types, such as Laser, do not implement this method)- Overrides:
flyOnEnemyin classProjectile
-
setUnregistered
public void setUnregistered()Description copied from class:RegistrableRemove the reference to the game state and mark this object as not registered.- Overrides:
setUnregisteredin classRegistrable
-
reset
public void reset()Description copied from interface:com.badlogic.gdx.utils.Pool.PoolableResets the object for reuse. Object references should be nulled and fields may be set to default values.- Specified by:
resetin interfacePool.Poolable- Overrides:
resetin classProjectile
-
getPosition
- Overrides:
getPositionin classProjectile
-
update
public void update(float deltaTime) - Specified by:
updatein classProjectile
-
isDone
public boolean isDone()- Specified by:
isDonein classProjectile- Returns:
- true if projectile has done its job, no longer needed and can be removed from the system
-
hasReachedTarget
public boolean hasReachedTarget()- Specified by:
hasReachedTargetin classProjectile
-
toString
- Overrides:
toStringin classProjectile
-