This commit is contained in:
aozhiwei 2023-04-04 10:25:49 +08:00
parent e7f7473b5f
commit 6102b0714a
6 changed files with 43 additions and 3 deletions

View File

@ -48,5 +48,17 @@ template<> inline behaviac::EBTStatus HeroAgent::_Execute_Method_<METHOD_TYPE_He
return this->HeroAgent::DoAttack();
}
struct METHOD_TYPE_HeroAgent_FlyToMasterAround { };
template<> inline behaviac::EBTStatus HeroAgent::_Execute_Method_<METHOD_TYPE_HeroAgent_FlyToMasterAround>()
{
return this->HeroAgent::FlyToMasterAround();
}
struct METHOD_TYPE_HeroAgent_FollowMaster { };
template<> inline behaviac::EBTStatus HeroAgent::_Execute_Method_<METHOD_TYPE_HeroAgent_FollowMaster>()
{
return this->HeroAgent::FollowMaster();
}
#endif // _BEHAVIAC_MEMBER_VISITOR_H_

View File

@ -237,7 +237,7 @@ namespace behaviac
virtual bool load()
{
AgentMeta::SetTotalSignature(3390921950u);
AgentMeta::SetTotalSignature(1153590554u);
AgentMeta* meta = NULL;
BEHAVIAC_UNUSED_VAR(meta);
@ -293,7 +293,7 @@ namespace behaviac
meta->RegisterMethod(502968959u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorRemove());
// HeroAgent
meta = BEHAVIAC_NEW AgentMeta(92585751u);
meta = BEHAVIAC_NEW AgentMeta(3034510267u);
AgentMeta::GetAgentMetas()[2270112014u] = meta;
meta->RegisterMethod(623091365u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, int >(FunctionPointer_HeroAgent_CoAttackTarget));
meta->RegisterMethod(2886181657u, BEHAVIAC_NEW CAgentMethod< behaviac::EBTStatus >(FunctionPointer_HeroAgent_DoAttack));
@ -302,7 +302,10 @@ namespace behaviac
meta->RegisterMethod(846782702u, BEHAVIAC_NEW CAgentMethod< behaviac::EBTStatus >(FunctionPointer_HeroAgent_DoPursuit));
meta->RegisterMethod(1079343198u, BEHAVIAC_NEW CAgentMethod< behaviac::EBTStatus >(FunctionPointer_HeroAgent_DoRandomShot));
meta->RegisterMethod(130097619u, BEHAVIAC_NEW CAgentMethod< behaviac::EBTStatus >(FunctionPointer_HeroAgent_DoRandomWalk));
meta->RegisterMethod(4119944363u, BEHAVIAC_NEW CAgentMethod< behaviac::EBTStatus >(FunctionPointer_HeroAgent_FlyToMasterAround));
meta->RegisterMethod(3850832265u, BEHAVIAC_NEW CAgentMethod< behaviac::EBTStatus >(FunctionPointer_HeroAgent_FollowMaster));
meta->RegisterMethod(32551668u, BEHAVIAC_NEW CAgentMethod< float >(FunctionPointer_HeroAgent_GetAttackRange));
meta->RegisterMethod(3721974980u, BEHAVIAC_NEW CAgentMethod< float >(FunctionPointer_HeroAgent_GetMasterDistance));
meta->RegisterMethod(3603629747u, BEHAVIAC_NEW CAgentMethod_1< bool, int >(FunctionPointer_HeroAgent_HasBuffEffect));
meta->RegisterMethod(3047011226u, BEHAVIAC_NEW CAgentMethod_1< bool, float >(FunctionPointer_HeroAgent_HasTarget));
meta->RegisterMethod(400482748u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_HeroAgent_IsGameOver));

View File

@ -45,7 +45,10 @@ namespace behaviac
inline behaviac::EBTStatus FunctionPointer_HeroAgent_DoPursuit(Agent* self) { return ((HeroAgent*)self)->DoPursuit(); }
inline behaviac::EBTStatus FunctionPointer_HeroAgent_DoRandomShot(Agent* self) { return ((HeroAgent*)self)->DoRandomShot(); }
inline behaviac::EBTStatus FunctionPointer_HeroAgent_DoRandomWalk(Agent* self) { return ((HeroAgent*)self)->DoRandomWalk(); }
inline behaviac::EBTStatus FunctionPointer_HeroAgent_FlyToMasterAround(Agent* self) { return (behaviac::EBTStatus)((HeroAgent*)self)->_Execute_Method_<METHOD_TYPE_HeroAgent_FlyToMasterAround, behaviac::EBTStatus >(); }
inline behaviac::EBTStatus FunctionPointer_HeroAgent_FollowMaster(Agent* self) { return (behaviac::EBTStatus)((HeroAgent*)self)->_Execute_Method_<METHOD_TYPE_HeroAgent_FollowMaster, behaviac::EBTStatus >(); }
inline float FunctionPointer_HeroAgent_GetAttackRange(Agent* self) { return ((HeroAgent*)self)->GetAttackRange(); }
inline float FunctionPointer_HeroAgent_GetMasterDistance(Agent* self) { return ((HeroAgent*)self)->GetMasterDistance(); }
inline bool FunctionPointer_HeroAgent_HasBuffEffect(Agent* self, int buff_effect) { return (bool)((BaseAgent*)self)->_Execute_Method_<METHOD_TYPE_BaseAgent_HasBuffEffect, bool, int >(buff_effect); }
inline bool FunctionPointer_HeroAgent_HasTarget(Agent* self, float range) { return (bool)((BaseAgent*)self)->_Execute_Method_<METHOD_TYPE_BaseAgent_HasTarget, bool, float >(range); }
inline bool FunctionPointer_HeroAgent_IsGameOver(Agent* self) { return ((HeroAgent*)self)->IsGameOver(); }

View File

@ -1,3 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<!--EXPORTED BY TOOL, DON'T MODIFY IT!-->
<agents version="1" signature="3390921950" />
<agents version="1" signature="1153590554" />

View File

@ -443,3 +443,21 @@ behaviac::EBTStatus HeroAgent::DoHelpAttack(int target_uniid)
"CoHelpAttack"
);
}
behaviac::EBTStatus HeroAgent::FlyToMasterAround()
{
}
behaviac::EBTStatus HeroAgent::FollowMaster()
{
}
float HeroAgent::GetMasterDistance()
{
if (!GetOwner()->AsHero()->master.Get()) {
return 0.0f;
}
return GetOwner()->GetPos().Distance2D2(GetOwner()->AsHero()->master.Get()->GetPos());
}

View File

@ -20,4 +20,8 @@ public:
behaviac::EBTStatus DoAttack();
behaviac::EBTStatus DoPursuit();
behaviac::EBTStatus DoHelpAttack(int target_uniid);
behaviac::EBTStatus FlyToMasterAround();
behaviac::EBTStatus FollowMaster();
float GetMasterDistance();
};