This commit is contained in:
aozhiwei 2023-10-23 17:55:46 +08:00
parent e1d435da04
commit 6febdc2ed5
8 changed files with 67 additions and 7 deletions

View File

@ -633,7 +633,7 @@ namespace behaviac
virtual bool load()
{
AgentMeta::SetTotalSignature(2907398068u);
AgentMeta::SetTotalSignature(2045821862u);
AgentMeta* meta = NULL;
BEHAVIAC_UNUSED_VAR(meta);
@ -708,9 +708,10 @@ namespace behaviac
meta->RegisterMethod(502968959u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorRemove());
// TargetAgent
meta = BEHAVIAC_NEW AgentMeta(3594818698u);
meta = BEHAVIAC_NEW AgentMeta(3502735268u);
AgentMeta::GetAgentMetas()[498664641u] = meta;
meta->RegisterMethod(347903289u, BEHAVIAC_NEW CAgentMethodVoid_1<int>(FunctionPointer_TargetAgent_Abandon));
meta->RegisterMethod(97826769u, BEHAVIAC_NEW CAgentMethodVoid(FunctionPointer_TargetAgent_ClearAbandon));
meta->RegisterMethod(2524021140u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_TargetAgent_GetHeroId));
meta->RegisterMethod(3358849663u, BEHAVIAC_NEW CAgentMethod< float >(FunctionPointer_TargetAgent_GetHp));
meta->RegisterMethod(3451565888u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_TargetAgent_GetLevel));
@ -732,7 +733,7 @@ namespace behaviac
meta->RegisterMethod(502968959u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorRemove());
// HeroAgent
meta = BEHAVIAC_NEW AgentMeta(995930905u);
meta = BEHAVIAC_NEW AgentMeta(2121418526u);
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< MasterAgent* >("master_agent", Set_HeroAgent_master_agent, Get_HeroAgent_master_agent));
@ -782,9 +783,13 @@ namespace behaviac
meta->RegisterMethod(961264360u, BEHAVIAC_NEW CAgentMethodVoid_2<int, int>(FunctionPointer_HeroAgent_DecV));
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(1962280222u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_HeroAgent_GetAliveEnemyNum));
meta->RegisterMethod(755433673u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_HeroAgent_GetBattleTimes));
meta->RegisterMethod(2524021140u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_HeroAgent_GetHeroId));
meta->RegisterMethod(3358849663u, BEHAVIAC_NEW CAgentMethod< float >(FunctionPointer_HeroAgent_GetHp));
meta->RegisterMethod(667805456u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_HeroAgent_GetLastAttackPassTime));
meta->RegisterMethod(3354832405u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_HeroAgent_GetLastShotPassTime));
meta->RegisterMethod(829569018u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_HeroAgent_GetLastUseSkillPassTime));
meta->RegisterMethod(3451565888u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_HeroAgent_GetLevel));
meta->RegisterMethod(3311091192u, BEHAVIAC_NEW CAgentMethod< float >(FunctionPointer_HeroAgent_GetMaxHp));
meta->RegisterMethod(3533946671u, BEHAVIAC_NEW CAgentMethod< glm::vec3 >(FunctionPointer_HeroAgent_GetPos));
@ -801,6 +806,7 @@ namespace behaviac
meta->RegisterMethod(4271568288u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_HeroAgent_GetUseSkillTimes));
meta->RegisterMethod(1736603085u, BEHAVIAC_NEW CAgentMethod_1< int, int >(FunctionPointer_HeroAgent_GetV));
meta->RegisterMethod(3603629747u, BEHAVIAC_NEW CAgentMethod_1< bool, BuffEffectType_e >(FunctionPointer_HeroAgent_HasBuffEffect));
meta->RegisterMethod(565983082u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_HeroAgent_HasObserver));
meta->RegisterMethod(1837541310u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_HeroAgent_HasUseableSkill));
meta->RegisterMethod(383449432u, BEHAVIAC_NEW CAgentMethodVoid_2<int, int>(FunctionPointer_HeroAgent_IncV));
meta->RegisterMethod(750137748u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_HeroAgent_InTargetShotRange));
@ -856,7 +862,7 @@ namespace behaviac
meta->RegisterMethod(502968959u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorRemove());
// AndroidAgent
meta = BEHAVIAC_NEW AgentMeta(2742274347u);
meta = BEHAVIAC_NEW AgentMeta(1763976988u);
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< MasterAgent* >("master_agent", Set_HeroAgent_master_agent, Get_HeroAgent_master_agent));
@ -907,9 +913,13 @@ namespace behaviac
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(3395125024u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_AndroidAgent_GetAgentType));
meta->RegisterMethod(1962280222u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_AndroidAgent_GetAliveEnemyNum));
meta->RegisterMethod(755433673u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_AndroidAgent_GetBattleTimes));
meta->RegisterMethod(2524021140u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_AndroidAgent_GetHeroId));
meta->RegisterMethod(3358849663u, BEHAVIAC_NEW CAgentMethod< float >(FunctionPointer_AndroidAgent_GetHp));
meta->RegisterMethod(667805456u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_AndroidAgent_GetLastAttackPassTime));
meta->RegisterMethod(3354832405u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_AndroidAgent_GetLastShotPassTime));
meta->RegisterMethod(829569018u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_AndroidAgent_GetLastUseSkillPassTime));
meta->RegisterMethod(3451565888u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_AndroidAgent_GetLevel));
meta->RegisterMethod(3311091192u, BEHAVIAC_NEW CAgentMethod< float >(FunctionPointer_AndroidAgent_GetMaxHp));
meta->RegisterMethod(3533946671u, BEHAVIAC_NEW CAgentMethod< glm::vec3 >(FunctionPointer_AndroidAgent_GetPos));
@ -926,6 +936,7 @@ namespace behaviac
meta->RegisterMethod(4271568288u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_AndroidAgent_GetUseSkillTimes));
meta->RegisterMethod(1736603085u, BEHAVIAC_NEW CAgentMethod_1< int, int >(FunctionPointer_AndroidAgent_GetV));
meta->RegisterMethod(3603629747u, BEHAVIAC_NEW CAgentMethod_1< bool, BuffEffectType_e >(FunctionPointer_AndroidAgent_HasBuffEffect));
meta->RegisterMethod(565983082u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_AndroidAgent_HasObserver));
meta->RegisterMethod(1837541310u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_AndroidAgent_HasUseableSkill));
meta->RegisterMethod(383449432u, BEHAVIAC_NEW CAgentMethodVoid_2<int, int>(FunctionPointer_AndroidAgent_IncV));
meta->RegisterMethod(750137748u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_AndroidAgent_InTargetShotRange));

