diff --git a/src/nostalgia/core/assetmanager.hpp b/src/nostalgia/core/assetmanager.hpp index b25d736c..1bed2475 100644 --- a/src/nostalgia/core/assetmanager.hpp +++ b/src/nostalgia/core/assetmanager.hpp @@ -4,9 +4,9 @@ #pragma once -#include #include #include +#include #include #include @@ -18,22 +18,28 @@ template class AssetRef; template -struct AssetContainer { +class AssetContainer { friend AssetManager; friend AssetRef; + protected: + ox::Signal updated; + private: T m_obj; mutable int m_references = 0; public: - ox::Signal updated; - template explicit constexpr AssetContainer(Args&&... args): m_obj(ox::forward(args)...) { } + AssetContainer(AssetContainer&) = delete; + AssetContainer(AssetContainer&&) = delete; + AssetContainer& operator=(AssetContainer&) = delete; + AssetContainer& operator=(AssetContainer&&) = delete; + constexpr T *get() noexcept { return &m_obj; }