diff --git a/server/gameserver/android_agent.cc b/server/gameserver/android_agent.cc index d2614a7a..53cb51cd 100644 --- a/server/gameserver/android_agent.cc +++ b/server/gameserver/android_agent.cc @@ -4,14 +4,13 @@ #include "android.h" #include "room.h" -AndroidAgent::AndroidAgent() +AndroidAgent::AndroidAgent():BaseAgent() { } AndroidAgent::~AndroidAgent() { - } State_e AndroidAgent::GetState() @@ -19,11 +18,6 @@ State_e AndroidAgent::GetState() return kPreBattle; } -bool AndroidAgent::IsGameOver() -{ - return GetOwner()->room->IsGameOver(); -} - behaviac::EBTStatus AndroidAgent::DoIdle(int min_time, int max_time) { if (status_ == behaviac::BT_RUNNING) { diff --git a/server/gameserver/android_agent.h b/server/gameserver/android_agent.h index 56fed24a..cba99aa4 100644 --- a/server/gameserver/android_agent.h +++ b/server/gameserver/android_agent.h @@ -1,20 +1,18 @@ #pragma once -#include "behaviac_headers.h" -#include "behaviac_customized_types.h" +#include "base_agent.h" class Android; -class AndroidAgent : public behaviac::Agent +class AndroidAgent : public BaseAgent { public: AndroidAgent(); virtual ~AndroidAgent(); - BEHAVIAC_DECLARE_AGENTTYPE(AndroidAgent, behaviac::Agent) + BEHAVIAC_DECLARE_AGENTTYPE(AndroidAgent, BaseAgent) State_e GetState(); - bool IsGameOver(); behaviac::EBTStatus DoIdle(int min_time, int max_time); behaviac::EBTStatus DoRandomWalk(); @@ -27,6 +25,4 @@ public: private: Android* owner_ = nullptr; - behaviac::EBTStatus status_= behaviac::BT_SUCCESS; - std::function status_runing_cb_; }; diff --git a/server/gameserver/base_agent.cc b/server/gameserver/base_agent.cc new file mode 100644 index 00000000..067e7386 --- /dev/null +++ b/server/gameserver/base_agent.cc @@ -0,0 +1,18 @@ +#include "precompile.h" + +#include "base_agent.h" +#include "room.h" + +BaseAgent::BaseAgent():behaviac::Agent() +{ + +} + +BaseAgent::~BaseAgent() +{ +} + +bool BaseAgent::IsGameOver() +{ + return false; +} diff --git a/server/gameserver/base_agent.h b/server/gameserver/base_agent.h new file mode 100644 index 00000000..71570f18 --- /dev/null +++ b/server/gameserver/base_agent.h @@ -0,0 +1,20 @@ +#pragma once + +#include "behaviac/behaviac.h" +#include "behaviac_customized_types.h" + +class BaseAgent : public behaviac::Agent +{ +public: + BaseAgent(); + + virtual ~BaseAgent(); + + BEHAVIAC_DECLARE_AGENTTYPE(BaseAgent, behaviac::Agent) + + bool IsGameOver(); + +protected: + behaviac::EBTStatus status_= behaviac::BT_SUCCESS; + std::function status_runing_cb_; +};