#pragma once #include #include #include "xml/tinyxml2.h" class ComponentFactory : public QObject { Q_OBJECT public: explicit ComponentFactory(QObject* parent = nullptr) : QObject(parent) {} virtual ~ComponentFactory() = default; //virtual void Serialize(const tinyxml2::XMLElement* element); static class SceneComponent* Create(const QString& name, class SceneComponent* parenet); protected: QString name_; };