From ea9e3d6e7771f8a1ac786b0e93bce3147898216a Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 13 Oct 2023 18:16:43 +0800 Subject: [PATCH] 1 --- .../types/internal/behaviac_agent_meta.cpp | 14 +++++------ .../types/internal/behaviac_agent_meta.h | 6 ++--- .../types/internal/behaviac_headers.h | 5 ++++ server/gameserver/CMakeLists.txt | 6 ++--- server/gameserver/new_base_agent.cc | 10 ++++++++ server/gameserver/new_base_agent.h | 2 ++ server/gameserver/new_hero_agent.cc | 24 ++++++++++++++++++- server/gameserver/new_hero_agent.h | 7 +++++- server/gameserver/room_agent.cc | 4 ++-- server/gameserver/room_agent.h | 2 +- 10 files changed, 62 insertions(+), 18 deletions(-) diff --git a/server/bin/exported/behaviac_generated/types/internal/behaviac_agent_meta.cpp b/server/bin/exported/behaviac_generated/types/internal/behaviac_agent_meta.cpp index c5f733ec..731634aa 100644 --- a/server/bin/exported/behaviac_generated/types/internal/behaviac_agent_meta.cpp +++ b/server/bin/exported/behaviac_generated/types/internal/behaviac_agent_meta.cpp @@ -578,7 +578,7 @@ namespace behaviac virtual bool load() { - AgentMeta::SetTotalSignature(829206825u); + AgentMeta::SetTotalSignature(1707898316u); AgentMeta* meta = NULL; BEHAVIAC_UNUSED_VAR(meta); @@ -673,9 +673,9 @@ namespace behaviac meta->RegisterMethod(502968959u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorRemove()); // HeroAgent - meta = BEHAVIAC_NEW AgentMeta(1969524207u); + meta = BEHAVIAC_NEW AgentMeta(3697005899u); AgentMeta::GetAgentMetas()[2270112014u] = meta; - meta->RegisterMemberProperty(2706111800u, BEHAVIAC_NEW CMemberProperty< HeroAgent* >("current_target_agent", Set_HeroAgent_current_target_agent, Get_HeroAgent_current_target_agent)); + meta->RegisterMemberProperty(2706111800u, BEHAVIAC_NEW CMemberProperty< TargetAgent* >("current_target_agent", Set_HeroAgent_current_target_agent, Get_HeroAgent_current_target_agent)); meta->RegisterMemberProperty(1530109714u, BEHAVIAC_NEW CMemberProperty< HeroAgent* >("master_agent", Set_HeroAgent_master_agent, Get_HeroAgent_master_agent)); meta->RegisterMemberProperty(3100058733u, BEHAVIAC_NEW CMemberProperty< int >("out_errno", Set_HeroAgent_out_errno, Get_HeroAgent_out_errno)); meta->RegisterMemberProperty(1342699083u, BEHAVIAC_NEW CMemberProperty< glm::vec3 >("out_point0", Set_HeroAgent_out_point0, Get_HeroAgent_out_point0)); @@ -734,7 +734,7 @@ namespace behaviac meta->RegisterMethod(1736603085u, BEHAVIAC_NEW CAgentMethod_1< int, int >(FunctionPointer_HeroAgent_GetV)); meta->RegisterMethod(3603629747u, BEHAVIAC_NEW CAgentMethod_1< bool, BuffEffectType_e >(FunctionPointer_HeroAgent_HasBuffEffect)); meta->RegisterMethod(383449432u, BEHAVIAC_NEW CAgentMethodVoid_2(FunctionPointer_HeroAgent_IncV)); - meta->RegisterMethod(3211999140u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_HeroAgent_IsChiJiMoba)); + meta->RegisterMethod(3750923794u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_HeroAgent_IsChiJiMode)); meta->RegisterMethod(1054489725u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_HeroAgent_IsDead)); meta->RegisterMethod(400482748u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_HeroAgent_IsGameOver)); meta->RegisterMethod(2838752827u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_HeroAgent_IsMobaMode)); @@ -769,9 +769,9 @@ namespace behaviac meta->RegisterMethod(502968959u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorRemove()); // AndroidAgent - meta = BEHAVIAC_NEW AgentMeta(3226917287u); + meta = BEHAVIAC_NEW AgentMeta(2851357735u); AgentMeta::GetAgentMetas()[2475098143u] = meta; - meta->RegisterMemberProperty(2706111800u, BEHAVIAC_NEW CMemberProperty< HeroAgent* >("current_target_agent", Set_HeroAgent_current_target_agent, Get_HeroAgent_current_target_agent)); + meta->RegisterMemberProperty(2706111800u, BEHAVIAC_NEW CMemberProperty< TargetAgent* >("current_target_agent", Set_HeroAgent_current_target_agent, Get_HeroAgent_current_target_agent)); meta->RegisterMemberProperty(1530109714u, BEHAVIAC_NEW CMemberProperty< HeroAgent* >("master_agent", Set_HeroAgent_master_agent, Get_HeroAgent_master_agent)); meta->RegisterMemberProperty(3100058733u, BEHAVIAC_NEW CMemberProperty< int >("out_errno", Set_HeroAgent_out_errno, Get_HeroAgent_out_errno)); meta->RegisterMemberProperty(1342699083u, BEHAVIAC_NEW CMemberProperty< glm::vec3 >("out_point0", Set_HeroAgent_out_point0, Get_HeroAgent_out_point0)); @@ -831,7 +831,7 @@ namespace behaviac meta->RegisterMethod(1736603085u, BEHAVIAC_NEW CAgentMethod_1< int, int >(FunctionPointer_AndroidAgent_GetV)); meta->RegisterMethod(3603629747u, BEHAVIAC_NEW CAgentMethod_1< bool, BuffEffectType_e >(FunctionPointer_AndroidAgent_HasBuffEffect)); meta->RegisterMethod(383449432u, BEHAVIAC_NEW CAgentMethodVoid_2(FunctionPointer_AndroidAgent_IncV)); - meta->RegisterMethod(3211999140u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_AndroidAgent_IsChiJiMoba)); + meta->RegisterMethod(3750923794u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_AndroidAgent_IsChiJiMode)); meta->RegisterMethod(1054489725u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_AndroidAgent_IsDead)); meta->RegisterMethod(400482748u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_AndroidAgent_IsGameOver)); meta->RegisterMethod(2838752827u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_AndroidAgent_IsMobaMode)); diff --git a/server/bin/exported/behaviac_generated/types/internal/behaviac_agent_meta.h b/server/bin/exported/behaviac_generated/types/internal/behaviac_agent_meta.h index 5c7b05be..b832d629 100644 --- a/server/bin/exported/behaviac_generated/types/internal/behaviac_agent_meta.h +++ b/server/bin/exported/behaviac_generated/types/internal/behaviac_agent_meta.h @@ -53,7 +53,7 @@ namespace behaviac inline int FunctionPointer_TargetAgent_Rand(Agent* self) { return (int)((BaseAgent*)self)->_Execute_Method_(); } inline int FunctionPointer_TargetAgent_RandRange(Agent* self, int min_val, int max_val) { return (int)((BaseAgent*)self)->_Execute_Method_(min_val, max_val); } - inline void Set_HeroAgent_current_target_agent(Agent* self, HeroAgent* value) { ((HeroAgent*)self)->current_target_agent = value; }; + inline void Set_HeroAgent_current_target_agent(Agent* self, TargetAgent* value) { ((HeroAgent*)self)->current_target_agent = value; }; inline const void* Get_HeroAgent_current_target_agent(Agent* self) { return &((HeroAgent*)self)->current_target_agent; }; inline void Set_HeroAgent_master_agent(Agent* self, HeroAgent* value) { ((HeroAgent*)self)->master_agent = value; }; @@ -161,7 +161,7 @@ namespace behaviac inline int FunctionPointer_HeroAgent_GetV(Agent* self, int id) { return ((HeroAgent*)self)->GetV(id); } inline bool FunctionPointer_HeroAgent_HasBuffEffect(Agent* self, BuffEffectType_e buff_effect) { return ((HeroAgent*)self)->HasBuffEffect(buff_effect); } inline void FunctionPointer_HeroAgent_IncV(Agent* self, int id, int val) { ((HeroAgent*)self)->IncV(id, val); } - inline bool FunctionPointer_HeroAgent_IsChiJiMoba(Agent* self) { return ((HeroAgent*)self)->IsChiJiMoba(); } + inline bool FunctionPointer_HeroAgent_IsChiJiMode(Agent* self) { return ((HeroAgent*)self)->IsChiJiMode(); } inline bool FunctionPointer_HeroAgent_IsDead(Agent* self) { return ((HeroAgent*)self)->IsDead(); } inline bool FunctionPointer_HeroAgent_IsGameOver(Agent* self) { return ((HeroAgent*)self)->IsGameOver(); } inline bool FunctionPointer_HeroAgent_IsMobaMode(Agent* self) { return ((HeroAgent*)self)->IsMobaMode(); } @@ -217,7 +217,7 @@ namespace behaviac inline int FunctionPointer_AndroidAgent_GetV(Agent* self, int id) { return ((AndroidAgent*)self)->GetV(id); } inline bool FunctionPointer_AndroidAgent_HasBuffEffect(Agent* self, BuffEffectType_e buff_effect) { return ((AndroidAgent*)self)->HasBuffEffect(buff_effect); } inline void FunctionPointer_AndroidAgent_IncV(Agent* self, int id, int val) { ((AndroidAgent*)self)->IncV(id, val); } - inline bool FunctionPointer_AndroidAgent_IsChiJiMoba(Agent* self) { return ((AndroidAgent*)self)->IsChiJiMoba(); } + inline bool FunctionPointer_AndroidAgent_IsChiJiMode(Agent* self) { return ((AndroidAgent*)self)->IsChiJiMode(); } inline bool FunctionPointer_AndroidAgent_IsDead(Agent* self) { return ((AndroidAgent*)self)->IsDead(); } inline bool FunctionPointer_AndroidAgent_IsGameOver(Agent* self) { return ((AndroidAgent*)self)->IsGameOver(); } inline bool FunctionPointer_AndroidAgent_IsMobaMode(Agent* self) { return ((AndroidAgent*)self)->IsMobaMode(); } diff --git a/server/bin/exported/behaviac_generated/types/internal/behaviac_headers.h b/server/bin/exported/behaviac_generated/types/internal/behaviac_headers.h index 01b23a62..79f59f02 100644 --- a/server/bin/exported/behaviac_generated/types/internal/behaviac_headers.h +++ b/server/bin/exported/behaviac_generated/types/internal/behaviac_headers.h @@ -8,6 +8,11 @@ #include "behaviac/behaviac.h" // YOU SHOULD SET THE HEADER FILES OF YOUR GAME WHEN EXPORTING CPP FILES ON THE BEHAVIAC EDITOR: +#include "new_android_agent.h" +#include "new_hero_agent.h" +#include "room_agent.h" +#include "target_agent.h" +#include "team_agent.h" #include "behaviac_customized_types.h" diff --git a/server/gameserver/CMakeLists.txt b/server/gameserver/CMakeLists.txt index fcde0bb1..d07c82ea 100644 --- a/server/gameserver/CMakeLists.txt +++ b/server/gameserver/CMakeLists.txt @@ -65,9 +65,9 @@ aux_source_directory(../../third_party/recastnavigation/DetourTileCache/Source SRC_LIST ) -#aux_source_directory(behaviac_generated/types/internal -# SRC_LIST -#) +aux_source_directory(behaviac_generated/types/internal + SRC_LIST +) aux_source_directory(mtb SRC_LIST diff --git a/server/gameserver/new_base_agent.cc b/server/gameserver/new_base_agent.cc index 13c87b79..4ebbfb13 100644 --- a/server/gameserver/new_base_agent.cc +++ b/server/gameserver/new_base_agent.cc @@ -32,3 +32,13 @@ int BaseAgent::Rand() { return rand(); } + +bool BaseAgent::IsChiJiMode() +{ + return false; +} + +bool BaseAgent::IsMobaMode() +{ + return false; +} diff --git a/server/gameserver/new_base_agent.h b/server/gameserver/new_base_agent.h index 172460b4..2c29d06f 100644 --- a/server/gameserver/new_base_agent.h +++ b/server/gameserver/new_base_agent.h @@ -19,6 +19,8 @@ public: int GetTickCount(); int RandRange(int min_val, int max_val); int Rand(); + bool IsChiJiMode(); + bool IsMobaMode(); virtual Room* GetRoom() = 0; }; diff --git a/server/gameserver/new_hero_agent.cc b/server/gameserver/new_hero_agent.cc index f28f9c1c..e652d932 100644 --- a/server/gameserver/new_hero_agent.cc +++ b/server/gameserver/new_hero_agent.cc @@ -215,7 +215,29 @@ int HeroAgent::DecV(int id, int val) IncV(id, -val); } -behaviac::EBTStatus HeroAgent::CoIdle(int time) +bool HeroAgent::HasBuffEffect(int effect_id) +{ + return owner_->HasBuffEffect(effect_id); +} + +bool HeroAgent::IsNearGas(float range) +{ + abort(); + return false; +} + +bool HeroAgent::MasterInRange(float range) +{ + abort(); + return false; +} + +behaviac::EBTStatus HeroAgent::SearchEnemy(float range) +{ + abort(); +} + +behaviac::EBTStatus HeroAgent::CoIdle(int min_val, int max_val) { } diff --git a/server/gameserver/new_hero_agent.h b/server/gameserver/new_hero_agent.h index d1cf8463..eb2c61ca 100644 --- a/server/gameserver/new_hero_agent.h +++ b/server/gameserver/new_hero_agent.h @@ -49,8 +49,13 @@ public: int GetV(int id); int IncV(int id, int val); int DecV(int id, int val); + bool HasBuffEffect(int effect_id); + bool IsNearGas(float range); + bool MasterInRange(float range); - behaviac::EBTStatus CoIdle(int time); + behaviac::EBTStatus SearchEnemy(float range); + + behaviac::EBTStatus CoIdle(int min_val, int max_val); behaviac::EBTStatus CoMoveCurrentTargetRaycast(); behaviac::EBTStatus CoShotCurrentTargetRaycast(); behaviac::EBTStatus CoMoveMasterRaycast(); diff --git a/server/gameserver/room_agent.cc b/server/gameserver/room_agent.cc index d80350c9..2bfea290 100644 --- a/server/gameserver/room_agent.cc +++ b/server/gameserver/room_agent.cc @@ -49,11 +49,11 @@ int RoomAgent::GetAliveTeamNum() return room_->GetAliveTeamNum(); } -/* + HeroAgent* RoomAgent::FindHero(int hero_uniid) { return nullptr; - }*/ +} bool RoomAgent::IsGameOver() { diff --git a/server/gameserver/room_agent.h b/server/gameserver/room_agent.h index fa1b1b6d..48ba29a7 100644 --- a/server/gameserver/room_agent.h +++ b/server/gameserver/room_agent.h @@ -20,7 +20,7 @@ public: int GetAlivePlayerNum(); int GetTeamNum(); int GetAliveTeamNum(); - //HeroAgent* FindHero(int hero_uniid); + HeroAgent* FindHero(int hero_uniid); bool IsGameOver(); void SetRoom(Room* room);