diff options
Diffstat (limited to 'assetFactory/modelFactory.h')
-rw-r--r-- | assetFactory/modelFactory.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/assetFactory/modelFactory.h b/assetFactory/modelFactory.h index f2b1b48..94db055 100644 --- a/assetFactory/modelFactory.h +++ b/assetFactory/modelFactory.h @@ -1,12 +1,19 @@ #pragma once +#include "persistence.h" #include "shape.h" +#include <filesystem> -class ModelFactory { +class ModelFactory : public Persistence::Persistable { public: using Shapes = std::map<std::string, Shape::CPtr, std::less<>>; ModelFactory(); + [[nodiscard]] static std::shared_ptr<ModelFactory> loadXML(const std::filesystem::path &); Shapes shapes; + +private: + friend Persistence::SelectionPtrBase<std::shared_ptr<ModelFactory>, true>; + bool persist(Persistence::PersistenceStore & store) override; }; |