#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