From 2d13805218eb34b6e06205c1b65c341ebcdad504 Mon Sep 17 00:00:00 2001 From: heavydemon21 Date: Tue, 1 Oct 2024 11:03:50 +0200 Subject: changed resource manager to singleton --- asset/tiled/demo.tmx | 21 +++++++ asset/tiled/images/tilemap/platform.tsx | 18 ++++++ asset/tiled/images/tilemap/tileset.png | Bin 0 -> 29737 bytes asset/tiled/images/tilemap/tileset.txt | 2 + asset/tiled/images/tilemap/tileset02.png | Bin 0 -> 6478 bytes asset/tiled/platform.tmx | 94 +++++++++++++++++++++++++++++++ resource-manager/main.cpp | 6 +- resource-manager/resource_manager.cpp | 11 ++++ resource-manager/resource_manager.h | 24 ++++++-- 9 files changed, 168 insertions(+), 8 deletions(-) create mode 100644 asset/tiled/demo.tmx create mode 100644 asset/tiled/images/tilemap/platform.tsx create mode 100644 asset/tiled/images/tilemap/tileset.png create mode 100644 asset/tiled/images/tilemap/tileset.txt create mode 100644 asset/tiled/images/tilemap/tileset02.png create mode 100644 asset/tiled/platform.tmx diff --git a/asset/tiled/demo.tmx b/asset/tiled/demo.tmx new file mode 100644 index 0000000..8183148 --- /dev/null +++ b/asset/tiled/demo.tmx @@ -0,0 +1,21 @@ + + + + + + + + eJxjYBj6gBeIeZAwH5H6OIFYBQvmooEbBwoAAO2gAQc= + + + + + eJxjYBhcgIUCvcxIbH5KHTJMAAAZ1AAX + + + + + eJxjYBjaQBCIBaCYG4k9CiAAAGXcAF0= + + + diff --git a/asset/tiled/images/tilemap/platform.tsx b/asset/tiled/images/tilemap/platform.tsx new file mode 100644 index 0000000..6a48b12 --- /dev/null +++ b/asset/tiled/images/tilemap/platform.tsx @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/asset/tiled/images/tilemap/tileset.png b/asset/tiled/images/tilemap/tileset.png new file mode 100644 index 0000000..f13825d Binary files /dev/null and b/asset/tiled/images/tilemap/tileset.png differ diff --git a/asset/tiled/images/tilemap/tileset.txt b/asset/tiled/images/tilemap/tileset.txt new file mode 100644 index 0000000..1676dad --- /dev/null +++ b/asset/tiled/images/tilemap/tileset.txt @@ -0,0 +1,2 @@ +tileset by Alucard +http://opengameart.org/content/pixel-art-platformer-complete-pack \ No newline at end of file diff --git a/asset/tiled/images/tilemap/tileset02.png b/asset/tiled/images/tilemap/tileset02.png new file mode 100644 index 0000000..9f594e4 Binary files /dev/null and b/asset/tiled/images/tilemap/tileset02.png differ diff --git a/asset/tiled/platform.tmx b/asset/tiled/platform.tmx new file mode 100644 index 0000000..2b40b85 --- /dev/null +++ b/asset/tiled/platform.tmx @@ -0,0 +1,94 @@ + + + + + + + + + + + + eJzt2VsKwyAQBdCsoo8VNN3/BvvbQC1Em9iZOQeE/AQcyFXjLAuc69YxIKuePMgLVckCtNkz4LvrjgGVXHYMqGZPPuSFSuQCPrt3Dshudt/jOfAuZLfOngD8MfmANvkY43ya22P2BIKzvkCbfECbfECb8ykAAABnqNb/qlYvY6rdX0avV77PVe3+Mnq90fMNv/a+Z8gHbK2NZ2B7Jox+PqQO/8rQZi0HAAAAiCf7nWf2+jhW9v5u9vo41sj3E2Ftlg9GjPTMIvTbIswRYKYXswgSvA== + + + + + + + + eJztm9tOw0AMBc0DPAEfAKIY6P9/I6kgqA25NInXa3dnpCOeqJxmZ+89CgCMcfwNAPwHPwCmwQ+AafDDlrvaBYAp+GHLZ5fDIF9VK4I94AfU4qXL60LeqlX3A34ATIMfvrA+yQV++MC6JCf4AdkpOSbjB2RmbFy2HJvxw5bh+2IOlRv8iA9rehueujwO8rzwP/gRk6l5A+PSNua+z7nvEj/KsqXPuhW2jHvRxkr8KMfWPmsN0dqTdnkvlA+/x/ijZT/G+vYM/XuksxSVyzZ8LBxvT1r1g/n9PlR8fJiKlyOt+gHbUKnrhbcj+AFLqPjNn6LNt/AjLyXniCpxnfAcS/ADelRyOeHhCH7ACZX67dvSkdO+99T+5FzO9y7vzz63BaKdFURBpX67tozVecv5Z94Kpzl5/3yHkb/s3V6iUr89Zwi0h0r9dpclUI+18+S58/1r5pAqedfg+NEOKuXuKl07ryb4sYZr+nKL+1kq9d85wY81LJ23WZy9qdCHZ0x2ou/dquBF5mRGJeZvB3pU6r9f0p4fKuv6ZG9H1tZH4iYTKtvbnYcje+ojMZMFlf3PWtIRi/pIvERHxbZPLuGIGtZHYiUiKmXPtKzW7X2dtd8hKZcH2XYf2CrDMzd1fPY9jnjWSeqmxl2HKHcgstRJ/PMNRu5JzA== + + + + + eJzt2+FqwjAUBtDihO2fbnPv/6rbYGUxNOuqbW9izoEgIsqF+jVpczsMAAAAAACkPqILgIq9RxdA1U7RBQSTDyiTjz4dowtoxJr5eP0a52T0PjfX7PDzuuUxajmDY+3mD7byFF3AHcba5YN7nSfGt0PxG/WLzke6FnsLqgFKovNBXVwrXhvnvsswPT9ODed5lvC/YU/5+t45HwCgX+la0HUJsIaWexBga3M9CM+7VAH1SNedf/Ug9JCNUm8G9Mxzm1CmrwfKWsrHXN/RlP/s7S/9TfqR58N9PPiV5+PWZ4n0YPGI1soHPKJL9r7lZ+0AAAAgZQ+Bnr3MfO4eKb3LM5Lujy29Rzq3t3ZLX8VeTkPd9QHU4hO/Kwa1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resource-manager/main.cpp b/resource-manager/main.cpp index 6b3a23e..0148555 100644 --- a/resource-manager/main.cpp +++ b/resource-manager/main.cpp @@ -15,8 +15,6 @@ #include #include #include -#include -#include int main() { SDL_Init(SDL_INIT_VIDEO); @@ -32,8 +30,8 @@ int main() { SDL_Renderer * renderer = SDL_CreateRenderer(window, -1, 0); - - ResourceManager * rm = new ResourceManager(); + + ResourceManager* rm = ResourceManager::get_instance(); ResourceConverter resource_converter; Texture* img = rm->Load("../img.png"); diff --git a/resource-manager/resource_manager.cpp b/resource-manager/resource_manager.cpp index 1412592..aee0ce2 100644 --- a/resource-manager/resource_manager.cpp +++ b/resource-manager/resource_manager.cpp @@ -5,6 +5,15 @@ #include "resource.h" #include +ResourceManager* ResourceManager::m_single_resource_manager = nullptr; + +ResourceManager* ResourceManager::get_instance(){ + if (m_single_resource_manager == nullptr) { + m_single_resource_manager = new ResourceManager(); + } + return m_single_resource_manager; +} + ResourceManager::ResourceManager(){ } @@ -14,6 +23,8 @@ ResourceManager::~ResourceManager(){ for(auto pair : m_resources){ delete pair.second; } + + delete m_single_resource_manager; } diff --git a/resource-manager/resource_manager.h b/resource-manager/resource_manager.h index ea9c80a..c155559 100644 --- a/resource-manager/resource_manager.h +++ b/resource-manager/resource_manager.h @@ -14,11 +14,29 @@ using namespace crepe; class ResourceManager{ -public: +private: + + static ResourceManager* m_single_resource_manager; + std::unordered_map m_resources; + + + +protected: ResourceManager(); ~ResourceManager(); - + +public: + ResourceManager(const ResourceManager &) = delete; + ResourceManager(ResourceManager &&) = delete; + ResourceManager &operator=(const ResourceManager &) = delete; + ResourceManager &operator=(ResourceManager &&) = delete; + + static ResourceManager* get_instance(); + + + +public: template T* Load(const Constants::FILE_PATH& file_path){ @@ -35,8 +53,6 @@ public: void Unload(const Constants::FILE_PATH& file_path); -private: - std::unordered_map m_resources; }; -- cgit v1.2.3