59 lines
771 B
C++
59 lines
771 B
C++
#ifndef GAME_OBJECT_H
|
|
#define GAME_OBJECT_H
|
|
|
|
#include "utils/rtti.h"
|
|
#include "utils/maths.h"
|
|
#include "utils/str.h"
|
|
|
|
class Model;
|
|
|
|
enum EntityComponents
|
|
{
|
|
ENTITY_COMPONENTS_NONE,
|
|
ENTITY_COMPONENTS_VISUAL,
|
|
ENTITY_COMPONENTS_PHYSICS,
|
|
ENTITY_COMPONENTS_COLLIDER,
|
|
ENTITY_COMPONENTS_TRIGGER,
|
|
ENTITY_COMPONENTS_GHOST,
|
|
ENTITY_COMPONENTS_SOUND,
|
|
ENTITY_COMPONENTS_PARTICLESYSTEM,
|
|
|
|
ENTITY_COMPONENTS_MAX
|
|
};
|
|
|
|
class Entity
|
|
{
|
|
public:
|
|
DECLARE_RTTI;
|
|
|
|
public:
|
|
Entity();
|
|
~Entity();
|
|
|
|
virtual void LoadModel(const char* filename);
|
|
|
|
public:
|
|
Str m_name;
|
|
|
|
Vec3 m_position;
|
|
Vec3 m_rotation;
|
|
Vec3 m_scale;
|
|
|
|
Model* m_model;
|
|
|
|
};
|
|
|
|
class LightEntity : public Entity
|
|
{
|
|
public:
|
|
DECLARE_RTTI;
|
|
|
|
public:
|
|
LightEntity();
|
|
~LightEntity();
|
|
};
|
|
|
|
void TestRTTI();
|
|
|
|
#endif // !GAME_OBJECT_H
|