-
Notifications
You must be signed in to change notification settings - Fork 0
Entity
The Entity object is one of the defining characteristic of EMA, allowing for any object derived from this to be organized within the API and updated.
The definition of the entity class is simple:
class Entity
{
friend class Bin;
public:
//Simple Constructor
Entity(const unsigned int x, const unsigned int y);
virtual void update() = 0;
//Deconstructor for derived classes
virtual ~Entity();
unsigned int getX() const;
unsigned int getY() const;
protected:
// X/Y Locations
unsigned int x;
unsigned int y;
};
Notice that update is pure virtual - this is because every tick, the game will call every object's update function.. This is the only hook that object has in the world: if the object does not update, and nothing acts on it, nothing will ever happen to this object.
The object also has an X/Y location in the world.. You can change this all you want, however you need to call the Bin's move(Entity*, unsigned int newX, unsigned int newY)
function so that the move and can be properly tracked (so the getNear
function series will work properly, and efficiently.