aozhiwei 098e5cb2ac 1
2019-07-06 13:04:37 +08:00

55 lines
1.8 KiB
C++
Executable File

#pragma once
#include "metadata.h"
class MetaDataLoader;
class MetaMgr : public a8::Singleton<MetaMgr>
{
private:
MetaMgr() {};
friend class a8::Singleton<MetaMgr>;
public:
void Init();
void UnInit();
void Reload();
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::MapThing* GetMapThing(int mapthing_id);
MetaData::Player* GetPlayer(int id);
MetaData::Equip* GetEquip(int id);
MetaData::Equip* GetEquipBySlotId(int slot_id);
MetaData::EquipUpgrade* GetEquipUpgrade(int equip_id);
MetaData::Building* GetBuilding(int building_id);
MetaData::Drop* GetDrop(int drop_id);
MetaData::SafeArea* GetSafeArea(int area_id);
std::vector<MetaData::MapTplThing>* GetMapTplThing(const std::string& map_name);
std::vector<MetaData::MapTplThing>* GetMapBornPoints(const std::string& map_name);
MetaData::Skill* GetSkill(int skill_id);
MetaData::Buff* GetBuff(int buff_id);
MetaData::Attr* GetAttrById(int attr_id);
MetaData::Attr* GetAttrByName(const std::string& attr_name);
MetaData::Dress* GetDress(int dress_id);
MetaData::Tank* GetTank(int tank_id);
float GetRankRewardParam(int rank);
float GetKillRewardParam(int kill_num);
std::vector<MetaData::Robot>* GetRobotList();
MetaData::Robot* GetRobot(int robot_id);
int gas_inactive_time = 10;
float K = 100.0f;
float kill_param = 0.0f;
float rank_param = 0.0f;
int fighting_mode = 0;
int revive_time = 5;
int game_duration = 60 * 2;
private:
MetaDataLoader* loader_ = nullptr;
};