This commit is contained in:
aozhiwei 2023-10-13 19:31:36 +08:00
parent 95887d8d20
commit 2c1c3e740d
4 changed files with 56 additions and 11 deletions

View File

@ -414,6 +414,53 @@ namespace behaviac
} }
}; };
class CMethod_HeroAgent_RandomPoint : public CAgentMethodBase<glm::vec3>
{
IInstanceMember* _center;
IInstanceMember* _range;
public:
CMethod_HeroAgent_RandomPoint() : _center(0) , _range(0)
{
}
CMethod_HeroAgent_RandomPoint(CMethod_HeroAgent_RandomPoint &rhs) : CAgentMethodBase<glm::vec3>(rhs) , _center(0) , _range(0)
{
}
~CMethod_HeroAgent_RandomPoint()
{
BEHAVIAC_DELETE _center;
BEHAVIAC_DELETE _range;
}
virtual IInstanceMember* clone()
{
return BEHAVIAC_NEW CMethod_HeroAgent_RandomPoint(*this);
}
virtual void load(const char* instance, behaviac::vector<behaviac::string>& paramStrs)
{
BEHAVIAC_ASSERT(paramStrs.size() == 2);
behaviac::StringUtils::StringCopySafe(kInstanceNameMax, _instance, instance);
_center = AgentMeta::TParseProperty<glm::vec3 >(paramStrs[0].c_str());
_range = AgentMeta::TParseProperty<float >(paramStrs[1].c_str());
}
virtual void run(Agent* self)
{
BEHAVIAC_ASSERT(_center != NULL);
BEHAVIAC_ASSERT(_range != NULL);
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);
_returnValue->value = ((HeroAgent*)self)->RandomPoint(pValue_center, pValue_range);
}
};
class CMethod_HeroAgent_SetAttackDir : public CAgentMethodVoidBase class CMethod_HeroAgent_SetAttackDir : public CAgentMethodVoidBase
{ {
IInstanceMember* _dir; IInstanceMember* _dir;
@ -578,7 +625,7 @@ namespace behaviac
virtual bool load() virtual bool load()
{ {
AgentMeta::SetTotalSignature(1707898316u); AgentMeta::SetTotalSignature(4063247840u);
AgentMeta* meta = NULL; AgentMeta* meta = NULL;
BEHAVIAC_UNUSED_VAR(meta); BEHAVIAC_UNUSED_VAR(meta);
@ -673,7 +720,7 @@ namespace behaviac
meta->RegisterMethod(502968959u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorRemove()); meta->RegisterMethod(502968959u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorRemove());
// HeroAgent // HeroAgent
meta = BEHAVIAC_NEW AgentMeta(3697005899u); meta = BEHAVIAC_NEW AgentMeta(752687754u);
AgentMeta::GetAgentMetas()[2270112014u] = meta; 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(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< HeroAgent* >("master_agent", Set_HeroAgent_master_agent, Get_HeroAgent_master_agent));
@ -746,7 +793,7 @@ namespace behaviac
meta->RegisterMethod(2059940772u, BEHAVIAC_NEW CAgentMethodVoid_1<int>(FunctionPointer_HeroAgent_MobaMode) /* MobaMode */); meta->RegisterMethod(2059940772u, BEHAVIAC_NEW CAgentMethodVoid_1<int>(FunctionPointer_HeroAgent_MobaMode) /* MobaMode */);
meta->RegisterMethod(542998674u, BEHAVIAC_NEW CAgentMethodVoid(FunctionPointer_HeroAgent_OpenBulletTraceMode)); meta->RegisterMethod(542998674u, BEHAVIAC_NEW CAgentMethodVoid(FunctionPointer_HeroAgent_OpenBulletTraceMode));
meta->RegisterMethod(3156314303u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_HeroAgent_Rand)); meta->RegisterMethod(3156314303u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_HeroAgent_Rand));
meta->RegisterMethod(657529872u, BEHAVIAC_NEW CAgentMethod_1< glm::vec3, float >(FunctionPointer_HeroAgent_RandomPoint)); meta->RegisterMethod(657529872u, BEHAVIAC_NEW CMethod_HeroAgent_RandomPoint());
meta->RegisterMethod(3929481793u, BEHAVIAC_NEW CAgentMethodVoid(FunctionPointer_HeroAgent_RandomShot) /* RandomShot */); meta->RegisterMethod(3929481793u, BEHAVIAC_NEW CAgentMethodVoid(FunctionPointer_HeroAgent_RandomShot) /* RandomShot */);
meta->RegisterMethod(2913172428u, BEHAVIAC_NEW CAgentMethodVoid(FunctionPointer_HeroAgent_RandomWalk) /* RandomWalk */); meta->RegisterMethod(2913172428u, BEHAVIAC_NEW CAgentMethodVoid(FunctionPointer_HeroAgent_RandomWalk) /* RandomWalk */);
meta->RegisterMethod(1110901686u, BEHAVIAC_NEW CAgentMethod_2< int, int, int >(FunctionPointer_HeroAgent_RandRange)); meta->RegisterMethod(1110901686u, BEHAVIAC_NEW CAgentMethod_2< int, int, int >(FunctionPointer_HeroAgent_RandRange));
@ -769,7 +816,7 @@ namespace behaviac
meta->RegisterMethod(502968959u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorRemove()); meta->RegisterMethod(502968959u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorRemove());
// AndroidAgent // AndroidAgent
meta = BEHAVIAC_NEW AgentMeta(2851357735u); meta = BEHAVIAC_NEW AgentMeta(1768786932u);
AgentMeta::GetAgentMetas()[2475098143u] = meta; 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(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< HeroAgent* >("master_agent", Set_HeroAgent_master_agent, Get_HeroAgent_master_agent));
@ -843,7 +890,7 @@ namespace behaviac
meta->RegisterMethod(2059940772u, BEHAVIAC_NEW CAgentMethodVoid_1<int>(FunctionPointer_AndroidAgent_MobaMode) /* MobaMode */); meta->RegisterMethod(2059940772u, BEHAVIAC_NEW CAgentMethodVoid_1<int>(FunctionPointer_AndroidAgent_MobaMode) /* MobaMode */);
meta->RegisterMethod(542998674u, BEHAVIAC_NEW CAgentMethodVoid(FunctionPointer_AndroidAgent_OpenBulletTraceMode)); meta->RegisterMethod(542998674u, BEHAVIAC_NEW CAgentMethodVoid(FunctionPointer_AndroidAgent_OpenBulletTraceMode));
meta->RegisterMethod(3156314303u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_AndroidAgent_Rand)); meta->RegisterMethod(3156314303u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_AndroidAgent_Rand));
meta->RegisterMethod(657529872u, BEHAVIAC_NEW CAgentMethod_1< glm::vec3, float >(FunctionPointer_AndroidAgent_RandomPoint)); meta->RegisterMethod(657529872u, BEHAVIAC_NEW CMethod_HeroAgent_RandomPoint());
meta->RegisterMethod(3929481793u, BEHAVIAC_NEW CAgentMethodVoid(FunctionPointer_AndroidAgent_RandomShot) /* RandomShot */); meta->RegisterMethod(3929481793u, BEHAVIAC_NEW CAgentMethodVoid(FunctionPointer_AndroidAgent_RandomShot) /* RandomShot */);
meta->RegisterMethod(2913172428u, BEHAVIAC_NEW CAgentMethodVoid(FunctionPointer_AndroidAgent_RandomWalk) /* RandomWalk */); meta->RegisterMethod(2913172428u, BEHAVIAC_NEW CAgentMethodVoid(FunctionPointer_AndroidAgent_RandomWalk) /* RandomWalk */);
meta->RegisterMethod(1110901686u, BEHAVIAC_NEW CAgentMethod_2< int, int, int >(FunctionPointer_AndroidAgent_RandRange)); meta->RegisterMethod(1110901686u, BEHAVIAC_NEW CAgentMethod_2< int, int, int >(FunctionPointer_AndroidAgent_RandRange));

