#ifndef WORLD_ENTITY_H #define WORLD_ENTITY_H #include "data_tank.h" class Vector; class Ability; class WorldEntity { public: WorldEntity (); ~WorldEntity (); void setPosition(Vector* position); Vector* getPosition(); void setOrientation(Vector* orientation); Vector* getOrientation(); void setSpawnPoint(Vector* place); void setSpeed(float speed); float getSpeed(); void setHealth(float health); float getHealth(); void addAbility(Ability* ability); void removeAbility(Ability* ability); virtual void tick(float time); virtual void paint(); /* virtual void actionEvent(Event* event); */ virtual void collide(WorldEntity* we, Vector loc); virtual void hit(WorldEntity* weapon, Vector loc); virtual void destroy(); virtual void entityPreEnter(); virtual void entityPostEnter(); virtual void entityPreQuit(); virtual void entityPostQuit(); private: Vector* position; Vector* orientation; /* List of abilities */ float health; float speed; /* entity can be in the air or at ground: */ int airGround; }; #endif