135 lines
4.6 KiB
C++
Executable File
135 lines
4.6 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(std::string& map_name);
|
|
std::list<MetaData::AirDrop>& GetAirDrops();
|
|
MetaData::AirLine* RandAirLine(int map_id);
|
|
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::Dress* RandDress();
|
|
MetaData::RankReward* GetRankReward(int rank);
|
|
float GetRankRewardParam(int rank);
|
|
float GetKillRewardParam(int kill_num);
|
|
int GetRankPointParam1(int rank);
|
|
int GetRankPointParam2(int rank);
|
|
int GetRankPointParam3(int rank);
|
|
int GetKillPointParam1(int kill_num);
|
|
int GetKillPointParam2(int kill_num);
|
|
MetaData::Robot* RandRobot(std::set<int>& refreshed_robot_set);
|
|
MetaData::AI* GetAI(int ai_level);
|
|
|
|
int gas_inactive_time = 10;
|
|
int newbie_gas_inactive_time = 5;
|
|
int midbrid_gas_inactive_time = 15;
|
|
int common_gas_inactive_time = 15;
|
|
int jump_time = 10;
|
|
float K = 100.0f;
|
|
float kill_param = 0.0f;
|
|
float rank_param = 0.0f;
|
|
int fighting_mode = 0;
|
|
float tank_damage1 = 0.0f;
|
|
float tank_damage2 = 0.0f;
|
|
float tank_damage_interval = 0.0f;
|
|
float average_oil = 0.0f;
|
|
float max_oil = 0.0f;
|
|
float horse_shoot_x = 0.0f;
|
|
float horse_shoot_y = 0.0f;
|
|
float max_mount_horse_distance = 100.0f;
|
|
int newbie_game_times = 0;
|
|
int niube_win_times = 0;
|
|
|
|
int newbie_fill_interval = 0;
|
|
std::string newbie_born_point;
|
|
std::vector<int> newbie_drop;
|
|
std::vector<int> newbie_airdrop;
|
|
int newbie_first_robot_distance = 0;
|
|
int newbie_first_robot_appeartime = 0;
|
|
int newbie_first_robot_ammo = 0;
|
|
int newbie_airdrop_appeartime = 0;
|
|
std::vector<int> newbie_buff_list;
|
|
|
|
int level0room_shua_robot_min_time = 0;
|
|
int level0room_shua_robot_max_time = 0;
|
|
int level0room_shua_robot_min_num = 0;
|
|
int level0room_shua_robot_max_num = 0;
|
|
int level0room_die_robot_min_time = 0;
|
|
int level0room_die_robot_max_time = 0;
|
|
int level0room_die_robot_min_num = 0;
|
|
int level0room_die_robot_max_num = 0;
|
|
int level0room_robot_water = 0;
|
|
int level0room_robot_protect_time = 0;
|
|
int level0room_robot_autodie_time = 0;
|
|
int level0room_robot_autodie_distance = 0;
|
|
std::set<int> level0room_spec_things_set;
|
|
std::vector<int> level0room_spec_airdrops;
|
|
std::vector<std::tuple<int, int>> mini_room_ai_weights;
|
|
int mini_room_ai_weights_space = 0;
|
|
std::vector<std::tuple<int, int>> normal_room_ai_weights;
|
|
int normal_room_ai_weights_space = 0;
|
|
std::string mini_room_ai;
|
|
std::string normal_room_ai;
|
|
|
|
int level1room_shua_robot_min_time = 0;
|
|
int level1room_shua_robot_max_time = 0;
|
|
int level1room_shua_robot_min_num = 0;
|
|
int level1room_shua_robot_max_num = 0;
|
|
int level1room_die_robot_min_time = 0;
|
|
int level1room_die_robot_max_time = 0;
|
|
int level1room_die_robot_min_num = 0;
|
|
int level1room_die_robot_max_num = 0;
|
|
int level1room_robot_water = 0;
|
|
int level1room_robot_autodie_time = 0;
|
|
int level1room_robot_autodie_distance = 0;
|
|
std::string level1room_born_point;
|
|
|
|
int refresh_robot_min_num = 0;
|
|
int refresh_robot_max_num = 0;
|
|
int refresh_robot_min_time = 0;
|
|
int refresh_robot_max_time = 0;
|
|
|
|
int other_fill_interval = 0;
|
|
float android_attack_range = 0;
|
|
float android_pursuit_range = 0;
|
|
float android_patrol_range = 0;
|
|
int map_cell_width = 64 * 8;
|
|
MetaData::Player* human_meta = nullptr;
|
|
MetaData::Player* android_meta = nullptr;
|
|
|
|
private:
|
|
MetaDataLoader* loader_ = nullptr;
|
|
|
|
std::string level0room_spec_things;
|
|
std::string level0room_spec_airdrop;
|
|
friend class MetaDataLoader;
|
|
};
|