ContentLoader::load: Minor cleanup

This commit is contained in:
REDxEYE 2024-08-21 19:28:08 +03:00
parent 16ddd943c2
commit fcd26f4b10

View File

@ -481,23 +481,23 @@ void ContentLoader::load() {
auto root = files::read_json(pack->getContentFile()); auto root = files::read_json(pack->getContentFile());
std::vector<std::pair<std::string, std::string>> pendingDefs; std::vector<std::pair<std::string, std::string>> pendingDefs;
auto getJsonParent = [&](std::string prerix, std::string name) { auto getJsonParent = [this](const std::string& prefix, const std::string& name) {
auto configFile = auto configFile = pack->folder / fs::path(prefix + "/" + name + ".json");
pack->folder / fs::path(prerix + "/" + name + ".json"); std::string parent;
std::string parent; if (fs::exists(configFile)) {
if (fs::exists(configFile)) { auto root = files::read_json(configFile);
auto root = files::read_json(configFile); if (root->has("parent")) root->str("parent", parent);
if (root->has("parent")) root->str("parent", parent); }
} return parent;
return parent; };
}; auto processName = [this](const std::string& name) {
auto processName = [&](std::string name) {
auto colon = name.find(':'); auto colon = name.find(':');
auto new_name = name;
std::string full = std::string full =
colon == std::string::npos ? pack->id + ":" + name : name; colon == std::string::npos ? pack->id + ":" + name : name;
if (colon != std::string::npos) name[colon] = '/'; if (colon != std::string::npos) new_name[colon] = '/';
return std::make_pair(full, name); return std::make_pair(full, new_name);
}; };
if (auto blocksarr = root->list("blocks")) { if (auto blocksarr = root->list("blocks")) {
@ -628,7 +628,9 @@ void ContentLoader::load() {
if (!pendingDefs.empty()) { if (!pendingDefs.empty()) {
// Handle circular dependencies or missing dependencies // Handle circular dependencies or missing dependencies
// You can log an error or throw an exception here if necessary // You can log an error or throw an exception here if necessary
throw std::runtime_error("Unresolved entities dependencies detected."); throw std::runtime_error(
"Unresolved entities dependencies detected."
);
} }
} }