aboutsummaryrefslogtreecommitdiff
path: root/mwe/resource-manager/resource_fabricator.h
diff options
context:
space:
mode:
Diffstat (limited to 'mwe/resource-manager/resource_fabricator.h')
-rw-r--r--mwe/resource-manager/resource_fabricator.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/mwe/resource-manager/resource_fabricator.h b/mwe/resource-manager/resource_fabricator.h
new file mode 100644
index 0000000..302eefe
--- /dev/null
+++ b/mwe/resource-manager/resource_fabricator.h
@@ -0,0 +1,21 @@
+#pragma once
+
+#include "constants.h"
+#include "resource.h"
+#include <SDL_render.h>
+#include <string>
+
+using namespace crepe;
+
+class ResourceFactory {
+
+public:
+ template <typename T>
+ static Resource * create_resource(const Constants::FILE_PATH & file_path) {
+
+ return new T(convert_file_to_string(file_path));
+ }
+
+private:
+ static std::string convert_file_to_string(const std::string & path);
+};