evil-inside/src/ei/engine/scene/Entity.java

108 lines
2 KiB
Java
Raw Normal View History

/**
*
*/
package ei.engine.scene;
import ei.engine.math.Vector2f;
/**
* This class is the root class of all the objects that
* will show on the scrren. This class handles the position
* and rotation and the colitions of the objects.
* @author Ziver
*/
public abstract class Entity {
/** The name of this sprite */
private String name;
/** The location of this entity in pixels*/
private Vector2f location;
/** The rotation of this entity in pixels*/
private Vector2f rotation;
/** The size of this entity in pixels*/
private Vector2f size;
/**
* creates a new entity
*
* @param name The name of the entity
*/
public Entity(String name){
this.name = name;
location = new Vector2f(0,0);
}
/**
* @return The name of the entity
*/
public String getName() {
return name;
}
/**
* Get the Location of the entity
*
* @return The Location of the entity
*/
public Vector2f getLocation() {
return location;
}
/**
* set the location of this entity in pixels
*
* @param l The location of the entity
*/
public void setLocation(Vector2f l) {
location = l;
}
/**
* Get the rotation of the entity
*
* @return The Location of the entity
*/
public Vector2f getRotation() {
return rotation;
}
/**
* set the rotation of this entity in pixels
*
* @param r The rotation of the entity
*/
public void setRotation(Vector2f r) {
rotation = r;
}
/**
* Get the size of the entity
*
* @return The Location of the entity
*/
public Vector2f getSize() {
return size;
}
/**
* set the size of this entity in pixels
*
* @param s The size of the entity
*/
public void setSize(Vector2f s) {
size = s;
}
/**
* the render method should be implemented for every entity
*/
public abstract void render();
/**
* the update method can be implemented for every entity
*/
public void update(){}
}