package com.bitwaffle.spaceguts.entities;
import org.lwjgl.util.vector.Quaternion;
import org.lwjgl.util.vector.Vector3f;
/**
* Class that pretty much anything in-game extends.
*
* @author TranquilMarmot
*
*/
public abstract class Entity {
/** the entity's current location */
public Vector3f location;
/** quaternion representing rotation */
public Quaternion rotation;
/** type, used for lots of things */
public String type;
/**
* Entity constructor
*/
public Entity() {
location = new Vector3f(0.0f, 0.0f, 0.0f);
rotation = new Quaternion(1.0f, 0.0f, 0.0f, 1.0f);
type = "entity";
}
/**
* Updates this entity
*/
public abstract void update(float timeStep);
/**
* Draws this entity
*/
public abstract void draw();
/**
* Have the entity provide any necessary cleanup
*/
public abstract void cleanup();
}