| 151 | } |
| 152 | |
| 153 | ResourceDisplay* ResourceManager::get_display_data(const NetworkingObjects::NetObjID& fileID) { |
| 154 | auto loadedDisplayIt = displays.find(fileID); |
| 155 | if(loadedDisplayIt != displays.end()) |
| 156 | return loadedDisplayIt->second.get(); |
| 157 | |
| 158 | NetworkingObjects::NetObjTemporaryPtr<ResourceData> resourceData = world.netObjMan.get_obj_temporary_ref_from_id<ResourceData>(fileID); |
| 159 | if(resourceData == NetworkingObjects::NetObjTemporaryPtr<ResourceData>()) |
| 160 | return nullptr; |
| 161 | |
| 162 | auto imgResource(std::make_unique<ImageResourceDisplay>()); |
| 163 | if(imgResource->load(*this, resourceData->name, resourceData->data)) { |
| 164 | displays.emplace(fileID, std::move(imgResource)); |
| 165 | return displays[fileID].get(); |
| 166 | } |
| 167 | |
| 168 | auto svgResource(std::make_unique<SvgResourceDisplay>()); |
| 169 | if(svgResource->load(*this, resourceData->name, resourceData->data)) { |
| 170 | displays.emplace(fileID, std::move(svgResource)); |
| 171 | return displays[fileID].get(); |
| 172 | } |
| 173 | |
| 174 | auto fileResource(std::make_unique<FileResourceDisplay>()); |
| 175 | fileResource->load(*this, resourceData->name, resourceData->data); |
| 176 | displays.emplace(fileID, std::move(fileResource)); |
| 177 | return displays[fileID].get(); |
| 178 | } |
| 179 | |
| 180 | std::unordered_map<NetworkingObjects::NetObjID, ResourceData> ResourceManager::copy_resource_set_to_map(const std::unordered_set<NetworkingObjects::NetObjID>& resourceSet) const { |
| 181 | std::unordered_map<NetworkingObjects::NetObjID, ResourceData> toRet; |
no test coverage detected