27 lines
815 B
C++
27 lines
815 B
C++
class Actor : public Persistent {
|
|
|
|
static const int MAX_NAME_LENGTH = 30;
|
|
|
|
public :
|
|
int x, y; // position on map
|
|
int ch; // ascii code
|
|
TCODColor col; // color
|
|
char name [ MAX_NAME_LENGTH ]; // the actor's name
|
|
bool blocks; // can we walk on this actor?
|
|
bool fovOnly; // only display when in fov
|
|
Attacker *attacker; // something that deals damage
|
|
Destructible *destructible; // something that can be damaged
|
|
Ai *ai; // something self-updating
|
|
Pickable *pickable; // Something that can be picked and used
|
|
Container *container; // Something that can contain other actors
|
|
|
|
Actor(int x, int y, int ch, const char *name, const TCODColor &col);
|
|
~Actor();
|
|
|
|
void update();
|
|
void render() const;
|
|
float getDistance(int cx, int cy) const;
|
|
|
|
void load(TCODZip &zip);
|
|
void save(TCODZip &zip);
|
|
}; |