add param read
This commit is contained in:
parent
b08e14d2cb
commit
49537b8837
@ -4,6 +4,12 @@
|
|||||||
|
|
||||||
namespace MetaData
|
namespace MetaData
|
||||||
{
|
{
|
||||||
|
void Parameter::Init()
|
||||||
|
{
|
||||||
|
int_val = a8::XValue(i->param_value());
|
||||||
|
float_val = a8::XValue(i->param_value());
|
||||||
|
str_val = a8::XValue(i->param_value()).GetString();
|
||||||
|
}
|
||||||
|
|
||||||
void Map::Init()
|
void Map::Init()
|
||||||
{
|
{
|
||||||
|
@ -8,6 +8,12 @@ namespace MetaData
|
|||||||
struct Parameter
|
struct Parameter
|
||||||
{
|
{
|
||||||
const metatable::Parameter* i = nullptr;
|
const metatable::Parameter* i = nullptr;
|
||||||
|
|
||||||
|
int int_val = 0;
|
||||||
|
std::string str_val;
|
||||||
|
double float_val = 0.0f;
|
||||||
|
|
||||||
|
void Init();
|
||||||
};
|
};
|
||||||
|
|
||||||
struct Map
|
struct Map
|
||||||
|
@ -74,6 +74,7 @@ private:
|
|||||||
for (auto& meta : parameter_meta_list) {
|
for (auto& meta : parameter_meta_list) {
|
||||||
MetaData::Parameter& item = a8::FastAppend(parameter_list);
|
MetaData::Parameter& item = a8::FastAppend(parameter_list);
|
||||||
item.i = &meta;
|
item.i = &meta;
|
||||||
|
item.Init();
|
||||||
parameter_hash[item.i->param_name()] = &item;
|
parameter_hash[item.i->param_name()] = &item;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -195,10 +196,22 @@ void MetaMgr::Reload()
|
|||||||
loader_->Load();
|
loader_->Load();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string MetaMgr::GetSysParam(const std::string& param_name)
|
int MetaMgr::GetSysParamAsInt(const std::string& param_name, int def_val)
|
||||||
{
|
{
|
||||||
auto itr = loader_->parameter_hash.find(param_name);
|
auto itr = loader_->parameter_hash.find(param_name);
|
||||||
return itr != loader_->parameter_hash.end() ? itr->second->i->param_value() : "";
|
return itr != loader_->parameter_hash.end() ? itr->second->int_val: def_val;
|
||||||
|
}
|
||||||
|
|
||||||
|
double MetaMgr::GetSysParamAsFloat(const std::string& param_name, double def_val)
|
||||||
|
{
|
||||||
|
auto itr = loader_->parameter_hash.find(param_name);
|
||||||
|
return itr != loader_->parameter_hash.end() ? itr->second->float_val: def_val;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string MetaMgr::GetSysParamAsString(const std::string& param_name, const char* def_val)
|
||||||
|
{
|
||||||
|
auto itr = loader_->parameter_hash.find(param_name);
|
||||||
|
return itr != loader_->parameter_hash.end() ? itr->second->str_val: def_val;
|
||||||
}
|
}
|
||||||
|
|
||||||
MetaData::Map* MetaMgr::GetMap(int map_id)
|
MetaData::Map* MetaMgr::GetMap(int map_id)
|
||||||
|
@ -16,7 +16,9 @@ class MetaMgr : public a8::Singleton<MetaMgr>
|
|||||||
void UnInit();
|
void UnInit();
|
||||||
void Reload();
|
void Reload();
|
||||||
|
|
||||||
std::string GetSysParam(const std::string& param_name);
|
int GetSysParamAsInt(const std::string& param_name, int def_val = 0);
|
||||||
|
double GetSysParamAsFloat(const std::string& param_name, double def_val = 0.0f);
|
||||||
|
std::string GetSysParamAsString(const std::string& param_name, const char* def_val = "");
|
||||||
MetaData::Map* GetMap(int map_id);
|
MetaData::Map* GetMap(int map_id);
|
||||||
MetaData::MapThing* GetMapThing(int mapthing_id);
|
MetaData::MapThing* GetMapThing(int mapthing_id);
|
||||||
MetaData::Player* GetPlayer(int id);
|
MetaData::Player* GetPlayer(int id);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user