From 23ef715e6d4abf792b1612cab603f2af1abf55ac Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 16 Oct 2023 10:54:33 +0800 Subject: [PATCH] 1 --- .../internal/behaviac_agent_member_visitor.h | 1 + .../types/internal/behaviac_agent_meta.cpp | 45 ++++++++++++++++--- .../types/internal/behaviac_agent_meta.h | 16 ++++++- server/gameserver/new_hero_agent.cc | 6 +-- server/gameserver/new_hero_agent.h | 3 +- 5 files changed, 59 insertions(+), 12 deletions(-) diff --git a/server/bin/exported/behaviac_generated/types/internal/behaviac_agent_member_visitor.h b/server/bin/exported/behaviac_generated/types/internal/behaviac_agent_member_visitor.h index ebc8a688..73c6bcee 100644 --- a/server/bin/exported/behaviac_generated/types/internal/behaviac_agent_member_visitor.h +++ b/server/bin/exported/behaviac_generated/types/internal/behaviac_agent_member_visitor.h @@ -82,4 +82,5 @@ template<> inline void HeroAgent::_Execute_Method_(paramStrs[0].c_str()); + if (behaviac::StringUtils::StartsWith(paramStrs[0].c_str(), "{")) + { + _center = BEHAVIAC_NEW CInstanceConst_glm_vec3(paramStrs[0].c_str()); + } + else + { + _center = AgentMeta::TParseProperty(paramStrs[0].c_str()); + } _range = AgentMeta::TParseProperty(paramStrs[1].c_str()); } @@ -453,6 +460,7 @@ namespace behaviac BEHAVIAC_ASSERT(_center != NULL); BEHAVIAC_ASSERT(_range != NULL); + _center->run(self); const glm::vec3& pValue_center = *(const glm::vec3*)_center->GetValue(self, behaviac::Meta::IsVector::Result, behaviac::GetClassTypeNumberId()); float& pValue_range = *(float*)_range->GetValue(self, behaviac::Meta::IsVector::Result, behaviac::GetClassTypeNumberId()); self = Agent::GetParentAgent(self, _instance); @@ -625,7 +633,7 @@ namespace behaviac virtual bool load() { - AgentMeta::SetTotalSignature(4063247840u); + AgentMeta::SetTotalSignature(3301008628u); AgentMeta* meta = NULL; BEHAVIAC_UNUSED_VAR(meta); @@ -720,10 +728,10 @@ namespace behaviac meta->RegisterMethod(502968959u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorRemove()); // HeroAgent - meta = BEHAVIAC_NEW AgentMeta(752687754u); + meta = BEHAVIAC_NEW AgentMeta(1001196959u); AgentMeta::GetAgentMetas()[2270112014u] = meta; 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(1530109714u, BEHAVIAC_NEW CMemberProperty< MasterAgent* >("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)); meta->RegisterMemberProperty(1226622730u, BEHAVIAC_NEW CMemberProperty< glm::vec3 >("out_point1", Set_HeroAgent_out_point1, Get_HeroAgent_out_point1)); @@ -787,6 +795,7 @@ namespace behaviac meta->RegisterMethod(2838752827u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_HeroAgent_IsMobaMode)); meta->RegisterMethod(3287572438u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_HeroAgent_IsMoving)); meta->RegisterMethod(550488892u, BEHAVIAC_NEW CAgentMethod_1< bool, float >(FunctionPointer_HeroAgent_IsNearGas)); + meta->RegisterMethod(2785609189u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_HeroAgent_IsValid)); meta->RegisterMethod(1045109914u, BEHAVIAC_NEW CAgentStaticMethodVoid_1(FunctionPointer_HeroAgent_LogMessage)); meta->RegisterMethod(2967784099u, BEHAVIAC_NEW CAgentMethodVoid(FunctionPointer_HeroAgent_MasterHelpAttack) /* MasterHelpAttack */); meta->RegisterMethod(130282478u, BEHAVIAC_NEW CAgentMethod_1< bool, float >(FunctionPointer_HeroAgent_MasterInRange)); @@ -816,10 +825,10 @@ namespace behaviac meta->RegisterMethod(502968959u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorRemove()); // AndroidAgent - meta = BEHAVIAC_NEW AgentMeta(1768786932u); + meta = BEHAVIAC_NEW AgentMeta(2506140839u); AgentMeta::GetAgentMetas()[2475098143u] = meta; 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(1530109714u, BEHAVIAC_NEW CMemberProperty< MasterAgent* >("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)); meta->RegisterMemberProperty(1226622730u, BEHAVIAC_NEW CMemberProperty< glm::vec3 >("out_point1", Set_HeroAgent_out_point1, Get_HeroAgent_out_point1)); @@ -884,6 +893,7 @@ namespace behaviac meta->RegisterMethod(2838752827u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_AndroidAgent_IsMobaMode)); meta->RegisterMethod(3287572438u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_AndroidAgent_IsMoving)); meta->RegisterMethod(550488892u, BEHAVIAC_NEW CAgentMethod_1< bool, float >(FunctionPointer_AndroidAgent_IsNearGas)); + meta->RegisterMethod(2785609189u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_AndroidAgent_IsValid)); meta->RegisterMethod(1045109914u, BEHAVIAC_NEW CAgentStaticMethodVoid_1(FunctionPointer_AndroidAgent_LogMessage)); meta->RegisterMethod(2967784099u, BEHAVIAC_NEW CAgentMethodVoid(FunctionPointer_AndroidAgent_MasterHelpAttack) /* MasterHelpAttack */); meta->RegisterMethod(130282478u, BEHAVIAC_NEW CAgentMethod_1< bool, float >(FunctionPointer_AndroidAgent_MasterInRange)); @@ -911,6 +921,27 @@ namespace behaviac meta->RegisterMethod(3483755530u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorContains()); meta->RegisterMethod(505785840u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorLength()); meta->RegisterMethod(502968959u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorRemove()); + + // MasterAgent + meta = BEHAVIAC_NEW AgentMeta(680306870u); + AgentMeta::GetAgentMetas()[2505569052u] = meta; + meta->RegisterMethod(2524021140u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_MasterAgent_GetHeroId)); + meta->RegisterMethod(1572331229u, BEHAVIAC_NEW CAgentMethod< float >(FunctionPointer_MasterAgent_GetHP)); + meta->RegisterMethod(3451565888u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_MasterAgent_GetLevel)); + meta->RegisterMethod(1356798298u, BEHAVIAC_NEW CAgentMethod< float >(FunctionPointer_MasterAgent_GetMaxHP)); + meta->RegisterMethod(3533946671u, BEHAVIAC_NEW CAgentMethod< glm::vec3 >(FunctionPointer_MasterAgent_GetPos)); + meta->RegisterMethod(2541118574u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_MasterAgent_GetTickCount)); + meta->RegisterMethod(1866966855u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_MasterAgent_GetUniId)); + meta->RegisterMethod(1054489725u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_MasterAgent_IsDead)); + meta->RegisterMethod(400482748u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_MasterAgent_IsGameOver)); + meta->RegisterMethod(1045109914u, BEHAVIAC_NEW CAgentStaticMethodVoid_1(FunctionPointer_MasterAgent_LogMessage)); + meta->RegisterMethod(3156314303u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_MasterAgent_Rand)); + meta->RegisterMethod(1110901686u, BEHAVIAC_NEW CAgentMethod_2< int, int, int >(FunctionPointer_MasterAgent_RandRange)); + meta->RegisterMethod(2521019022u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorAdd()); + meta->RegisterMethod(2306090221u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorClear()); + meta->RegisterMethod(3483755530u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorContains()); + meta->RegisterMethod(505785840u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorLength()); + meta->RegisterMethod(502968959u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorRemove()); AgentMeta::Register("behaviac::Agent"); AgentMeta::Register("BaseAgent"); @@ -919,6 +950,7 @@ namespace behaviac AgentMeta::Register("TargetAgent"); AgentMeta::Register("HeroAgent"); AgentMeta::Register("AndroidAgent"); + AgentMeta::Register("MasterAgent"); AgentMeta::Register("SkillIdx_e"); AgentMeta::Register("BuffEffectType_e"); AgentMeta::Register("glm::vec3"); @@ -935,6 +967,7 @@ namespace behaviac AgentMeta::UnRegister("TargetAgent"); AgentMeta::UnRegister("HeroAgent"); AgentMeta::UnRegister("AndroidAgent"); + AgentMeta::UnRegister("MasterAgent"); AgentMeta::UnRegister("SkillIdx_e"); AgentMeta::UnRegister("BuffEffectType_e"); AgentMeta::UnRegister("glm::vec3"); 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 5f4cfbeb..6e7ddd63 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 @@ -56,7 +56,7 @@ namespace behaviac 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; }; + inline void Set_HeroAgent_master_agent(Agent* self, MasterAgent* value) { ((HeroAgent*)self)->master_agent = value; }; inline const void* Get_HeroAgent_master_agent(Agent* self) { return &((HeroAgent*)self)->master_agent; }; inline void Set_HeroAgent_out_errno(Agent* self, int value) { ((HeroAgent*)self)->out_errno = value; }; @@ -167,6 +167,7 @@ namespace behaviac inline bool FunctionPointer_HeroAgent_IsMobaMode(Agent* self) { return ((HeroAgent*)self)->IsMobaMode(); } inline bool FunctionPointer_HeroAgent_IsMoving(Agent* self) { return ((HeroAgent*)self)->IsMoving(); } inline bool FunctionPointer_HeroAgent_IsNearGas(Agent* self, float range) { return ((HeroAgent*)self)->IsNearGas(range); } + inline bool FunctionPointer_HeroAgent_IsValid(Agent* self) { return ((HeroAgent*)self)->IsValid(); } inline void FunctionPointer_HeroAgent_LogMessage(char* param0) { HeroAgent::LogMessage(param0); } inline void FunctionPointer_HeroAgent_MasterHelpAttack(Agent* self) { } /* MasterHelpAttack */ inline bool FunctionPointer_HeroAgent_MasterInRange(Agent* self, float range) { return ((HeroAgent*)self)->MasterInRange(range); } @@ -222,6 +223,7 @@ namespace behaviac inline bool FunctionPointer_AndroidAgent_IsMobaMode(Agent* self) { return ((AndroidAgent*)self)->IsMobaMode(); } inline bool FunctionPointer_AndroidAgent_IsMoving(Agent* self) { return ((AndroidAgent*)self)->IsMoving(); } inline bool FunctionPointer_AndroidAgent_IsNearGas(Agent* self, float range) { return ((AndroidAgent*)self)->IsNearGas(range); } + inline bool FunctionPointer_AndroidAgent_IsValid(Agent* self) { return ((AndroidAgent*)self)->IsValid(); } inline void FunctionPointer_AndroidAgent_LogMessage(char* param0) { AndroidAgent::LogMessage(param0); } inline void FunctionPointer_AndroidAgent_MasterHelpAttack(Agent* self) { } /* MasterHelpAttack */ inline bool FunctionPointer_AndroidAgent_MasterInRange(Agent* self, float range) { return ((AndroidAgent*)self)->MasterInRange(range); } @@ -240,6 +242,18 @@ namespace behaviac inline void FunctionPointer_AndroidAgent_StayPutAttack(Agent* self) { } /* StayPutAttack */ inline void FunctionPointer_AndroidAgent_TeammateHelpAttack(Agent* self) { } /* TeammateHelpAttack */ inline void FunctionPointer_AndroidAgent_UseSkill(Agent* self, int skill_id) { ((HeroAgent*)self)->_Execute_Method_(skill_id); } + inline int FunctionPointer_MasterAgent_GetHeroId(Agent* self) { return ((MasterAgent*)self)->GetHeroId(); } + inline float FunctionPointer_MasterAgent_GetHP(Agent* self) { return ((MasterAgent*)self)->GetHP(); } + inline int FunctionPointer_MasterAgent_GetLevel(Agent* self) { return ((MasterAgent*)self)->GetLevel(); } + inline float FunctionPointer_MasterAgent_GetMaxHP(Agent* self) { return ((MasterAgent*)self)->GetMaxHP(); } + inline glm::vec3 FunctionPointer_MasterAgent_GetPos(Agent* self) { return ((MasterAgent*)self)->GetPos(); } + inline int FunctionPointer_MasterAgent_GetTickCount(Agent* self) { return ((MasterAgent*)self)->GetTickCount(); } + inline int FunctionPointer_MasterAgent_GetUniId(Agent* self) { return ((MasterAgent*)self)->GetUniId(); } + inline bool FunctionPointer_MasterAgent_IsDead(Agent* self) { return ((MasterAgent*)self)->IsDead(); } + inline bool FunctionPointer_MasterAgent_IsGameOver(Agent* self) { return ((MasterAgent*)self)->IsGameOver(); } + inline void FunctionPointer_MasterAgent_LogMessage(char* param0) { MasterAgent::LogMessage(param0); } + inline int FunctionPointer_MasterAgent_Rand(Agent* self) { return (int)((BaseAgent*)self)->_Execute_Method_(); } + inline int FunctionPointer_MasterAgent_RandRange(Agent* self, int min_val, int max_val) { return (int)((BaseAgent*)self)->_Execute_Method_(min_val, max_val); } inline void Set_glm_vec3_x(Agent* self, float value) { ((glm::vec3*)self)->x = value; }; inline const void* Get_glm_vec3_x(Agent* self) { return &((glm::vec3*)self)->x; }; diff --git a/server/gameserver/new_hero_agent.cc b/server/gameserver/new_hero_agent.cc index ac73512e..7b5522e7 100644 --- a/server/gameserver/new_hero_agent.cc +++ b/server/gameserver/new_hero_agent.cc @@ -25,7 +25,7 @@ HeroAgent::HeroAgent():BaseAgent() { current_target_agent = behaviac::Agent::Create(); - master_agent2 = behaviac::Agent::Create(); + master_agent = behaviac::Agent::Create(); } HeroAgent::~HeroAgent() @@ -35,8 +35,8 @@ HeroAgent::~HeroAgent() current_target_agent = nullptr; } { - f8::BtMgr::Instance()->BtDestory(master_agent2); - master_agent2 = nullptr; + f8::BtMgr::Instance()->BtDestory(master_agent); + master_agent = nullptr; } } diff --git a/server/gameserver/new_hero_agent.h b/server/gameserver/new_hero_agent.h index 5ee5c9ea..636cd7f2 100644 --- a/server/gameserver/new_hero_agent.h +++ b/server/gameserver/new_hero_agent.h @@ -100,8 +100,7 @@ public: RoomAgent* room_agent = nullptr; TeamAgent* team_agent = nullptr; - HeroAgent* master_agent = nullptr; - MasterAgent* master_agent2 = nullptr; + MasterAgent* master_agent = nullptr; TargetAgent* current_target_agent = nullptr; float task_param0 = 0.0f; float task_param1 = 0.0f;