| 381 | } |
| 382 | |
| 383 | AssetsConstPtr Root::assets() { |
| 384 | return loadMemberFunction<Assets>(m_assets, m_assetsMutex, "Assets", [this]() { |
| 385 | StringList assetDirectories = m_settings.assetDirectories; |
| 386 | assetDirectories.appendAll(m_modDirectories); |
| 387 | StringList assetSources = scanForAssetSources(assetDirectories, m_settings.assetSources); |
| 388 | |
| 389 | auto assets = make_shared<Assets>(m_settings.assetsSettings, assetSources); |
| 390 | Logger::info("Assets digest is {}", hexEncode(assets->digest())); |
| 391 | return assets; |
| 392 | }); |
| 393 | } |
| 394 | |
| 395 | ConfigurationPtr Root::configuration() { |
| 396 | return loadMemberFunction<Configuration>(m_configuration, m_configurationMutex, "Configuration", [this]() { |