Blame |
Last modification |
View Log
| RSS feed
package com.gebauz.burutaru.game.entities;
import com.gebauz.bauzoid.math.Matrix4;
import com.gebauz.bauzoid.math.collision.AABoundingBox;
import com.gebauz.bauzoid.math.collision.Shape;
/** Base abstract class for all kinds of enemy-hurting projectiles (including enemy-hurting explosions.
* NOTE: only friendly projectiles, not player-hurting ones. Those should be based on the "Enemy" class. */
public abstract class Projectile
{
// Constants========================================================================================
// Embedded Types===================================================================================
// Fields===========================================================================================
private int mDamage = 0;
private boolean mIsAlive = false;
// Methods==========================================================================================
public Projectile(int damage)
{
mDamage = damage;
mIsAlive = true;
}
/** Process the damaging of an enemy that has been touched by this projectile. */
//public abstract void processHit(ICollidable hitObject);
/** Makes the projectile vanish. */
public void setAlive(boolean alive) { mIsAlive = alive; }
// Getters/Setters==================================================================================
/** Get an axis-aligned bounding box for broad-phase collision detection. */
//public abstract AABoundingBox getBounds();
/** Get the damaging amount of this weapon. */
public final int getDamage() { return mDamage; }
/** Check if the projectile is still active/alive. */
public final boolean isAlive() { return mIsAlive; }
/** Get the shape of the projectile for testing. */
//public abstract Shape getShape();
/** Get the transformation of the shape for testing. */
//public abstract Matrix4 getShapeTransform();
}