This commit is contained in:
aozhiwei 2023-10-16 10:54:33 +08:00
parent 99441c3bae
commit 23ef715e6d
5 changed files with 59 additions and 12 deletions

View File

@ -82,4 +82,5 @@ template<> inline void HeroAgent::_Execute_Method_<METHOD_TYPE_HeroAgent_UseSkil
#endif // _BEHAVIAC_MEMBER_VISITOR_H_

View File

@ -444,7 +444,14 @@ namespace behaviac
BEHAVIAC_ASSERT(paramStrs.size() == 2);
behaviac::StringUtils::StringCopySafe(kInstanceNameMax, _instance, instance);
_center = AgentMeta::TParseProperty<glm::vec3 >(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<glm::vec3 >(paramStrs[0].c_str());
}
_range = AgentMeta::TParseProperty<float >(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<const glm::vec3 >::Result, behaviac::GetClassTypeNumberId<const glm::vec3 >());
float& pValue_range = *(float*)_range->GetValue(self, behaviac::Meta::IsVector<float >::Result, behaviac::GetClassTypeNumberId<float >());
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<char*>(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<char*>(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<char*>(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>("behaviac::Agent");
AgentMeta::Register<BaseAgent>("BaseAgent");
@ -919,6 +950,7 @@ namespace behaviac
AgentMeta::Register<TargetAgent>("TargetAgent");
AgentMeta::Register<HeroAgent>("HeroAgent");
AgentMeta::Register<AndroidAgent>("AndroidAgent");
AgentMeta::Register<MasterAgent>("MasterAgent");
AgentMeta::Register<SkillIdx_e>("SkillIdx_e");
AgentMeta::Register<BuffEffectType_e>("BuffEffectType_e");
AgentMeta::Register<glm::vec3>("glm::vec3");
@ -935,6 +967,7 @@ namespace behaviac
AgentMeta::UnRegister<TargetAgent>("TargetAgent");
AgentMeta::UnRegister<HeroAgent>("HeroAgent");
AgentMeta::UnRegister<AndroidAgent>("AndroidAgent");
AgentMeta::UnRegister<MasterAgent>("MasterAgent");
AgentMeta::UnRegister<SkillIdx_e>("SkillIdx_e");
AgentMeta::UnRegister<BuffEffectType_e>("BuffEffectType_e");
AgentMeta::UnRegister<glm::vec3>("glm::vec3");

View File

@ -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_<METHOD_TYPE_HeroAgent_UseSkill, void, int >(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_<METHOD_TYPE_BaseAgent_Rand, int >(); }
inline int FunctionPointer_MasterAgent_RandRange(Agent* self, int min_val, int max_val) { return (int)((BaseAgent*)self)->_Execute_Method_<METHOD_TYPE_BaseAgent_RandRange, int, int, int >(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; };

View File

@ -25,7 +25,7 @@
HeroAgent::HeroAgent():BaseAgent()
{
current_target_agent = behaviac::Agent::Create<TargetAgent>();
master_agent2 = behaviac::Agent::Create<MasterAgent>();
master_agent = behaviac::Agent::Create<MasterAgent>();
}
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;
}
}

View File

@ -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;