2004-05-29 22:56:24 +02:00
|
|
|
#ifndef _UNIT_H
|
|
|
|
#define _UNIT_H
|
2004-05-30 02:46:58 +02:00
|
|
|
|
|
|
|
#include <assert.h>
|
2004-05-29 22:56:24 +02:00
|
|
|
|
2004-12-12 20:43:55 +01:00
|
|
|
class CModel;
|
2004-05-29 22:56:24 +02:00
|
|
|
class CObjectEntry;
|
2004-07-20 21:30:35 +02:00
|
|
|
class CEntity;
|
2004-05-30 02:46:58 +02:00
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
2004-05-29 22:56:24 +02:00
|
|
|
// CUnit: simple "actor" definition - defines a sole object within the world
|
|
|
|
class CUnit
|
|
|
|
{
|
2004-05-30 02:46:58 +02:00
|
|
|
public:
|
2004-07-20 21:30:35 +02:00
|
|
|
// constructor - unit invalid without a model and object
|
2005-04-03 07:02:00 +02:00
|
|
|
CUnit(CObjectEntry* object,CModel* model) : m_Object(object), m_Model(model), m_Entity(NULL) {
|
2004-05-30 02:46:58 +02:00
|
|
|
assert(object && model);
|
|
|
|
}
|
2005-04-03 07:02:00 +02:00
|
|
|
CUnit(CObjectEntry* object,CModel* model, CEntity* entity) : m_Object(object), m_Model(model), m_Entity(entity) {
|
2004-07-20 21:30:35 +02:00
|
|
|
assert(object && model);
|
|
|
|
}
|
|
|
|
|
2004-05-30 02:46:58 +02:00
|
|
|
// destructor
|
2004-12-12 20:43:55 +01:00
|
|
|
~CUnit();
|
2004-05-30 02:46:58 +02:00
|
|
|
|
|
|
|
|
|
|
|
// get unit's template object
|
|
|
|
CObjectEntry* GetObject() { return m_Object; }
|
|
|
|
// get unit's model data
|
|
|
|
CModel* GetModel() { return m_Model; }
|
2004-07-20 21:30:35 +02:00
|
|
|
// get actor's entity
|
|
|
|
CEntity* GetEntity() { return m_Entity; }
|
2004-05-30 02:46:58 +02:00
|
|
|
|
2004-05-29 22:56:24 +02:00
|
|
|
private:
|
|
|
|
// object from which unit was created
|
|
|
|
CObjectEntry* m_Object;
|
|
|
|
// object model representation
|
|
|
|
CModel* m_Model;
|
2004-07-20 21:30:35 +02:00
|
|
|
// the entity that this actor represents, if any
|
|
|
|
CEntity* m_Entity;
|
2004-05-29 22:56:24 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|