BsManagedResourceManager.cpp 840 B

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