@@ -23,30 +23,41 @@ ResourceLoader::~ResourceLoader() {
23
23
}
24
24
25
25
void ResourceLoader::RegisterGlobalResourceFactories () {
26
- RegisterResourceFactory (std::make_shared<ResourceFactoryBinaryTextureV0>(), RESOURCE_FORMAT_BINARY, " Texture" , static_cast <uint32_t >(ResourceType::Texture), 0 );
27
- RegisterResourceFactory (std::make_shared<ResourceFactoryBinaryTextureV1>(), RESOURCE_FORMAT_BINARY, " Texture" , static_cast <uint32_t >(ResourceType::Texture), 1 );
28
- RegisterResourceFactory (std::make_shared<ResourceFactoryBinaryVertexV0>(), RESOURCE_FORMAT_BINARY, " Vertex" , static_cast <uint32_t >(ResourceType::Vertex), 0 );
29
- RegisterResourceFactory (std::make_shared<ResourceFactoryXMLVertexV0>(), RESOURCE_FORMAT_XML, " Vertex" , static_cast <uint32_t >(ResourceType::Vertex), 0 );
30
- RegisterResourceFactory (std::make_shared<ResourceFactoryBinaryDisplayListV0>(), RESOURCE_FORMAT_BINARY, " DisplayList" , static_cast <uint32_t >(ResourceType::DisplayList), 0 );
31
- RegisterResourceFactory (std::make_shared<ResourceFactoryXMLDisplayListV0>(), RESOURCE_FORMAT_XML, " DisplayList" , static_cast <uint32_t >(ResourceType::DisplayList), 0 );
32
- RegisterResourceFactory (std::make_shared<ResourceFactoryBinaryMatrixV0>(), RESOURCE_FORMAT_BINARY, " Matrix" , static_cast <uint32_t >(ResourceType::Matrix), 0 );
33
- RegisterResourceFactory (std::make_shared<ResourceFactoryBinaryArrayV0>(), RESOURCE_FORMAT_BINARY, " Array" , static_cast <uint32_t >(ResourceType::Array), 0 );
34
- RegisterResourceFactory (std::make_shared<ResourceFactoryBinaryBlobV0>(), RESOURCE_FORMAT_BINARY, " Blob" , static_cast <uint32_t >(ResourceType::Blob), 0 );
26
+ RegisterResourceFactory (std::make_shared<ResourceFactoryBinaryTextureV0>(), RESOURCE_FORMAT_BINARY, " Texture" ,
27
+ static_cast <uint32_t >(ResourceType::Texture), 0 );
28
+ RegisterResourceFactory (std::make_shared<ResourceFactoryBinaryTextureV1>(), RESOURCE_FORMAT_BINARY, " Texture" ,
29
+ static_cast <uint32_t >(ResourceType::Texture), 1 );
30
+ RegisterResourceFactory (std::make_shared<ResourceFactoryBinaryVertexV0>(), RESOURCE_FORMAT_BINARY, " Vertex" ,
31
+ static_cast <uint32_t >(ResourceType::Vertex), 0 );
32
+ RegisterResourceFactory (std::make_shared<ResourceFactoryXMLVertexV0>(), RESOURCE_FORMAT_XML, " Vertex" ,
33
+ static_cast <uint32_t >(ResourceType::Vertex), 0 );
34
+ RegisterResourceFactory (std::make_shared<ResourceFactoryBinaryDisplayListV0>(), RESOURCE_FORMAT_BINARY,
35
+ " DisplayList" , static_cast <uint32_t >(ResourceType::DisplayList), 0 );
36
+ RegisterResourceFactory (std::make_shared<ResourceFactoryXMLDisplayListV0>(), RESOURCE_FORMAT_XML, " DisplayList" ,
37
+ static_cast <uint32_t >(ResourceType::DisplayList), 0 );
38
+ RegisterResourceFactory (std::make_shared<ResourceFactoryBinaryMatrixV0>(), RESOURCE_FORMAT_BINARY, " Matrix" ,
39
+ static_cast <uint32_t >(ResourceType::Matrix), 0 );
40
+ RegisterResourceFactory (std::make_shared<ResourceFactoryBinaryArrayV0>(), RESOURCE_FORMAT_BINARY, " Array" ,
41
+ static_cast <uint32_t >(ResourceType::Array), 0 );
42
+ RegisterResourceFactory (std::make_shared<ResourceFactoryBinaryBlobV0>(), RESOURCE_FORMAT_BINARY, " Blob" ,
43
+ static_cast <uint32_t >(ResourceType::Blob), 0 );
35
44
}
36
45
37
- bool ResourceLoader::RegisterResourceFactory (std::shared_ptr<ResourceFactory> factory, uint32_t format, std::string typeName, uint32_t type, uint32_t version) {
46
+ bool ResourceLoader::RegisterResourceFactory (std::shared_ptr<ResourceFactory> factory, uint32_t format,
47
+ std::string typeName, uint32_t type, uint32_t version) {
38
48
if (mResourceTypes .contains (typeName)) {
39
- if (mResourceTypes [typeName] != type) {
49
+ if (mResourceTypes [typeName] != type) {
40
50
SPDLOG_ERROR (" Failed to register resource factory: conflicting types for name {}" , typeName);
41
51
return false ;
42
52
}
43
53
} else {
44
54
mResourceTypes [typeName] = type;
45
55
}
46
56
47
- ResourceFactoryKey key = {resourceFormat: format, resourceType: type, resourceVersion: version};
57
+ ResourceFactoryKey key = { resourceFormat : format, resourceType : type, resourceVersion : version };
48
58
if (mFactories .contains (key)) {
49
- SPDLOG_ERROR (" Failed to register resource factory: factory with key {}{}{} already exists" , format, type, version);
59
+ SPDLOG_ERROR (" Failed to register resource factory: factory with key {}{}{} already exists" , format, type,
60
+ version);
50
61
return false ;
51
62
}
52
63
mFactories [key] = factory;
@@ -55,7 +66,7 @@ bool ResourceLoader::RegisterResourceFactory(std::shared_ptr<ResourceFactory> fa
55
66
}
56
67
57
68
std::shared_ptr<ResourceFactory> ResourceLoader::GetFactory (uint32_t format, uint32_t type, uint32_t version) {
58
- ResourceFactoryKey key = {resourceFormat: format, resourceType: type, resourceVersion: version};
69
+ ResourceFactoryKey key = { resourceFormat : format, resourceType : type, resourceVersion : version };
59
70
if (!mFactories .contains (key)) {
60
71
SPDLOG_ERROR (" Could not find resource factory with key {}{}{}" , format, type, version);
61
72
return nullptr ;
@@ -84,14 +95,16 @@ std::shared_ptr<IResource> ResourceLoader::LoadResource(std::shared_ptr<File> fi
84
95
return nullptr ;
85
96
}
86
97
87
- auto factory = GetFactory (fileToLoad->InitData ->Format , fileToLoad->InitData ->Type , fileToLoad->InitData ->ResourceVersion );
98
+ auto factory =
99
+ GetFactory (fileToLoad->InitData ->Format , fileToLoad->InitData ->Type , fileToLoad->InitData ->ResourceVersion );
88
100
if (factory == nullptr ) {
89
- SPDLOG_ERROR (" Failed to load resource: Factory does not exist.\n " \
90
- " Path: {}\n " \
91
- " Type: {}\n " \
92
- " Format: {}\n " \
101
+ SPDLOG_ERROR (" Failed to load resource: Factory does not exist.\n "
102
+ " Path: {}\n "
103
+ " Type: {}\n "
104
+ " Format: {}\n "
93
105
" Version: {}" ,
94
- fileToLoad->InitData ->Path , fileToLoad->InitData ->Type , fileToLoad->InitData ->Format , fileToLoad->InitData ->ResourceVersion );
106
+ fileToLoad->InitData ->Path , fileToLoad->InitData ->Type , fileToLoad->InitData ->Format ,
107
+ fileToLoad->InitData ->ResourceVersion );
95
108
return nullptr ;
96
109
}
97
110
0 commit comments