This commit is contained in:
aozhiwei 2022-12-07 13:10:31 +08:00
parent 9d2738630c
commit ea5f218f14
2 changed files with 11 additions and 0 deletions

View File

@ -18,6 +18,16 @@ bool BaseAgent::IsGameOver()
return GetOwner()->room->IsGameOver(); return GetOwner()->room->IsGameOver();
} }
bool BaseAgent::HasTarget(float range)
{
Human* enemy = GetOwner()->room->FindEnemy(GetOwner()->AsHuman());
if (enemy) {
float distance = (enemy->GetPos() - GetOwner()->GetPos()).Norm();
return distance <= range;
}
return false;
}
behaviac::EBTStatus BaseAgent::DoRunningCb() behaviac::EBTStatus BaseAgent::DoRunningCb()
{ {
if (status_ != behaviac::BT_RUNNING) { if (status_ != behaviac::BT_RUNNING) {

View File

@ -14,6 +14,7 @@ public:
BEHAVIAC_DECLARE_AGENTTYPE(BaseAgent, behaviac::Agent) BEHAVIAC_DECLARE_AGENTTYPE(BaseAgent, behaviac::Agent)
bool IsGameOver(); bool IsGameOver();
bool HasTarget(float range);
public: public:
void SetOwner(Creature* owner) { owner_ = owner; }; void SetOwner(Creature* owner) { owner_ = owner; };