From e5f524d1c8d65218efb1c37f889529c06f34e865 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 21 Jun 2023 23:14:00 +0800 Subject: [PATCH] 1 --- server/gameserver/android_agent.cc | 8 +------- server/gameserver/base_agent.cc | 8 +------- server/gameserver/base_agent.h | 9 +++++++++ server/gameserver/hero_agent.cc | 6 ------ 4 files changed, 11 insertions(+), 20 deletions(-) diff --git a/server/gameserver/android_agent.cc b/server/gameserver/android_agent.cc index 5f05b208..a3b289de 100644 --- a/server/gameserver/android_agent.cc +++ b/server/gameserver/android_agent.cc @@ -16,12 +16,6 @@ #include "mt/Robot.h" -template -static auto SpToWp(std::shared_ptr sp) -{ - return std::weak_ptr(sp); -} - AndroidAgent::AndroidAgent():BaseAgent() { @@ -67,7 +61,7 @@ behaviac::EBTStatus AndroidAgent::DoRandomWalk() GetOwner()->GetTrigger()->AddListener ( kAttacked, - [context_wp = SpToWp(context)] (const a8::Args& args) + [context_wp = a8::SpToWp(context)] (const a8::Args& args) { if (!context_wp.expired()) { auto context = context_wp.lock(); diff --git a/server/gameserver/base_agent.cc b/server/gameserver/base_agent.cc index e6dfb37b..752a7c31 100644 --- a/server/gameserver/base_agent.cc +++ b/server/gameserver/base_agent.cc @@ -19,12 +19,6 @@ #include "mt/Hero.h" #include "mt/Param.h" -template -static auto SpToWp(std::shared_ptr sp) -{ - return std::weak_ptr(sp); -} - void DumpBt(BaseAgent* agent) { static std::string last_bt_name; @@ -264,7 +258,7 @@ behaviac::EBTStatus BaseAgent::DoIdle(int min_time, int max_time) GetOwner()->GetTrigger()->AddListener ( kAttacked, - [context_wp = SpToWp(context)] (const a8::Args& args) + [context_wp = a8::SpToWp(context)] (const a8::Args& args) { if (!context_wp.expired()) { auto context = context_wp.lock(); diff --git a/server/gameserver/base_agent.h b/server/gameserver/base_agent.h index aba2c23d..2ecd8395 100644 --- a/server/gameserver/base_agent.h +++ b/server/gameserver/base_agent.h @@ -18,6 +18,15 @@ context->owner = owner; \ return context; \ }(GetOwner()->GetWeakPtrRef(), this) +namespace a8 +{ + template + static auto SpToWp(std::shared_ptr sp) + { + return std::weak_ptr(sp); + } +} + struct BtCoroutine; class Creature; class BaseAgent : public behaviac::Agent diff --git a/server/gameserver/hero_agent.cc b/server/gameserver/hero_agent.cc index 14b85164..de86ffbc 100644 --- a/server/gameserver/hero_agent.cc +++ b/server/gameserver/hero_agent.cc @@ -18,12 +18,6 @@ #include "mt/Map.h" #include "mt/Hero.h" -template -static auto SpToWp(std::shared_ptr sp) -{ - return std::weak_ptr(sp); -} - HeroAgent::HeroAgent():BaseAgent() {