31 lines
571 B
C
31 lines
571 B
C
|
#ifndef ENTITY_H
|
||
|
#define ENTITY_H
|
||
|
|
||
|
#include "../Components/TransformComponent.h"
|
||
|
#include "../Components/ModelComponent.h"
|
||
|
#include "../Components/LightComponent.h"
|
||
|
|
||
|
enum class EntityType {
|
||
|
CUBE,
|
||
|
LIGHT
|
||
|
};
|
||
|
|
||
|
class Entity {
|
||
|
public:
|
||
|
Entity(EntityType type);
|
||
|
virtual ~Entity();
|
||
|
|
||
|
EntityType GetType() const;
|
||
|
|
||
|
// Components.
|
||
|
TransformComponent transform;
|
||
|
// Optional components (set to non-null if the entity has them).
|
||
|
ModelComponent* modelComponent;
|
||
|
LightComponent* lightComponent;
|
||
|
|
||
|
private:
|
||
|
EntityType type;
|
||
|
};
|
||
|
|
||
|
#endif // ENTITY_H
|