#ifndef ENTITY_H_ #define ENTITY_H_ #include "../lib/glm/glm.hpp" class Entity { public: Entity(); virtual ~Entity() = default; [[nodiscard]] const glm::vec3& position() const { return position_; } void set_position(const glm::vec3& pos) { position_ = pos; } [[nodiscard]] const glm::vec3& rotation() const { return rotation_; } void set_rotation(const glm::vec3& rot) { rotation_ = rot; } [[nodiscard]] const glm::vec3& scale() const { return scale_; } void set_scale(const glm::vec3& scale) { scale_ = scale; } void move(const glm::vec3& vec); virtual void update(const float delta_time) { // ... } virtual void draw() { // ... } protected: glm::vec3 position_; glm::vec3 rotation_; glm::vec3 scale_; }; #endif // ENTITY_H_