feat(resources): add LoadGroup and UnloadGroup for batch resource loading
This commit is contained in:
@@ -186,5 +186,26 @@ void ResourceManager::ReloadResource(ResourceGUID guid) {
|
||||
}
|
||||
}
|
||||
|
||||
Containers::Array<Containers::String> ResourceManager::GetResourcePaths() const {
|
||||
Containers::Array<Containers::String> paths;
|
||||
for (const auto& pair : m_guidToPath) {
|
||||
paths.Add(pair.value);
|
||||
}
|
||||
return paths;
|
||||
}
|
||||
|
||||
void ResourceManager::UnloadGroup(const Containers::Array<ResourceGUID>& guids) {
|
||||
std::lock_guard lock(m_mutex);
|
||||
for (const auto& guid : guids) {
|
||||
auto* it = m_resourceCache.Find(guid);
|
||||
if (it != nullptr) {
|
||||
IResource* resource = *it;
|
||||
m_resourceCache.Erase(guid);
|
||||
m_memoryUsage -= resource->GetMemorySize();
|
||||
resource->Release();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace Resources
|
||||
} // namespace XCEngine
|
||||
|
||||
Reference in New Issue
Block a user