View File

@ -173,7 +173,6 @@ namespace behaviac
inline void FunctionPointer_HeroAgent_MobaMode(Agent* self, int hero_id) { } /* MobaMode */ inline void FunctionPointer_HeroAgent_MobaMode(Agent* self, int hero_id) { } /* MobaMode */
inline void FunctionPointer_HeroAgent_OpenBulletTraceMode(Agent* self) { ((HeroAgent*)self)->OpenBulletTraceMode(); } inline void FunctionPointer_HeroAgent_OpenBulletTraceMode(Agent* self) { ((HeroAgent*)self)->OpenBulletTraceMode(); }
inline int FunctionPointer_HeroAgent_Rand(Agent* self) { return (int)((BaseAgent*)self)->_Execute_Method_<METHOD_TYPE_BaseAgent_Rand, int >(); } inline int FunctionPointer_HeroAgent_Rand(Agent* self) { return (int)((BaseAgent*)self)->_Execute_Method_<METHOD_TYPE_BaseAgent_Rand, int >(); }
inline glm::vec3 FunctionPointer_HeroAgent_RandomPoint(Agent* self, float range) { return ((HeroAgent*)self)->RandomPoint(range); }
inline void FunctionPointer_HeroAgent_RandomShot(Agent* self) { } /* RandomShot */ inline void FunctionPointer_HeroAgent_RandomShot(Agent* self) { } /* RandomShot */
inline void FunctionPointer_HeroAgent_RandomWalk(Agent* self) { } /* RandomWalk */ inline void FunctionPointer_HeroAgent_RandomWalk(Agent* self) { } /* RandomWalk */
inline int FunctionPointer_HeroAgent_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 int FunctionPointer_HeroAgent_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); }
@ -229,7 +228,6 @@ namespace behaviac
inline void FunctionPointer_AndroidAgent_MobaMode(Agent* self, int hero_id) { } /* MobaMode */ inline void FunctionPointer_AndroidAgent_MobaMode(Agent* self, int hero_id) { } /* MobaMode */
inline void FunctionPointer_AndroidAgent_OpenBulletTraceMode(Agent* self) { ((AndroidAgent*)self)->OpenBulletTraceMode(); } inline void FunctionPointer_AndroidAgent_OpenBulletTraceMode(Agent* self) { ((AndroidAgent*)self)->OpenBulletTraceMode(); }
inline int FunctionPointer_AndroidAgent_Rand(Agent* self) { return (int)((BaseAgent*)self)->_Execute_Method_<METHOD_TYPE_BaseAgent_Rand, int >(); } inline int FunctionPointer_AndroidAgent_Rand(Agent* self) { return (int)((BaseAgent*)self)->_Execute_Method_<METHOD_TYPE_BaseAgent_Rand, int >(); }
inline glm::vec3 FunctionPointer_AndroidAgent_RandomPoint(Agent* self, float range) { return ((AndroidAgent*)self)->RandomPoint(range); }
inline void FunctionPointer_AndroidAgent_RandomShot(Agent* self) { } /* RandomShot */ inline void FunctionPointer_AndroidAgent_RandomShot(Agent* self) { } /* RandomShot */
inline void FunctionPointer_AndroidAgent_RandomWalk(Agent* self) { } /* RandomWalk */ inline void FunctionPointer_AndroidAgent_RandomWalk(Agent* self) { } /* RandomWalk */
inline int FunctionPointer_AndroidAgent_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 int FunctionPointer_AndroidAgent_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); }

