feat: Implement resource system Phase 2 - Concrete resource types
- Add Material class with shader/texture bindings and property system - Add MaterialLoader for .mat/.json format - Add Shader class (Vertex/Fragment/Geometry/Compute) - Add ShaderLoader for .vert/.frag/.glsl/.hlsl - Add AudioClip class (WAV/OGG/MP3/FLAC support) - Add AudioLoader for audio files - Add Texture/Mesh classes and loaders (from design doc) - Fix HashMap iterator and String API usage - Fix Mutex compatibility with std::lock_guard - Update CMakeLists.txt with new resource files - All tests pass: 11 Resources + 51 Containers
This commit is contained in:
@@ -65,12 +65,12 @@ Core::uint32 ResourceManager::GetRefCount(ResourceGUID guid) const {
|
||||
|
||||
void ResourceManager::RegisterLoader(IResourceLoader* loader) {
|
||||
std::lock_guard lock(m_mutex);
|
||||
m_loaders.Insert(loader->GetResourceType(), Core::MakeUnique<IResourceLoader>(loader));
|
||||
m_loaders.Insert(loader->GetResourceType(), loader);
|
||||
}
|
||||
|
||||
IResourceLoader* ResourceManager::GetLoader(ResourceType type) const {
|
||||
auto* it = m_loaders.Find(type);
|
||||
return it != nullptr ? it->get() : nullptr;
|
||||
return it != nullptr ? *it : nullptr;
|
||||
}
|
||||
|
||||
IResourceLoader* ResourceManager::FindLoader(ResourceType type) {
|
||||
|
||||
Reference in New Issue
Block a user