// Transform.h #pragma once #include "Component.h" #include #include class TransformComponent : public Component { public: glm::vec3 position; glm::vec3 rotation; glm::vec3 scale; glm::vec3 GetPosition() const { return position; } void SetPosition(float x, float y, float z) { position = { x, y, z }; } glm::vec3 GetRotation() const { return rotation; } void SetRotation(float x, float y, float z) { rotation = { x, y, z }; } TransformComponent(); virtual const std::string& GetName() const override; static const std::string& GetStaticName(); // Serialization methods virtual YAML::Node Serialize() override; virtual void Deserialize(const YAML::Node& node) override; private: static const std::string name; };