BsManagedResourceManager.cpp 784 B

123456789101112131415161718192021222324252627282930313233
  1. #include "BsManagedResourceManager.h"
  2. #include "BsResources.h"
  3. namespace BansheeEngine
  4. {
  5. ManagedResourceManager::ManagedResourceManager()
  6. {
  7. }
  8. ManagedResourceManager::~ManagedResourceManager()
  9. {
  10. UnorderedMap<String, HManagedResource> resourceCopy = mResources;
  11. for (auto& resourcePair : resourceCopy)
  12. {
  13. HManagedResource resource = resourcePair.second;
  14. if (resource != nullptr && resource.isLoaded())
  15. gResources().unload(resource);
  16. }
  17. mResources.clear();
  18. }
  19. void ManagedResourceManager::registerManagedResource(const HManagedResource& resource)
  20. {
  21. mResources.insert(std::make_pair(resource.getUUID(), resource));
  22. }
  23. void ManagedResourceManager::unregisterManagedResource(const HManagedResource& resource)
  24. {
  25. mResources.erase(resource.getUUID());
  26. }
  27. }