1
0
forked from 0ad/0ad
0ad/source/graphics/Unit.h
2005-05-10 07:13:25 +00:00

48 lines
1.2 KiB
C++
Executable File

#ifndef _UNIT_H
#define _UNIT_H
#include <assert.h>
class CModel;
class CObjectEntry;
class CEntity;
/////////////////////////////////////////////////////////////////////////////////////////////
// CUnit: simple "actor" definition - defines a sole object within the world
class CUnit
{
public:
// constructor - unit invalid without a model and object
CUnit(CObjectEntry* object,CModel* model) : m_Object(object), m_Model(model), m_Entity(NULL) {
assert(object && model);
}
CUnit(CObjectEntry* object,CModel* model, CEntity* entity) : m_Object(object), m_Model(model), m_Entity(entity) {
assert(object && model);
}
// destructor
~CUnit();
// get unit's template object
CObjectEntry* GetObject() { return m_Object; }
// get unit's model data
CModel* GetModel() { return m_Model; }
// get actor's entity
CEntity* GetEntity() { return m_Entity; }
// Put here as it conveniently references both the model and the ObjectEntry
void ShowAmmunition();
void HideAmmunition();
private:
// object from which unit was created
CObjectEntry* m_Object;
// object model representation
CModel* m_Model;
// the entity that this actor represents, if any
CEntity* m_Entity;
};
#endif