BsManagedResourceManager.h 683 B

123456789101112131415161718192021222324252627282930
  1. #pragma once
  2. #include "BsScriptEnginePrerequisites.h"
  3. #include "BsModule.h"
  4. namespace BansheeEngine
  5. {
  6. /**
  7. * @brief Keeps track of all loaded managed resources.
  8. */
  9. class BS_SCR_BE_EXPORT ManagedResourceManager : public Module <ManagedResourceManager>
  10. {
  11. public:
  12. ManagedResourceManager();
  13. ~ManagedResourceManager();
  14. /**
  15. * @brief Register a newly created managed resource.
  16. */
  17. void registerManagedResource(const HManagedResource& resource);
  18. /**
  19. * @brief Unregister a managed resource that's about to be destroyed.
  20. */
  21. void unregisterManagedResource(const HManagedResource& resource);
  22. private:
  23. UnorderedMap<String, HManagedResource> mResources;
  24. };
  25. }