This commit is contained in:
aozhiwei 2023-04-03 18:47:00 +08:00
parent a181dcdc42
commit 2712902da4
9 changed files with 61 additions and 8 deletions

View File

@ -22,6 +22,12 @@ template<> inline bool BaseAgent::_Execute_Method_<METHOD_TYPE_BaseAgent_HasTarg
return this->BaseAgent::HasTarget(p0);
}
struct METHOD_TYPE_BaseAgent_SetBulletTraceMode { };
template<> inline void BaseAgent::_Execute_Method_<METHOD_TYPE_BaseAgent_SetBulletTraceMode>(bool p0)
{
this->BaseAgent::SetBulletTraceMode(p0);
}
struct METHOD_TYPE_AndroidAgent_DoRandomShot { };
template<> inline behaviac::EBTStatus AndroidAgent::_Execute_Method_<METHOD_TYPE_AndroidAgent_DoRandomShot>()

View File

@ -237,7 +237,7 @@ namespace behaviac
virtual bool load()
{
AgentMeta::SetTotalSignature(3970666413u);
AgentMeta::SetTotalSignature(3390921950u);
AgentMeta* meta = NULL;
BEHAVIAC_UNUSED_VAR(meta);
@ -253,14 +253,16 @@ namespace behaviac
meta->RegisterMethod(502968959u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorRemove());
// BaseAgent
meta = BEHAVIAC_NEW AgentMeta(4035532781u);
meta = BEHAVIAC_NEW AgentMeta(1368386266u);
AgentMeta::GetAgentMetas()[2774251291u] = meta;
meta->RegisterMethod(623091365u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, int >(FunctionPointer_BaseAgent_CoAttackTarget));
meta->RegisterMethod(32551668u, BEHAVIAC_NEW CAgentMethod< float >(FunctionPointer_BaseAgent_GetAttackRange));
meta->RegisterMethod(3603629747u, BEHAVIAC_NEW CAgentMethod_1< bool, int >(FunctionPointer_BaseAgent_HasBuffEffect));
meta->RegisterMethod(3047011226u, BEHAVIAC_NEW CAgentMethod_1< bool, float >(FunctionPointer_BaseAgent_HasTarget));
meta->RegisterMethod(400482748u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_BaseAgent_IsGameOver));
meta->RegisterMethod(1045109914u, BEHAVIAC_NEW CAgentStaticMethodVoid_1<char*>(FunctionPointer_BaseAgent_LogMessage));
meta->RegisterMethod(3111585017u, BEHAVIAC_NEW CAgentMethodVoid_2<int, int>(FunctionPointer_BaseAgent_OnAttacked) /* OnAttacked */);
meta->RegisterMethod(1800373320u, BEHAVIAC_NEW CAgentMethodVoid_1<bool>(FunctionPointer_BaseAgent_SetBulletTraceMode));
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());
@ -268,7 +270,7 @@ namespace behaviac
meta->RegisterMethod(502968959u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorRemove());
// AndroidAgent
meta = BEHAVIAC_NEW AgentMeta(3677158988u);
meta = BEHAVIAC_NEW AgentMeta(292883366u);
AgentMeta::GetAgentMetas()[2475098143u] = meta;
meta->RegisterMethod(623091365u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, int >(FunctionPointer_AndroidAgent_CoAttackTarget));
meta->RegisterMethod(2886181657u, BEHAVIAC_NEW CAgentMethod< behaviac::EBTStatus >(FunctionPointer_AndroidAgent_DoAttack));
@ -276,12 +278,14 @@ namespace behaviac
meta->RegisterMethod(846782702u, BEHAVIAC_NEW CAgentMethod< behaviac::EBTStatus >(FunctionPointer_AndroidAgent_DoPursuit));
meta->RegisterMethod(1079343198u, BEHAVIAC_NEW CAgentMethod< behaviac::EBTStatus >(FunctionPointer_AndroidAgent_DoRandomShot));
meta->RegisterMethod(130097619u, BEHAVIAC_NEW CAgentMethod< behaviac::EBTStatus >(FunctionPointer_AndroidAgent_DoRandomWalk));
meta->RegisterMethod(32551668u, BEHAVIAC_NEW CAgentMethod< float >(FunctionPointer_AndroidAgent_GetAttackRange));
meta->RegisterMethod(1666360340u, BEHAVIAC_NEW CAgentMethod< State_e >(FunctionPointer_AndroidAgent_GetState));
meta->RegisterMethod(3603629747u, BEHAVIAC_NEW CAgentMethod_1< bool, int >(FunctionPointer_AndroidAgent_HasBuffEffect));
meta->RegisterMethod(3047011226u, BEHAVIAC_NEW CAgentMethod_1< bool, float >(FunctionPointer_AndroidAgent_HasTarget));
meta->RegisterMethod(400482748u, BEHAVIAC_NEW CAgentMethod< bool >(FunctionPointer_AndroidAgent_IsGameOver));
meta->RegisterMethod(1045109914u, BEHAVIAC_NEW CAgentStaticMethodVoid_1<char*>(FunctionPointer_AndroidAgent_LogMessage));
meta->RegisterMethod(3111585017u, BEHAVIAC_NEW CAgentMethodVoid_2<int, int>(FunctionPointer_AndroidAgent_OnAttacked) /* OnAttacked */);
meta->RegisterMethod(1800373320u, BEHAVIAC_NEW CAgentMethodVoid_1<bool>(FunctionPointer_AndroidAgent_SetBulletTraceMode));
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());
@ -289,19 +293,23 @@ namespace behaviac
meta->RegisterMethod(502968959u, BEHAVIAC_NEW CMethod_behaviac_Agent_VectorRemove());
// HeroAgent
meta = BEHAVIAC_NEW AgentMeta(2036826139u);
meta = BEHAVIAC_NEW AgentMeta(92585751u);
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));
meta->RegisterMethod(2719091146u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, int >(FunctionPointer_HeroAgent_DoHelpAttack));
meta->RegisterMethod(2062982811u, BEHAVIAC_NEW CAgentMethod_2< EBTStatus, int, int >(FunctionPointer_HeroAgent_DoIdle));
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(32551668u, BEHAVIAC_NEW CAgentMethod< float >(FunctionPointer_HeroAgent_GetAttackRange));
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));
meta->RegisterMethod(1045109914u, BEHAVIAC_NEW CAgentStaticMethodVoid_1<char*>(FunctionPointer_HeroAgent_LogMessage));
meta->RegisterMethod(3111585017u, BEHAVIAC_NEW CAgentMethodVoid_2<int, int>(FunctionPointer_HeroAgent_OnAttacked) /* OnAttacked */);
meta->RegisterMethod(4113176194u, BEHAVIAC_NEW CAgentMethodVoid_1<int>(FunctionPointer_HeroAgent_OnMasterAttackTarget) /* OnMasterAttackTarget */);
meta->RegisterMethod(1800373320u, BEHAVIAC_NEW CAgentMethodVoid_1<bool>(FunctionPointer_HeroAgent_SetBulletTraceMode));
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());