View File

@ -42,6 +42,7 @@ namespace behaviac
inline int FunctionPointer_TeamAgent_GetPlayerNum(Agent* self) { return ((TeamAgent*)self)->GetPlayerNum(); }
inline void FunctionPointer_TeamAgent_LogMessage(char* param0) { TeamAgent::LogMessage(param0); }
inline void FunctionPointer_TargetAgent_Abandon(Agent* self, int time) { ((TargetAgent*)self)->Abandon(time); }
inline void FunctionPointer_TargetAgent_ClearAbandon(Agent* self) { ((TargetAgent*)self)->ClearAbandon(); }
inline int FunctionPointer_TargetAgent_GetHeroId(Agent* self) { return ((TargetAgent*)self)->GetHeroId(); }
inline float FunctionPointer_TargetAgent_GetHp(Agent* self) { return ((TargetAgent*)self)->GetHp(); }
inline int FunctionPointer_TargetAgent_GetLevel(Agent* self) { return ((TargetAgent*)self)->GetLevel(); }
@ -154,9 +155,13 @@ namespace behaviac
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, glm::vec3& loc_point0, float loc_val0) { } /* FollowMaster */
inline int FunctionPointer_HeroAgent_GetAgentType(Agent* self) { return ((HeroAgent*)self)->GetAgentType(); }
inline int FunctionPointer_HeroAgent_GetAliveEnemyNum(Agent* self) { return ((HeroAgent*)self)->GetAliveEnemyNum(); }
inline int FunctionPointer_HeroAgent_GetBattleTimes(Agent* self) { return ((HeroAgent*)self)->GetBattleTimes(); }
inline int FunctionPointer_HeroAgent_GetHeroId(Agent* self) { return ((HeroAgent*)self)->GetHeroId(); }
inline float FunctionPointer_HeroAgent_GetHp(Agent* self) { return ((HeroAgent*)self)->GetHp(); }
inline int FunctionPointer_HeroAgent_GetLastAttackPassTime(Agent* self) { return ((HeroAgent*)self)->GetLastAttackPassTime(); }
inline int FunctionPointer_HeroAgent_GetLastShotPassTime(Agent* self) { return ((HeroAgent*)self)->GetLastShotPassTime(); }
inline int FunctionPointer_HeroAgent_GetLastUseSkillPassTime(Agent* self) { return ((HeroAgent*)self)->GetLastUseSkillPassTime(); }
inline int FunctionPointer_HeroAgent_GetLevel(Agent* self) { return ((HeroAgent*)self)->GetLevel(); }
inline float FunctionPointer_HeroAgent_GetMaxHp(Agent* self) { return ((HeroAgent*)self)->GetMaxHp(); }
inline glm::vec3 FunctionPointer_HeroAgent_GetPos(Agent* self) { return ((HeroAgent*)self)->GetPos(); }
@ -173,6 +178,7 @@ namespace behaviac
inline int FunctionPointer_HeroAgent_GetUseSkillTimes(Agent* self) { return ((HeroAgent*)self)->GetUseSkillTimes(); }
inline int FunctionPointer_HeroAgent_GetV(Agent* self, int id) { return ((HeroAgent*)self)->GetV(id); }
inline bool FunctionPointer_HeroAgent_HasBuffEffect(Agent* self, BuffEffectType_e buff_effect) { return ((HeroAgent*)self)->HasBuffEffect(buff_effect); }
inline bool FunctionPointer_HeroAgent_HasObserver(Agent* self) { return ((HeroAgent*)self)->HasObserver(); }
inline bool FunctionPointer_HeroAgent_HasUseableSkill(Agent* self) { return ((HeroAgent*)self)->HasUseableSkill(); }
inline void FunctionPointer_HeroAgent_IncV(Agent* self, int id, int val) { ((HeroAgent*)self)->IncV(id, val); }
inline bool FunctionPointer_HeroAgent_InTargetShotRange(Agent* self) { return ((HeroAgent*)self)->InTargetShotRange(); }
@ -237,9 +243,13 @@ namespace behaviac
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 int FunctionPointer_AndroidAgent_GetAgentType(Agent* self) { return ((AndroidAgent*)self)->GetAgentType(); }
inline int FunctionPointer_AndroidAgent_GetAliveEnemyNum(Agent* self) { return ((AndroidAgent*)self)->GetAliveEnemyNum(); }
inline int FunctionPointer_AndroidAgent_GetBattleTimes(Agent* self) { return ((AndroidAgent*)self)->GetBattleTimes(); }
inline int FunctionPointer_AndroidAgent_GetHeroId(Agent* self) { return ((AndroidAgent*)self)->GetHeroId(); }
inline float FunctionPointer_AndroidAgent_GetHp(Agent* self) { return ((AndroidAgent*)self)->GetHp(); }
inline int FunctionPointer_AndroidAgent_GetLastAttackPassTime(Agent* self) { return ((AndroidAgent*)self)->GetLastAttackPassTime(); }
inline int FunctionPointer_AndroidAgent_GetLastShotPassTime(Agent* self) { return ((AndroidAgent*)self)->GetLastShotPassTime(); }
inline int FunctionPointer_AndroidAgent_GetLastUseSkillPassTime(Agent* self) { return ((AndroidAgent*)self)->GetLastUseSkillPassTime(); }
inline int FunctionPointer_AndroidAgent_GetLevel(Agent* self) { return ((AndroidAgent*)self)->GetLevel(); }
inline float FunctionPointer_AndroidAgent_GetMaxHp(Agent* self) { return ((AndroidAgent*)self)->GetMaxHp(); }
inline glm::vec3 FunctionPointer_AndroidAgent_GetPos(Agent* self) { return ((AndroidAgent*)self)->GetPos(); }
@ -256,6 +266,7 @@ namespace behaviac
inline int FunctionPointer_AndroidAgent_GetUseSkillTimes(Agent* self) { return ((AndroidAgent*)self)->GetUseSkillTimes(); }
inline int FunctionPointer_AndroidAgent_GetV(Agent* self, int id) { return ((AndroidAgent*)self)->GetV(id); }
inline bool FunctionPointer_AndroidAgent_HasBuffEffect(Agent* self, BuffEffectType_e buff_effect) { return ((AndroidAgent*)self)->HasBuffEffect(buff_effect); }
inline bool FunctionPointer_AndroidAgent_HasObserver(Agent* self) { return ((AndroidAgent*)self)->HasObserver(); }
inline bool FunctionPointer_AndroidAgent_HasUseableSkill(Agent* self) { return ((AndroidAgent*)self)->HasUseableSkill(); }
inline void FunctionPointer_AndroidAgent_IncV(Agent* self, int id, int val) { ((AndroidAgent*)self)->IncV(id, val); }
inline bool FunctionPointer_AndroidAgent_InTargetShotRange(Agent* self) { return ((AndroidAgent*)self)->InTargetShotRange(); }

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--EXPORTED BY TOOL, DON'T MODIFY IT!-->
<agents version="1" signature="2907398068">
<agent type="HeroAgent" base="BaseAgent" signature="995930905">
<agents version="1" signature="2045821862">
<agent type="HeroAgent" base="BaseAgent" signature="2121418526">
<properties>
<property name="current_target_agent" type="TargetAgent*" member="false" static="false" defaultvalue="null" />
<property name="master_agent" type="MasterAgent*" member="false" static="false" defaultvalue="null" />
@ -31,7 +31,7 @@
<property name="tmp_val4" type="float" member="false" static="false" defaultvalue="0" />
</properties>
</agent>
<agent type="AndroidAgent" base="HeroAgent" signature="2742274347">
<agent type="AndroidAgent" base="HeroAgent" signature="1763976988">
<properties>
<property name="current_target_agent" type="TargetAgent*" member="false" static="false" defaultvalue="null" />
<property name="master_agent" type="MasterAgent*" member="false" static="false" defaultvalue="null" />

