BsManagedResourceManager.h 759 B

1234567891011121314151617181920212223242526272829303132333435
  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 Unloads all managed resources.
  16. */
  17. void clear();
  18. /**
  19. * @brief Register a newly created managed resource.
  20. */
  21. void registerManagedResource(const HManagedResource& resource);
  22. /**
  23. * @brief Unregister a managed resource that's about to be destroyed.
  24. */
  25. void unregisterManagedResource(const HManagedResource& resource);
  26. private:
  27. UnorderedMap<String, HManagedResource> mResources;
  28. };
  29. }