View File

@ -144,12 +144,12 @@ void HeroAgent::SetAttackDir(const glm::vec3& dir)
void HeroAgent::ShotNormal(const glm::vec3& dir) void HeroAgent::ShotNormal(const glm::vec3& dir)
{ {
abort();
} }
void HeroAgent::ShotTrace() void HeroAgent::ShotTrace()
{ {
abort();
} }
glm::vec3 HeroAgent::GetRandomDir() glm::vec3 HeroAgent::GetRandomDir()
@ -169,7 +169,7 @@ glm::vec3 HeroAgent::GetTargetDir()
return dir; return dir;
} }
glm::vec3 HeroAgent::RandomPoint(float range) glm::vec3 HeroAgent::RandomPoint(const glm::vec3& center, float range)
{ {
abort(); abort();
} }

View File

@ -43,7 +43,7 @@ public:
void ShotTrace(); void ShotTrace();
glm::vec3 GetRandomDir(); glm::vec3 GetRandomDir();
glm::vec3 GetTargetDir(); glm::vec3 GetTargetDir();
glm::vec3 RandomPoint(float range); glm::vec3 RandomPoint(const glm::vec3& center, float range);
float GetShotRange(); float GetShotRange();
void SetV(int id, int val); void SetV(int id, int val);
int GetV(int id); int GetV(int id);