View File

@ -17,33 +17,41 @@ namespace behaviac
inline void FunctionPointer_behaviac_Agent_LogMessage(char* param0) { behaviac::Agent::LogMessage(param0); }
inline behaviac::EBTStatus FunctionPointer_BaseAgent_CoAttackTarget(Agent* self, int target_id) { return ((BaseAgent*)self)->CoAttackTarget(target_id); }
inline float FunctionPointer_BaseAgent_GetAttackRange(Agent* self) { return ((BaseAgent*)self)->GetAttackRange(); }
inline bool FunctionPointer_BaseAgent_HasBuffEffect(Agent* self, int buff_effect) { return (bool)((BaseAgent*)self)->_Execute_Method_<METHOD_TYPE_BaseAgent_HasBuffEffect, bool, int >(buff_effect); }
inline bool FunctionPointer_BaseAgent_HasTarget(Agent* self, float range) { return (bool)((BaseAgent*)self)->_Execute_Method_<METHOD_TYPE_BaseAgent_HasTarget, bool, float >(range); }
inline bool FunctionPointer_BaseAgent_IsGameOver(Agent* self) { return ((BaseAgent*)self)->IsGameOver(); }
inline void FunctionPointer_BaseAgent_LogMessage(char* param0) { BaseAgent::LogMessage(param0); }
inline void FunctionPointer_BaseAgent_OnAttacked(Agent* self, int sender, int time) { } /* OnAttacked */
inline void FunctionPointer_BaseAgent_SetBulletTraceMode(Agent* self, bool mode) { ((BaseAgent*)self)->_Execute_Method_<METHOD_TYPE_BaseAgent_SetBulletTraceMode, void, bool >(mode); }
inline behaviac::EBTStatus FunctionPointer_AndroidAgent_CoAttackTarget(Agent* self, int target_id) { return ((AndroidAgent*)self)->CoAttackTarget(target_id); }
inline behaviac::EBTStatus FunctionPointer_AndroidAgent_DoAttack(Agent* self) { return ((AndroidAgent*)self)->DoAttack(); }
inline behaviac::EBTStatus FunctionPointer_AndroidAgent_DoIdle(Agent* self, int min_time, int max_time) { return ((AndroidAgent*)self)->DoIdle(min_time, max_time); }
inline behaviac::EBTStatus FunctionPointer_AndroidAgent_DoPursuit(Agent* self) { return ((AndroidAgent*)self)->DoPursuit(); }
inline behaviac::EBTStatus FunctionPointer_AndroidAgent_DoRandomShot(Agent* self) { return (behaviac::EBTStatus)((AndroidAgent*)self)->_Execute_Method_<METHOD_TYPE_AndroidAgent_DoRandomShot, behaviac::EBTStatus >(); }
inline behaviac::EBTStatus FunctionPointer_AndroidAgent_DoRandomWalk(Agent* self) { return ((AndroidAgent*)self)->DoRandomWalk(); }
inline float FunctionPointer_AndroidAgent_GetAttackRange(Agent* self) { return ((AndroidAgent*)self)->GetAttackRange(); }
inline State_e FunctionPointer_AndroidAgent_GetState(Agent* self) { return (State_e)((AndroidAgent*)self)->_Execute_Method_<METHOD_TYPE_AndroidAgent_GetState, State_e >(); }
inline bool FunctionPointer_AndroidAgent_HasBuffEffect(Agent* self, int buff_effect) { return (bool)((BaseAgent*)self)->_Execute_Method_<METHOD_TYPE_BaseAgent_HasBuffEffect, bool, int >(buff_effect); }
inline bool FunctionPointer_AndroidAgent_HasTarget(Agent* self, float range) { return (bool)((BaseAgent*)self)->_Execute_Method_<METHOD_TYPE_BaseAgent_HasTarget, bool, float >(range); }
inline bool FunctionPointer_AndroidAgent_IsGameOver(Agent* self) { return ((AndroidAgent*)self)->IsGameOver(); }
inline void FunctionPointer_AndroidAgent_LogMessage(char* param0) { AndroidAgent::LogMessage(param0); }
inline void FunctionPointer_AndroidAgent_OnAttacked(Agent* self, int sender, int time) { } /* OnAttacked */
inline void FunctionPointer_AndroidAgent_SetBulletTraceMode(Agent* self, bool mode) { ((BaseAgent*)self)->_Execute_Method_<METHOD_TYPE_BaseAgent_SetBulletTraceMode, void, bool >(mode); }
inline behaviac::EBTStatus FunctionPointer_HeroAgent_CoAttackTarget(Agent* self, int target_id) { return ((HeroAgent*)self)->CoAttackTarget(target_id); }
inline behaviac::EBTStatus FunctionPointer_HeroAgent_DoAttack(Agent* self) { return (behaviac::EBTStatus)((HeroAgent*)self)->_Execute_Method_<METHOD_TYPE_HeroAgent_DoAttack, behaviac::EBTStatus >(); }
inline behaviac::EBTStatus FunctionPointer_HeroAgent_DoHelpAttack(Agent* self, int target_uniid) { return ((HeroAgent*)self)->DoHelpAttack(target_uniid); }
inline EBTStatus FunctionPointer_HeroAgent_DoIdle(Agent* self, int min_time, int max_time) { return ((HeroAgent*)self)->DoIdle(min_time, max_time); }
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 float FunctionPointer_HeroAgent_GetAttackRange(Agent* self) { return ((HeroAgent*)self)->GetAttackRange(); }
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(); }
inline void FunctionPointer_HeroAgent_LogMessage(char* param0) { HeroAgent::LogMessage(param0); }
inline void FunctionPointer_HeroAgent_OnAttacked(Agent* self, int sender, int time) { } /* OnAttacked */
inline void FunctionPointer_HeroAgent_OnMasterAttackTarget(Agent* self, int target_uniid) { } /* OnMasterAttackTarget */
inline void FunctionPointer_HeroAgent_SetBulletTraceMode(Agent* self, bool mode) { ((BaseAgent*)self)->_Execute_Method_<METHOD_TYPE_BaseAgent_SetBulletTraceMode, void, bool >(mode); }
}
#endif // _BEHAVIAC_AGENT_PROPERTIES_H_

