This commit is contained in:
aozhiwei 2023-10-20 15:34:12 +08:00
parent 094480a867
commit 01283093da
5 changed files with 20 additions and 9 deletions

View File

@ -100,5 +100,11 @@ template<> inline bool HeroAgent::_Execute_Method_<METHOD_TYPE_HeroAgent_TargetI
struct METHOD_TYPE_MasterAgent_IsValid { };
template<> inline bool MasterAgent::_Execute_Method_<METHOD_TYPE_MasterAgent_IsValid>()
{
return this->MasterAgent::IsValid();
}
#endif // _BEHAVIAC_MEMBER_VISITOR_H_ #endif // _BEHAVIAC_MEMBER_VISITOR_H_

View File

@ -633,7 +633,7 @@ namespace behaviac
virtual bool load() virtual bool load()
{ {
AgentMeta::SetTotalSignature(599093140u); AgentMeta::SetTotalSignature(1902551082u);
AgentMeta* meta = NULL; AgentMeta* meta = NULL;
BEHAVIAC_UNUSED_VAR(meta); BEHAVIAC_UNUSED_VAR(meta);
@ -731,7 +731,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(326413350u); meta = BEHAVIAC_NEW AgentMeta(995930905u);
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< MasterAgent* >("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));
@ -779,7 +779,7 @@ namespace behaviac
meta->RegisterMethod(1915544693u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, int >(FunctionPointer_HeroAgent_CoUseSkill)); meta->RegisterMethod(1915544693u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, int >(FunctionPointer_HeroAgent_CoUseSkill));
meta->RegisterMethod(3130174326u, BEHAVIAC_NEW CAgentMethod_4< behaviac::EBTStatus, behaviac::string, int, int, int >(FunctionPointer_HeroAgent_DebugOut)); meta->RegisterMethod(3130174326u, BEHAVIAC_NEW CAgentMethod_4< behaviac::EBTStatus, behaviac::string, int, int, int >(FunctionPointer_HeroAgent_DebugOut));
meta->RegisterMethod(961264360u, BEHAVIAC_NEW CAgentMethodVoid_2<int, int>(FunctionPointer_HeroAgent_DecV)); meta->RegisterMethod(961264360u, BEHAVIAC_NEW CAgentMethodVoid_2<int, int>(FunctionPointer_HeroAgent_DecV));
meta->RegisterMethod(3850832265u, BEHAVIAC_NEW CAgentMethodVoid(FunctionPointer_HeroAgent_FollowMaster) /* FollowMaster */); meta->RegisterMethod(3850832265u, BEHAVIAC_NEW CAgentMethodVoid_2<glm::vec3&, float>(FunctionPointer_HeroAgent_FollowMaster) /* FollowMaster */);
meta->RegisterMethod(3395125024u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_HeroAgent_GetAgentType)); meta->RegisterMethod(3395125024u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_HeroAgent_GetAgentType));
meta->RegisterMethod(755433673u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_HeroAgent_GetBattleTimes)); meta->RegisterMethod(755433673u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_HeroAgent_GetBattleTimes));
meta->RegisterMethod(2524021140u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_HeroAgent_GetHeroId)); meta->RegisterMethod(2524021140u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_HeroAgent_GetHeroId));
@ -855,7 +855,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(2572573168u); meta = BEHAVIAC_NEW AgentMeta(2742274347u);
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< MasterAgent* >("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));
@ -903,7 +903,7 @@ namespace behaviac
meta->RegisterMethod(1915544693u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, int >(FunctionPointer_AndroidAgent_CoUseSkill)); meta->RegisterMethod(1915544693u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, int >(FunctionPointer_AndroidAgent_CoUseSkill));
meta->RegisterMethod(3130174326u, BEHAVIAC_NEW CAgentMethod_4< behaviac::EBTStatus, behaviac::string, int, int, int >(FunctionPointer_AndroidAgent_DebugOut)); meta->RegisterMethod(3130174326u, BEHAVIAC_NEW CAgentMethod_4< behaviac::EBTStatus, behaviac::string, int, int, int >(FunctionPointer_AndroidAgent_DebugOut));
meta->RegisterMethod(961264360u, BEHAVIAC_NEW CAgentMethodVoid_2<int, int>(FunctionPointer_AndroidAgent_DecV)); meta->RegisterMethod(961264360u, BEHAVIAC_NEW CAgentMethodVoid_2<int, int>(FunctionPointer_AndroidAgent_DecV));
meta->RegisterMethod(3850832265u, BEHAVIAC_NEW CAgentMethodVoid(FunctionPointer_AndroidAgent_FollowMaster) /* FollowMaster */); meta->RegisterMethod(3850832265u, BEHAVIAC_NEW CAgentMethodVoid_2<glm::vec3&, float>(FunctionPointer_AndroidAgent_FollowMaster) /* FollowMaster */);
meta->RegisterMethod(397371422u, BEHAVIAC_NEW CAgentMethod< behaviac::string >(FunctionPointer_AndroidAgent_GetAccountId)); meta->RegisterMethod(397371422u, BEHAVIAC_NEW CAgentMethod< behaviac::string >(FunctionPointer_AndroidAgent_GetAccountId));
meta->RegisterMethod(3395125024u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_AndroidAgent_GetAgentType)); meta->RegisterMethod(3395125024u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_AndroidAgent_GetAgentType));
meta->RegisterMethod(755433673u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_AndroidAgent_GetBattleTimes)); meta->RegisterMethod(755433673u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_AndroidAgent_GetBattleTimes));
@ -980,7 +980,7 @@ namespace behaviac
meta->RegisterMethod(502968959u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorRemove()); meta->RegisterMethod(502968959u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorRemove());
// MasterAgent // MasterAgent
meta = BEHAVIAC_NEW AgentMeta(2814129734u); meta = BEHAVIAC_NEW AgentMeta(2197460417u);
AgentMeta::GetAgentMetas()[2505569052u] = meta; AgentMeta::GetAgentMetas()[2505569052u] = meta;
meta->RegisterMethod(2524021140u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_MasterAgent_GetHeroId)); meta->RegisterMethod(2524021140u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_MasterAgent_GetHeroId));
meta->RegisterMethod(1572331229u, BEHAVIAC_NEW CAgentMethod< float >(FunctionPointer_MasterAgent_GetHP)); meta->RegisterMethod(1572331229u, BEHAVIAC_NEW CAgentMethod< float >(FunctionPointer_MasterAgent_GetHP));
@ -991,6 +991,7 @@ namespace behaviac
meta->RegisterMethod(1866966855u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_MasterAgent_GetUniId)); meta->RegisterMethod(1866966855u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_MasterAgent_GetUniId));
meta->RegisterMethod(1054489725u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_MasterAgent_IsDead)); meta->RegisterMethod(1054489725u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_MasterAgent_IsDead));
meta->RegisterMethod(400482748u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_MasterAgent_IsGameOver)); meta->RegisterMethod(400482748u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_MasterAgent_IsGameOver));
meta->RegisterMethod(2785609189u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_MasterAgent_IsValid));
meta->RegisterMethod(1045109914u, BEHAVIAC_NEW CAgentStaticMethodVoid_1<char*>(FunctionPointer_MasterAgent_LogMessage)); meta->RegisterMethod(1045109914u, BEHAVIAC_NEW CAgentStaticMethodVoid_1<char*>(FunctionPointer_MasterAgent_LogMessage));
meta->RegisterMethod(3156314303u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_MasterAgent_Rand)); 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(1110901686u, BEHAVIAC_NEW CAgentMethod_2< int, int, int >(FunctionPointer_MasterAgent_RandRange));

