This commit is contained in:
aozhiwei 2022-12-16 16:44:29 +08:00
parent e8ca00b86d
commit b8e30da11f
2 changed files with 160 additions and 163 deletions

View File

@ -15,6 +15,166 @@ void Config::Init()
{
f8::ReadCsvMetaFile(MetaMgr::Instance()->GetResDir() + "parameter@parameter.csv",
parameter_meta_list);
{
for (auto& meta : parameter_meta_list) {
MetaData::Parameter& item = a8::FastAppend(parameter_list);
item.pb = &meta;
item.Init();
parameter_hash[item.pb->param_name()] = &item;
}
}
{
gas_inactive_time = GetSysParamAsInt("gas_inactive_time");
downed_relive_recover_hp = GetSysParamAsInt("downed_relive_recover_hp");
kill_param = GetSysParamAsFloat("kill_parameter");
rank_param = GetSysParamAsFloat("rank_parameter");
fighting_mode = GetSysParamAsInt("fighting_mode", 1);
max_oil = GetSysParamAsInt("max_oil");
max_mount_horse_distance = GetSysParamAsFloat("max_mount_horse_distance", 100);
map_cell_width = GetSysParamAsInt("map_cell_width", 64 * 8);
#ifdef DEBUG
map_cell_width = 512;
#endif
bullet_planck_step_length = std::max(15, GetSysParamAsInt("bullet_planck_step_length", 15));
match_team_time = GetSysParamAsInt("match_team_time", 0);
match_robot_time = GetSysParamAsInt("match_robot_time", 0);
match_choose_time = GetSysParamAsInt("match_choose_time", 0);
match_lock_time = GetSysParamAsInt("match_lock_time", 0);
#if 1
match_lock_time++;
#endif
#ifdef DEBUG
match_team_time = 6;
match_robot_time = 5;
match_choose_time = 25;
match_lock_time = 3;
#endif
{
METAMGR_READ(level0room_shua_robot_min_time, 5);
METAMGR_READ(level0room_shua_robot_max_time, 7);
METAMGR_READ(level0room_shua_robot_min_num, 1);
METAMGR_READ(level0room_shua_robot_max_num, 3);
METAMGR_READ(level0room_die_robot_min_time, 10);
METAMGR_READ(level0room_die_robot_max_time, 20);
METAMGR_READ(level0room_die_robot_min_num, 1);
METAMGR_READ(level0room_die_robot_max_num, 3);
METAMGR_READ(level0room_robot_water, 3);
METAMGR_READ(level0room_robot_protect_time, 60);
METAMGR_READ(level0room_robot_autodie_time, 10);
METAMGR_READ(level0room_robot_autodie_distance, 500);
METAMGR_READ(water_move_coefficient, 0.75);
METAMGR_READ(teammate_kill_color, 0xFFFF00);
METAMGR_READ(teammate_bekill_color, 0x00FF00);
METAMGR_READ(self_kill_color, 0xFFFF00);
METAMGR_READ(self_bekill_color, 0x00FF00);
METAMGR_READ(view_objects_out_distance, 530);
METAMGR_READ(view_objects_in_distance, 530);
METAMGR_READ(incubator_base_length, 501);
METAMGR_READ(incubator_rand_length, 10);
METAMGR_READ(incubator_canset_distance, 520);
METAMGR_READ(prebattle_can_use_skill, 1);
METAMGR_READ(watchable, 1);
METAMGR_READ(prebattle_combine_team, 1);
METAMGR_READ(refresh_view_time, 4);
METAMGR_READ(level1room_shua_robot_min_time, 5);
METAMGR_READ(level1room_shua_robot_max_time, 7);
METAMGR_READ(level1room_shua_robot_min_num, 2);
METAMGR_READ(level1room_shua_robot_max_num, 5);
METAMGR_READ(level1room_die_robot_min_time, 10);
METAMGR_READ(level1room_die_robot_max_time, 14);
METAMGR_READ(level1room_die_robot_min_num, 1);
METAMGR_READ(level1room_die_robot_max_num, 3);
METAMGR_READ(level1room_robot_water, 8);
METAMGR_READ(level1room_robot_autodie_time, 10);
METAMGR_READ(level1room_robot_autodie_distance, 500);
METAMGR_READ_STR(level1room_born_point, "");
METAMGR_READ(dive_oxygen_total, 200);
METAMGR_READ(dive_oxygen_consume, 20);
METAMGR_READ(dive_hp_consume, 20);
METAMGR_READ(dive_explosion_dmg_switch, 0);
METAMGR_READ(inwater_oxygen_recover, 20);
}
}
{
human_meta = MetaMgr::Instance()->GetPlayer(40001);
if (!human_meta) {
A8_ABORT();
}
android_meta = MetaMgr::Instance()->GetPlayer(40002);
if (!android_meta) {
A8_ABORT();
}
}
{
{
if (level0room_shua_robot_min_time >
level0room_shua_robot_max_time) {
A8_ABORT();
}
if (level0room_shua_robot_min_num >
level0room_shua_robot_max_num) {
A8_ABORT();
}
if (level0room_die_robot_min_time >
level0room_die_robot_max_time) {
A8_ABORT();
}
if (level0room_die_robot_min_num >
level0room_die_robot_max_num) {
A8_ABORT();
}
}
{
if (level1room_shua_robot_min_time >
level1room_shua_robot_max_time) {
A8_ABORT();
}
if (level1room_shua_robot_min_num >
level1room_shua_robot_max_num) {
A8_ABORT();
}
if (level1room_die_robot_min_time >
level1room_die_robot_max_time) {
A8_ABORT();
}
if (level1room_die_robot_min_num >
level1room_die_robot_max_num) {
A8_ABORT();
}
}
if (match_team_time <= 0) {
A8_ABORT();
}
if (match_robot_time <= 0) {
A8_ABORT();
}
if (match_robot_time >= match_team_time) {
A8_ABORT();
}
if (match_choose_time <= 0) {
A8_ABORT();
}
if (match_lock_time <= 0) {
A8_ABORT();
}
if (match_lock_time >= match_choose_time) {
A8_ABORT();
}
}
}
void Config::UnInit()

