This commit is contained in:
aozhiwei 2022-12-07 15:14:53 +08:00
parent 8e54caefc2
commit 483e3b9c55
4 changed files with 6 additions and 10 deletions

View File

@ -116,7 +116,7 @@ behaviac::EBTStatus AndroidAgent::DoAttack()
if (status_ == behaviac::BT_RUNNING) {
return DoRunningCb();
}
Human* enemy = GetOwner()->room->FindEnemy(GetOwner()->AsHuman());
Human* enemy = GetOwner()->room->FindEnemy(GetOwner()->AsHuman(), 300);
if (!enemy) {
return behaviac::BT_FAILURE;
}
@ -154,7 +154,7 @@ behaviac::EBTStatus AndroidAgent::DoPursuit()
if (status_ == behaviac::BT_RUNNING) {
return DoRunningCb();
}
Human* enemy = GetOwner()->room->FindEnemy(GetOwner()->AsHuman());
Human* enemy = GetOwner()->room->FindEnemy(GetOwner()->AsHuman(), 500);
if (!enemy) {
return behaviac::BT_FAILURE;
}

View File

@ -21,12 +21,8 @@ bool BaseAgent::IsGameOver()
bool BaseAgent::HasTarget(float range)
{
Human* enemy = GetOwner()->room->FindEnemy(GetOwner()->AsHuman());
if (enemy) {
float distance = enemy->GetPos().Distance(GetOwner()->GetPos());
return distance <= range;
}
return false;
Human* enemy = GetOwner()->room->FindEnemy(GetOwner()->AsHuman(), range);
return enemy != nullptr;
}
behaviac::EBTStatus BaseAgent::DoRunningCb()

View File

@ -413,7 +413,7 @@ void Room::CreateAndroid(int robot_num)
NotifyUiUpdate();
}
Human* Room::FindEnemy(Human* hum)
Human* Room::FindEnemy(Human* hum, float range)
{
std::vector<Human*> enemys;
enemys.reserve(50);

View File

@ -138,7 +138,7 @@ public:
Player* NewPlayer();
void AddPlayer(Player* hum, BornPoint* init_born_point = nullptr, bool no_matchteam = false);
Human* FindEnemy(Human* hum);
Human* FindEnemy(Human* hum, float range);
void AddTeam(class MatchTeam* team);