add ai config
This commit is contained in:
parent
b959b8b332
commit
3f0a482ea2
@ -15,13 +15,13 @@ const int SHUA_RANGE = 580;
|
|||||||
|
|
||||||
ai级别
|
ai级别
|
||||||
1: 木桩(不射击)
|
1: 木桩(不射击)
|
||||||
2: 站桩间隔开枪
|
2: 站桩间隔开枪 param1: 攻击距离 param2:攻击间隔
|
||||||
3: 站桩描边射击
|
3: 站桩描边射击 param1: 攻击距离
|
||||||
4: 站桩扫射(连续射击)
|
4: 站桩扫射(连续射击) param1: 攻击距离
|
||||||
5: 跑动间隔开枪
|
5: 跑动间隔开枪 param1: 追击距离 param2:攻击间隔
|
||||||
6: 跑动描边射击
|
6: 跑动描边射击 param1: 追击距离
|
||||||
7: 跑动扫射
|
7: 跑动扫射 param1: 追击距离
|
||||||
8: 跑动射击
|
8: 跑动射击 param1: 追击距离
|
||||||
*/
|
*/
|
||||||
|
|
||||||
AndroidNewAI::~AndroidNewAI()
|
AndroidNewAI::~AndroidNewAI()
|
||||||
|
@ -34,6 +34,11 @@ struct OldAiData
|
|||||||
long long series_attack_frames = 0;
|
long long series_attack_frames = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
namespace MetaData
|
||||||
|
{
|
||||||
|
class AI;
|
||||||
|
}
|
||||||
|
|
||||||
class Human;
|
class Human;
|
||||||
class AndroidNewAI : public AIComponent
|
class AndroidNewAI : public AIComponent
|
||||||
{
|
{
|
||||||
@ -64,12 +69,7 @@ private:
|
|||||||
private:
|
private:
|
||||||
OldAiData old_ai_data_;
|
OldAiData old_ai_data_;
|
||||||
|
|
||||||
double param1_ = 0;
|
MetaData::AI* ai_meta = nullptr;
|
||||||
double param2_ = 0;
|
|
||||||
double param3_ = 0;
|
|
||||||
double param4_ = 0;
|
|
||||||
|
|
||||||
AINode node_;
|
AINode node_;
|
||||||
bool moving_ = false;
|
bool moving_ = false;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -215,4 +215,9 @@ namespace MetaData
|
|||||||
const metatable::KillPoint* i = nullptr;
|
const metatable::KillPoint* i = nullptr;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct AI
|
||||||
|
{
|
||||||
|
const metatable::AI* i = nullptr;
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -59,6 +59,8 @@ public:
|
|||||||
std::list<MetaData::KillPoint> killpoint_list;
|
std::list<MetaData::KillPoint> killpoint_list;
|
||||||
std::list<metatable::Robot> robot_meta_list;
|
std::list<metatable::Robot> robot_meta_list;
|
||||||
std::vector<MetaData::Robot> robot_list;
|
std::vector<MetaData::Robot> robot_list;
|
||||||
|
std::list<metatable::AI> ai_meta_list;
|
||||||
|
std::vector<MetaData::AI> ai_list;
|
||||||
|
|
||||||
std::map<std::string, MetaData::Parameter*> parameter_hash;
|
std::map<std::string, MetaData::Parameter*> parameter_hash;
|
||||||
std::map<int, MetaData::Map*> gamemap_hash;
|
std::map<int, MetaData::Map*> gamemap_hash;
|
||||||
@ -85,6 +87,7 @@ public:
|
|||||||
std::map<int, MetaData::EquipUpgrade*> equipupgrade_hash;
|
std::map<int, MetaData::EquipUpgrade*> equipupgrade_hash;
|
||||||
std::map<int, MetaData::Robot*> robot_hash;
|
std::map<int, MetaData::Robot*> robot_hash;
|
||||||
std::map<int, std::vector<MetaData::AirLine*>> airline_hash;
|
std::map<int, std::vector<MetaData::AirLine*>> airline_hash;
|
||||||
|
std::map<int, MetaData::AI*> ai_hash;
|
||||||
|
|
||||||
void Load()
|
void Load()
|
||||||
{
|
{
|
||||||
@ -130,6 +133,7 @@ public:
|
|||||||
f8::ReadCsvMetaFile(res_path + "rankPoint@rankPoint.csv", rankpoint_meta_list);
|
f8::ReadCsvMetaFile(res_path + "rankPoint@rankPoint.csv", rankpoint_meta_list);
|
||||||
f8::ReadCsvMetaFile(res_path + "equipUpgrade@equipUpgrade.csv", equipupgrade_meta_list);
|
f8::ReadCsvMetaFile(res_path + "equipUpgrade@equipUpgrade.csv", equipupgrade_meta_list);
|
||||||
f8::ReadCsvMetaFile(res_path + "robot@robot.csv", robot_meta_list);
|
f8::ReadCsvMetaFile(res_path + "robot@robot.csv", robot_meta_list);
|
||||||
|
f8::ReadCsvMetaFile(res_path + "ai@ai.csv", ai_meta_list);
|
||||||
BindToMetaData();
|
BindToMetaData();
|
||||||
#if 1
|
#if 1
|
||||||
{
|
{
|
||||||
@ -513,6 +517,12 @@ private:
|
|||||||
robot_hash[meta.id()] = &item;
|
robot_hash[meta.id()] = &item;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (auto& meta : ai_meta_list) {
|
||||||
|
MetaData::AI& item = a8::FastAppend(ai_list);
|
||||||
|
item.i = &meta;
|
||||||
|
ai_hash[meta.ai_level()] = &item;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -728,12 +738,8 @@ MetaData::Robot* MetaMgr::RandRobot(std::set<int>& refreshed_robot_set)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
double MetaMgr::GetAiParam(int ai_level, int param_idx)
|
MetaData::AI* MetaMgr::GetAI(int ai_level)
|
||||||
{
|
{
|
||||||
if (ai_level >= 0 && ai_level < (int)ai_params.size()) {
|
auto itr = loader_->ai_hash.find(ai_level);
|
||||||
if (param_idx >= 0 && param_idx < (int)ai_params[ai_level].size()) {
|
return itr != loader_->ai_hash.end() ? itr->second : nullptr;
|
||||||
return ai_params[ai_level][param_idx];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
@ -45,7 +45,7 @@ class MetaMgr : public a8::Singleton<MetaMgr>
|
|||||||
int GetKillPointParam1(int kill_num);
|
int GetKillPointParam1(int kill_num);
|
||||||
int GetKillPointParam2(int kill_num);
|
int GetKillPointParam2(int kill_num);
|
||||||
MetaData::Robot* RandRobot(std::set<int>& refreshed_robot_set);
|
MetaData::Robot* RandRobot(std::set<int>& refreshed_robot_set);
|
||||||
double GetAiParam(int ai_level, int param_idx);
|
MetaData::AI* GetAI(int ai_level);
|
||||||
|
|
||||||
int gas_inactive_time = 10;
|
int gas_inactive_time = 10;
|
||||||
int newbie_gas_inactive_time = 5;
|
int newbie_gas_inactive_time = 5;
|
||||||
@ -123,6 +123,5 @@ class MetaMgr : public a8::Singleton<MetaMgr>
|
|||||||
|
|
||||||
std::string level0room_spec_things;
|
std::string level0room_spec_things;
|
||||||
std::string level0room_spec_airdrop;
|
std::string level0room_spec_airdrop;
|
||||||
std::vector<std::vector<int>> ai_params;
|
|
||||||
friend class MetaDataLoader;
|
friend class MetaDataLoader;
|
||||||
};
|
};
|
||||||
|
@ -235,6 +235,16 @@ message KillPoint
|
|||||||
optional int32 parameter2 = 3;
|
optional int32 parameter2 = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
message AI
|
||||||
|
{
|
||||||
|
optional int32 ai_level = 1;
|
||||||
|
optional int32 pursuit_distance = 2;
|
||||||
|
optional int32 attack_interval = 3;
|
||||||
|
optional int32 attack_times = 4;
|
||||||
|
optional int32 attack_type = 5;
|
||||||
|
optional float shot_offset_angle = 6;
|
||||||
|
}
|
||||||
|
|
||||||
//end
|
//end
|
||||||
|
|
||||||
message DoorObjJson
|
message DoorObjJson
|
||||||
|
Loading…
x
Reference in New Issue
Block a user