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
|