feat(resources): add LoadGroup and UnloadGroup for batch resource loading

This commit is contained in:
2026-03-18 03:20:18 +08:00
parent 87835c5f7a
commit 8344057886
3 changed files with 40 additions and 0 deletions

View File

@@ -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