View File

@ -285,100 +285,6 @@ public:
LoadMetaFile(res_path, "pveGeminiMode@pveGeminiMode", pve_gemini_mode_meta_list);
LoadMetaFile(res_path, "npcStandard@npcStandard", npc_standard_meta_list);
BindToMetaData();
#if 0
{
MetaMgr::Instance()->gas_inactive_time = MetaMgr::Instance()->GetSysParamAsInt("gas_inactive_time");
MetaMgr::Instance()->downed_relive_recover_hp = MetaMgr::Instance()->GetSysParamAsInt("downed_relive_recover_hp");
MetaMgr::Instance()->kill_param = MetaMgr::Instance()->GetSysParamAsFloat("kill_parameter");
MetaMgr::Instance()->rank_param = MetaMgr::Instance()->GetSysParamAsFloat("rank_parameter");
MetaMgr::Instance()->fighting_mode = MetaMgr::Instance()->GetSysParamAsInt("fighting_mode", 1);
MetaMgr::Instance()->max_oil = MetaMgr::Instance()->GetSysParamAsInt("max_oil");
MetaMgr::Instance()->max_mount_horse_distance = MetaMgr::Instance()->GetSysParamAsFloat("max_mount_horse_distance", 100);
MetaMgr::Instance()->map_cell_width = MetaMgr::Instance()->GetSysParamAsInt("map_cell_width", 64 * 8);
#ifdef DEBUG
MetaMgr::Instance()->map_cell_width = 512;
#endif
MetaMgr::Instance()->bullet_planck_step_length = std::max(15, MetaMgr::Instance()->GetSysParamAsInt("bullet_planck_step_length", 15));
MetaMgr::Instance()->match_team_time = MetaMgr::Instance()->GetSysParamAsInt("match_team_time", 0);
MetaMgr::Instance()->match_robot_time = MetaMgr::Instance()->GetSysParamAsInt("match_robot_time", 0);
MetaMgr::Instance()->match_choose_time = MetaMgr::Instance()->GetSysParamAsInt("match_choose_time", 0);
MetaMgr::Instance()->match_lock_time = MetaMgr::Instance()->GetSysParamAsInt("match_lock_time", 0);
#if 1
MetaMgr::Instance()->match_lock_time++;
#endif
#ifdef DEBUG
MetaMgr::Instance()->match_team_time = 6;
MetaMgr::Instance()->match_robot_time = 5;
MetaMgr::Instance()->match_choose_time = 25;
MetaMgr::Instance()->match_lock_time = 3;
#endif
{
METAMGR_READ(level0room_shua_robot_min_time, 5);
METAMGR_READ(level0room_shua_robot_max_time, 7);
METAMGR_READ(level0room_shua_robot_min_num, 1);
METAMGR_READ(level0room_shua_robot_max_num, 3);
METAMGR_READ(level0room_die_robot_min_time, 10);
METAMGR_READ(level0room_die_robot_max_time, 20);
METAMGR_READ(level0room_die_robot_min_num, 1);
METAMGR_READ(level0room_die_robot_max_num, 3);
METAMGR_READ(level0room_robot_water, 3);
METAMGR_READ(level0room_robot_protect_time, 60);
METAMGR_READ(level0room_robot_autodie_time, 10);
METAMGR_READ(level0room_robot_autodie_distance, 500);
METAMGR_READ(water_move_coefficient, 0.75);
METAMGR_READ(teammate_kill_color, 0xFFFF00);
METAMGR_READ(teammate_bekill_color, 0x00FF00);
METAMGR_READ(self_kill_color, 0xFFFF00);
METAMGR_READ(self_bekill_color, 0x00FF00);
METAMGR_READ(view_objects_out_distance, 530);
METAMGR_READ(view_objects_in_distance, 530);
METAMGR_READ(incubator_base_length, 501);
METAMGR_READ(incubator_rand_length, 10);
METAMGR_READ(incubator_canset_distance, 520);
METAMGR_READ(prebattle_can_use_skill, 1);
METAMGR_READ(watchable, 1);
METAMGR_READ(prebattle_combine_team, 1);
METAMGR_READ(refresh_view_time, 4);
METAMGR_READ(level1room_shua_robot_min_time, 5);
METAMGR_READ(level1room_shua_robot_max_time, 7);
METAMGR_READ(level1room_shua_robot_min_num, 2);
METAMGR_READ(level1room_shua_robot_max_num, 5);
METAMGR_READ(level1room_die_robot_min_time, 10);
METAMGR_READ(level1room_die_robot_max_time, 14);
METAMGR_READ(level1room_die_robot_min_num, 1);
METAMGR_READ(level1room_die_robot_max_num, 3);
METAMGR_READ(level1room_robot_water, 8);
METAMGR_READ(level1room_robot_autodie_time, 10);
METAMGR_READ(level1room_robot_autodie_distance, 500);
METAMGR_READ_STR(level1room_born_point, "");
METAMGR_READ(dive_oxygen_total, 200);
METAMGR_READ(dive_oxygen_consume, 20);
METAMGR_READ(dive_hp_consume, 20);
METAMGR_READ(dive_explosion_dmg_switch, 0);
METAMGR_READ(inwater_oxygen_recover, 20);
}
}
{
MetaMgr::Instance()->human_meta = MetaMgr::Instance()->GetPlayer(40001);
if (!MetaMgr::Instance()->human_meta) {
A8_ABORT();
}
MetaMgr::Instance()->android_meta = MetaMgr::Instance()->GetPlayer(40002);
if (!MetaMgr::Instance()->android_meta) {
A8_ABORT();
}
}
#endif
LoadHeroAndEquipShotData();
Check();
}
@ -552,45 +458,6 @@ private:
void Check()
{
#if 0
{
if (MetaMgr::Instance()->level0room_shua_robot_min_time >
MetaMgr::Instance()->level0room_shua_robot_max_time) {
A8_ABORT();
}
if (MetaMgr::Instance()->level0room_shua_robot_min_num >
MetaMgr::Instance()->level0room_shua_robot_max_num) {
A8_ABORT();
}
if (MetaMgr::Instance()->level0room_die_robot_min_time >
MetaMgr::Instance()->level0room_die_robot_max_time) {
A8_ABORT();
}
if (MetaMgr::Instance()->level0room_die_robot_min_num >
MetaMgr::Instance()->level0room_die_robot_max_num) {
A8_ABORT();
}
}
{
if (MetaMgr::Instance()->level1room_shua_robot_min_time >
MetaMgr::Instance()->level1room_shua_robot_max_time) {
A8_ABORT();
}
if (MetaMgr::Instance()->level1room_shua_robot_min_num >
MetaMgr::Instance()->level1room_shua_robot_max_num) {
A8_ABORT();
}
if (MetaMgr::Instance()->level1room_die_robot_min_time >
MetaMgr::Instance()->level1room_die_robot_max_time) {
A8_ABORT();
}
if (MetaMgr::Instance()->level1room_die_robot_min_num >
MetaMgr::Instance()->level1room_die_robot_max_num) {
A8_ABORT();
}
}
#endif
{
for (auto& skill : skill_list) {
skill.Init2();
@ -605,26 +472,6 @@ private:
map.Init2();
}
}
#if 0
if (MetaMgr::Instance()->match_team_time <= 0) {
A8_ABORT();
}
if (MetaMgr::Instance()->match_robot_time <= 0) {
A8_ABORT();
}
if (MetaMgr::Instance()->match_robot_time >= MetaMgr::Instance()->match_team_time) {
A8_ABORT();
}
if (MetaMgr::Instance()->match_choose_time <= 0) {
A8_ABORT();
}
if (MetaMgr::Instance()->match_lock_time <= 0) {
A8_ABORT();
}
if (MetaMgr::Instance()->match_lock_time >= MetaMgr::Instance()->match_choose_time) {
A8_ABORT();
}
#endif
{
for (int i = 1; i <= 15; ++i) {
if (!MetaMgr::Instance()->GetNpcStandard(i)) {
@ -636,16 +483,6 @@ private:
void BindToMetaData()
{
#if 0
for (auto& meta : parameter_meta_list) {
MetaData::Parameter& item = a8::FastAppend(parameter_list);
item.pb = &meta;
item.Init();
parameter_hash[item.pb->param_name()] = &item;
}
#endif
{
for (auto& meta : map_meta_list) {
MetaData::Map& item = a8::FastAppend(map_list);