View File

@ -8,9 +8,21 @@
<property Opl="Self.BaseAgent::HasBuffEffect(3)" />
<property Opr="const bool true" />
</node>
<node class="Action" id="2">
<property Method="Self.HeroAgent::DoAttack()" />
<property ResultOption="BT_INVALID" />
<node class="Sequence" id="5">
<node class="Action" id="6">
<property Method="Self.BaseAgent::SetBulletTraceMode(true)" />
<property ResultOption="BT_SUCCESS" />
</node>
<node class="Action" id="2">
<property Method="Self.HeroAgent::DoAttack()" />
<property ResultOption="BT_INVALID" />
<attachment class="Event" id="4" flag="event">
<property ReferenceFilename="hero_help_attack" />
<property Task="Self.HeroAgent::OnMasterAttackTarget(0)" />
<property TriggeredOnce="false" />
<property TriggerMode="Transfer" />
</attachment>
</node>
</node>
<node class="True" id="3" />
</node>

View File

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

View File

@ -179,3 +179,13 @@ bool BaseAgent::HasBuffEffect(int buff_effect)
{
return owner_->HasBuffEffect(buff_effect);
}
float BaseAgent::GetAttackRange()
{
return 0.0f;
}
void BaseAgent::SetBulletTraceMode(bool mode)
{
bullet_trace_mode_ = mode;
}

View File

@ -18,6 +18,8 @@ public:
bool IsGameOver();
bool HasTarget(float range);
bool HasBuffEffect(int buff_effect);
float GetAttackRange();
void SetBulletTraceMode(bool mode);
behaviac::EBTStatus CoAttackTarget(int target_id);
@ -43,4 +45,5 @@ protected:
private:
Creature* owner_ = nullptr;
bool bullet_trace_mode_ = false;
};

View File

@ -325,3 +325,8 @@ behaviac::EBTStatus HeroAgent::DoPursuit()
"CoPursuit"
);
}
behaviac::EBTStatus HeroAgent::DoHelpAttack(int target_uniid)
{
}

View File

@ -19,6 +19,7 @@ public:
behaviac::EBTStatus DoRandomShot();
behaviac::EBTStatus DoAttack();
behaviac::EBTStatus DoPursuit();
behaviac::EBTStatus DoHelpAttack(int target_uniid);
private:
Hero* owner_ = nullptr;