This commit is contained in:
aozhiwei 2020-07-29 13:58:32 +08:00
parent 98f6454670
commit 8ba9544bfa
5 changed files with 7 additions and 11 deletions

View File

@ -410,7 +410,7 @@ void AndroidNewAI::UpdateNewAI()
return;
}
if (!ai_meta && GetAiLevel() != 0) {
ai_meta = MetaMgr::Instance()->GetAI(GetAiLevel());
ai_meta = MetaMgr::Instance()->GetAI(GetAiLevel(), 0);
if (!ai_meta) {
abort();
}

View File

@ -602,12 +602,7 @@ private:
MetaData::AI& item = a8::FastAppend(ai_list);
item.i = &meta;
item.Init();
ai_hash[meta.ai_level()] = &item;
}
for (int i = 1; i <= MAX_AI_LEVEL; ++i) {
if (ai_hash.find(i) == ai_hash.end()) {
abort();
}
ai_hash[a8::MakeInt64(meta.ai_level(), meta.ai_mode())] = &item;
}
}
@ -836,8 +831,8 @@ MetaData::Robot* MetaMgr::RandRobot(std::set<int>& refreshed_robot_set)
}
}
MetaData::AI* MetaMgr::GetAI(int ai_level)
MetaData::AI* MetaMgr::GetAI(int ai_level, int ai_mode)
{
auto itr = loader_->ai_hash.find(ai_level);
auto itr = loader_->ai_hash.find(a8::MakeInt64(ai_level, ai_mode));
return itr != loader_->ai_hash.end() ? itr->second : nullptr;
}

View File

@ -47,7 +47,7 @@ class MetaMgr : public a8::Singleton<MetaMgr>
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);
MetaData::AI* GetAI(int ai_level, int ai_mode);
int gas_inactive_time = 10;
int newbie_gas_inactive_time = 5;

View File

@ -97,7 +97,7 @@ void ZombieAI::UpdateAI()
return;
}
if (!node_->ai_meta && GetAiLevel() != 0) {
node_->ai_meta = MetaMgr::Instance()->GetAI(GetAiLevel());
node_->ai_meta = MetaMgr::Instance()->GetAI(GetAiLevel(), 1);
if (!node_->ai_meta) {
abort();
}

View File

@ -263,6 +263,7 @@ message AI
optional string random_move_time = 9;
optional int32 attack_range = 10;
optional float attack_rate = 11;
optional int32 ai_mode = 12;
}
//end