summaryrefslogtreecommitdiff
path: root/assetFactory/modelFactory.h
diff options
context:
space:
mode:
Diffstat (limited to 'assetFactory/modelFactory.h')
-rw-r--r--assetFactory/modelFactory.h9
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;
};