1
This commit is contained in:
parent
57447c94f5
commit
a5664c666c
@ -7,6 +7,7 @@
|
|||||||
|
|
||||||
#include <a8/stringlist.h>
|
#include <a8/stringlist.h>
|
||||||
#include <a8/csvreader.h>
|
#include <a8/csvreader.h>
|
||||||
|
#include <a8/mutable_xobject.h>
|
||||||
|
|
||||||
#include "framework/cpp/utils.h"
|
#include "framework/cpp/utils.h"
|
||||||
|
|
||||||
@ -20,7 +21,8 @@
|
|||||||
#define METAMGR_READ_STR(field_name, def_val) MetaMgr::Instance()->field_name = \
|
#define METAMGR_READ_STR(field_name, def_val) MetaMgr::Instance()->field_name = \
|
||||||
a8::XValue(MetaMgr::Instance()->GetSysParamAsString(#field_name, def_val)).GetString();
|
a8::XValue(MetaMgr::Instance()->GetSysParamAsString(#field_name, def_val)).GetString();
|
||||||
|
|
||||||
static void ParseElemets(const std::string& text,
|
static void ParseElemets(const std::string& textid,
|
||||||
|
const std::string& text,
|
||||||
std::vector<std::tuple<int, std::string>>& elements)
|
std::vector<std::tuple<int, std::string>>& elements)
|
||||||
{
|
{
|
||||||
auto parsevar_cb =
|
auto parsevar_cb =
|
||||||
@ -37,6 +39,10 @@ static void ParseElemets(const std::string& text,
|
|||||||
} else if (var_name == "${weapon.text_icon}") {
|
} else if (var_name == "${weapon.text_icon}") {
|
||||||
elements.push_back(std::make_tuple(kFieldIdxWeaponTextIcon, ""));
|
elements.push_back(std::make_tuple(kFieldIdxWeaponTextIcon, ""));
|
||||||
} else if (var_name.find("${image.id:") == 0) {
|
} else if (var_name.find("${image.id:") == 0) {
|
||||||
|
std::vector<std::string> strings;
|
||||||
|
a8::Split(var_name, strings, ':');
|
||||||
|
std::string id = strings[1].substr(0, strings[1].length() - 1);
|
||||||
|
elements.push_back(std::make_tuple(kImageElement, id));
|
||||||
} else {
|
} else {
|
||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
@ -62,6 +68,27 @@ static void ParseElemets(const std::string& text,
|
|||||||
pcurr = pend;
|
pcurr = pend;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
a8::MutableXObject* obj = a8::MutableXObject::NewObject();
|
||||||
|
a8::MutableXObject* arr = a8::MutableXObject::NewArray();
|
||||||
|
for (auto& e : elements) {
|
||||||
|
a8::MutableXObject* obj_el = a8::MutableXObject::NewObject();
|
||||||
|
obj_el->SetVal("type", std::get<0>(e));
|
||||||
|
obj_el->SetVal("val", std::get<1>(e));
|
||||||
|
arr->Push(obj_el);
|
||||||
|
}
|
||||||
|
obj->SetVal("text", text);
|
||||||
|
obj->SetVal("elemets", arr);
|
||||||
|
a8::UdpLog::Instance()->Info
|
||||||
|
("load textid:%s ",
|
||||||
|
{
|
||||||
|
textid,
|
||||||
|
obj->ToJsonStr()
|
||||||
|
}
|
||||||
|
);
|
||||||
|
delete obj;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class MetaDataLoader
|
class MetaDataLoader
|
||||||
@ -778,7 +805,7 @@ private:
|
|||||||
text_hash[meta.textid()] = meta.text();
|
text_hash[meta.textid()] = meta.text();
|
||||||
if (meta.text().find("battle_server_dead_text_") != std::string::npos) {
|
if (meta.text().find("battle_server_dead_text_") != std::string::npos) {
|
||||||
std::vector<std::tuple<int, std::string>> elemets;
|
std::vector<std::tuple<int, std::string>> elemets;
|
||||||
ParseElemets(meta.text(), elemets);
|
ParseElemets(meta.textid(), meta.text(), elemets);
|
||||||
text_element_hash[meta.text()] = elemets;
|
text_element_hash[meta.text()] = elemets;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user