View File

@ -151,7 +151,7 @@ namespace behaviac
inline behaviac::EBTStatus FunctionPointer_HeroAgent_CoUseSkill(Agent* self, int skill_id) { return (behaviac::EBTStatus)((HeroAgent*)self)->_Execute_Method_<METHOD_TYPE_HeroAgent_CoUseSkill, behaviac::EBTStatus, int >(skill_id); } inline behaviac::EBTStatus FunctionPointer_HeroAgent_CoUseSkill(Agent* self, int skill_id) { return (behaviac::EBTStatus)((HeroAgent*)self)->_Execute_Method_<METHOD_TYPE_HeroAgent_CoUseSkill, behaviac::EBTStatus, int >(skill_id); }
inline behaviac::EBTStatus FunctionPointer_HeroAgent_DebugOut(Agent* self, behaviac::string msg, int arg0, int arg1, int arg2) { return ((HeroAgent*)self)->DebugOut(msg, arg0, arg1, arg2); } inline behaviac::EBTStatus FunctionPointer_HeroAgent_DebugOut(Agent* self, behaviac::string msg, int arg0, int arg1, int arg2) { return ((HeroAgent*)self)->DebugOut(msg, arg0, arg1, arg2); }
inline void FunctionPointer_HeroAgent_DecV(Agent* self, int id, int val) { ((HeroAgent*)self)->_Execute_Method_<METHOD_TYPE_HeroAgent_DecV, void, int, int >(id, val); } inline void FunctionPointer_HeroAgent_DecV(Agent* self, int id, int val) { ((HeroAgent*)self)->_Execute_Method_<METHOD_TYPE_HeroAgent_DecV, void, int, int >(id, val); }
inline void FunctionPointer_HeroAgent_FollowMaster(Agent* self) { } /* FollowMaster */ inline void FunctionPointer_HeroAgent_FollowMaster(Agent* self, glm::vec3& loc_point0, float loc_val0) { } /* FollowMaster */
inline int FunctionPointer_HeroAgent_GetAgentType(Agent* self) { return ((HeroAgent*)self)->GetAgentType(); } inline int FunctionPointer_HeroAgent_GetAgentType(Agent* self) { return ((HeroAgent*)self)->GetAgentType(); }
inline int FunctionPointer_HeroAgent_GetBattleTimes(Agent* self) { return ((HeroAgent*)self)->GetBattleTimes(); } inline int FunctionPointer_HeroAgent_GetBattleTimes(Agent* self) { return ((HeroAgent*)self)->GetBattleTimes(); }
inline int FunctionPointer_HeroAgent_GetHeroId(Agent* self) { return ((HeroAgent*)self)->GetHeroId(); } inline int FunctionPointer_HeroAgent_GetHeroId(Agent* self) { return ((HeroAgent*)self)->GetHeroId(); }
@ -233,7 +233,7 @@ namespace behaviac
inline behaviac::EBTStatus FunctionPointer_AndroidAgent_CoUseSkill(Agent* self, int skill_id) { return (behaviac::EBTStatus)((HeroAgent*)self)->_Execute_Method_<METHOD_TYPE_HeroAgent_CoUseSkill, behaviac::EBTStatus, int >(skill_id); } inline behaviac::EBTStatus FunctionPointer_AndroidAgent_CoUseSkill(Agent* self, int skill_id) { return (behaviac::EBTStatus)((HeroAgent*)self)->_Execute_Method_<METHOD_TYPE_HeroAgent_CoUseSkill, behaviac::EBTStatus, int >(skill_id); }
inline behaviac::EBTStatus FunctionPointer_AndroidAgent_DebugOut(Agent* self, behaviac::string msg, int arg0, int arg1, int arg2) { return ((AndroidAgent*)self)->DebugOut(msg, arg0, arg1, arg2); } inline behaviac::EBTStatus FunctionPointer_AndroidAgent_DebugOut(Agent* self, behaviac::string msg, int arg0, int arg1, int arg2) { return ((AndroidAgent*)self)->DebugOut(msg, arg0, arg1, arg2); }
inline void FunctionPointer_AndroidAgent_DecV(Agent* self, int id, int val) { ((HeroAgent*)self)->_Execute_Method_<METHOD_TYPE_HeroAgent_DecV, void, int, int >(id, val); } inline void FunctionPointer_AndroidAgent_DecV(Agent* self, int id, int val) { ((HeroAgent*)self)->_Execute_Method_<METHOD_TYPE_HeroAgent_DecV, void, int, int >(id, val); }
inline void FunctionPointer_AndroidAgent_FollowMaster(Agent* self) { } /* FollowMaster */ inline void FunctionPointer_AndroidAgent_FollowMaster(Agent* self, glm::vec3& loc_point0, float loc_val0) { } /* FollowMaster */
inline behaviac::string FunctionPointer_AndroidAgent_GetAccountId(Agent* self) { return ((AndroidAgent*)self)->GetAccountId(); } inline behaviac::string FunctionPointer_AndroidAgent_GetAccountId(Agent* self) { return ((AndroidAgent*)self)->GetAccountId(); }
inline int FunctionPointer_AndroidAgent_GetAgentType(Agent* self) { return ((AndroidAgent*)self)->GetAgentType(); } inline int FunctionPointer_AndroidAgent_GetAgentType(Agent* self) { return ((AndroidAgent*)self)->GetAgentType(); }
inline int FunctionPointer_AndroidAgent_GetBattleTimes(Agent* self) { return ((AndroidAgent*)self)->GetBattleTimes(); } inline int FunctionPointer_AndroidAgent_GetBattleTimes(Agent* self) { return ((AndroidAgent*)self)->GetBattleTimes(); }
@ -308,6 +308,7 @@ namespace behaviac
inline int FunctionPointer_MasterAgent_GetUniId(Agent* self) { return ((MasterAgent*)self)->GetUniId(); } 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_IsDead(Agent* self) { return ((MasterAgent*)self)->IsDead(); }
inline bool FunctionPointer_MasterAgent_IsGameOver(Agent* self) { return ((MasterAgent*)self)->IsGameOver(); } inline bool FunctionPointer_MasterAgent_IsGameOver(Agent* self) { return ((MasterAgent*)self)->IsGameOver(); }
inline bool FunctionPointer_MasterAgent_IsValid(Agent* self) { return (bool)((MasterAgent*)self)->_Execute_Method_<METHOD_TYPE_MasterAgent_IsValid, bool >(); }
inline void FunctionPointer_MasterAgent_LogMessage(char* param0) { MasterAgent::LogMessage(param0); } 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_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 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); }