View File

@ -129,6 +129,8 @@ class Creature : public MoveableEntity
a8::XTimerWp craze_mode_timer;
a8::XTimerWp nature_recover_hp_idle_timer;
std::map<int, a8::XTimerWp> ignore_target_hash;
Creature();
virtual ~Creature() override;
virtual void Initialize() override;

View File

@ -889,3 +889,28 @@ bool HeroAgent::InternalUseSkill(int skill_id, int& wait_time)
}
return false;
}
bool HeroAgent::HasObserver()
{
return owner_->IsHuman() && owner_->AsHuman()->HasObserver();
}
int HeroAgent::GetAliveEnemyNum()
{
}
int HeroAgent::GetLastShotPassTime()
{
}
int HeroAgent::GetLastUseSkillPassTime()
{
}
int HeroAgent::GetLastAttackPassTime()
{
}

View File

@ -73,6 +73,11 @@ public:
std::string GetSkillBtFile();
void Abort(behaviac::string msg, behaviac::vector<int> args);
bool HasUseableSkill();
bool HasObserver();
int GetAliveEnemyNum();
int GetLastShotPassTime();
int GetLastUseSkillPassTime();
int GetLastAttackPassTime();
behaviac::EBTStatus RegisterEvents(behaviac::vector<BtEvent_e> events);
behaviac::EBTStatus SearchEnemy(float range);

View File

@ -99,3 +99,8 @@ void TargetAgent::SetTarget(Creature* target)
{
target_ = target->GetWeakPtrRef();
}
void TargetAgent::ClearAbandon()
{
}

View File

@ -23,6 +23,7 @@ public:
int GetLevel();
void Abandon(int time);
float GetShotRange();
void ClearAbandon();
void SetOwner(Creature* owner);
void SetTarget(Creature* target);