View File

@ -315,12 +315,14 @@ void Player::_CMExecCommand(f8::MsgHdr& hdr, const cs::CMExecCommand& msg)
} }
} else if (cmd == "create_boss") { } else if (cmd == "create_boss") {
const mt::Hero* hero_meta = mt::Hero::GetById(60100); const mt::Hero* hero_meta = mt::Hero::GetById(60100);
Creature* master = nullptr;
if (cmds.size() >= 2) { if (cmds.size() >= 2) {
hero_meta = mt::Hero::GetById(a8::XValue(cmds[1])); hero_meta = mt::Hero::GetById(a8::XValue(cmds[1]));
master = this;
} }
if (hero_meta) { if (hero_meta) {
Hero* hero = room->CreateHero Hero* hero = room->CreateHero
(nullptr, (master,
hero_meta, hero_meta,
GetPos().ToGlmVec3(), GetPos().ToGlmVec3(),
GlmHelper::UP, GlmHelper::UP,

View File

@ -67,6 +67,7 @@ void HeroAgent::SetOwner(Creature* owner)
{ {
owner_ = owner; owner_ = owner;
current_target_agent->SetOwner(owner_); current_target_agent->SetOwner(owner_);
master_agent->SetOwner(owner);
room_agent = owner_->room->GetRoomAgent(); room_agent = owner_->room->GetRoomAgent();
} }