1
This commit is contained in:
parent
1865216ca2
commit
87d5d56b35
@ -633,7 +633,7 @@ namespace behaviac
|
|||||||
|
|
||||||
virtual bool load()
|
virtual bool load()
|
||||||
{
|
{
|
||||||
AgentMeta::SetTotalSignature(3851205671u);
|
AgentMeta::SetTotalSignature(1256515167u);
|
||||||
|
|
||||||
AgentMeta* meta = NULL;
|
AgentMeta* meta = NULL;
|
||||||
BEHAVIAC_UNUSED_VAR(meta);
|
BEHAVIAC_UNUSED_VAR(meta);
|
||||||
@ -728,7 +728,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(3487638198u);
|
meta = BEHAVIAC_NEW AgentMeta(632106174u);
|
||||||
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));
|
||||||
@ -771,6 +771,7 @@ namespace behaviac
|
|||||||
meta->RegisterMethod(4232723171u, BEHAVIAC_NEW CAgentMethod< behaviac::EBTStatus >(FunctionPointer_HeroAgent_CoShotCurrentTargetRaycast));
|
meta->RegisterMethod(4232723171u, BEHAVIAC_NEW CAgentMethod< behaviac::EBTStatus >(FunctionPointer_HeroAgent_CoShotCurrentTargetRaycast));
|
||||||
meta->RegisterMethod(1700191022u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, float >(FunctionPointer_HeroAgent_CoSleep));
|
meta->RegisterMethod(1700191022u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, float >(FunctionPointer_HeroAgent_CoSleep));
|
||||||
meta->RegisterMethod(345019945u, BEHAVIAC_NEW CAgentMethod_2< behaviac::EBTStatus, int, int >(FunctionPointer_HeroAgent_CoStartMove));
|
meta->RegisterMethod(345019945u, BEHAVIAC_NEW CAgentMethod_2< behaviac::EBTStatus, int, int >(FunctionPointer_HeroAgent_CoStartMove));
|
||||||
|
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(FunctionPointer_HeroAgent_FollowMaster) /* FollowMaster */);
|
||||||
meta->RegisterMethod(3395125024u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_HeroAgent_GetAgentType));
|
meta->RegisterMethod(3395125024u, BEHAVIAC_NEW CAgentMethod< int >(FunctionPointer_HeroAgent_GetAgentType));
|
||||||
@ -827,7 +828,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(3218192580u);
|
meta = BEHAVIAC_NEW AgentMeta(3664374054u);
|
||||||
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));
|
||||||
@ -870,6 +871,7 @@ namespace behaviac
|
|||||||
meta->RegisterMethod(4232723171u, BEHAVIAC_NEW CAgentMethod< behaviac::EBTStatus >(FunctionPointer_AndroidAgent_CoShotCurrentTargetRaycast));
|
meta->RegisterMethod(4232723171u, BEHAVIAC_NEW CAgentMethod< behaviac::EBTStatus >(FunctionPointer_AndroidAgent_CoShotCurrentTargetRaycast));
|
||||||
meta->RegisterMethod(1700191022u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, float >(FunctionPointer_AndroidAgent_CoSleep));
|
meta->RegisterMethod(1700191022u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, float >(FunctionPointer_AndroidAgent_CoSleep));
|
||||||
meta->RegisterMethod(345019945u, BEHAVIAC_NEW CAgentMethod_2< behaviac::EBTStatus, int, int >(FunctionPointer_AndroidAgent_CoStartMove));
|
meta->RegisterMethod(345019945u, BEHAVIAC_NEW CAgentMethod_2< behaviac::EBTStatus, int, int >(FunctionPointer_AndroidAgent_CoStartMove));
|
||||||
|
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(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));
|
||||||
|
@ -143,6 +143,7 @@ namespace behaviac
|
|||||||
inline behaviac::EBTStatus FunctionPointer_HeroAgent_CoShotCurrentTargetRaycast(Agent* self) { return ((HeroAgent*)self)->CoShotCurrentTargetRaycast(); }
|
inline behaviac::EBTStatus FunctionPointer_HeroAgent_CoShotCurrentTargetRaycast(Agent* self) { return ((HeroAgent*)self)->CoShotCurrentTargetRaycast(); }
|
||||||
inline behaviac::EBTStatus FunctionPointer_HeroAgent_CoSleep(Agent* self, float time) { return ((HeroAgent*)self)->CoSleep(time); }
|
inline behaviac::EBTStatus FunctionPointer_HeroAgent_CoSleep(Agent* self, float time) { return ((HeroAgent*)self)->CoSleep(time); }
|
||||||
inline behaviac::EBTStatus FunctionPointer_HeroAgent_CoStartMove(Agent* self, int min_val, int max_val) { return ((HeroAgent*)self)->CoStartMove(min_val, max_val); }
|
inline behaviac::EBTStatus FunctionPointer_HeroAgent_CoStartMove(Agent* self, int min_val, int max_val) { return ((HeroAgent*)self)->CoStartMove(min_val, max_val); }
|
||||||
|
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) { } /* FollowMaster */
|
||||||
inline int FunctionPointer_HeroAgent_GetAgentType(Agent* self) { return ((HeroAgent*)self)->GetAgentType(); }
|
inline int FunctionPointer_HeroAgent_GetAgentType(Agent* self) { return ((HeroAgent*)self)->GetAgentType(); }
|
||||||
@ -200,6 +201,7 @@ namespace behaviac
|
|||||||
inline behaviac::EBTStatus FunctionPointer_AndroidAgent_CoShotCurrentTargetRaycast(Agent* self) { return ((AndroidAgent*)self)->CoShotCurrentTargetRaycast(); }
|
inline behaviac::EBTStatus FunctionPointer_AndroidAgent_CoShotCurrentTargetRaycast(Agent* self) { return ((AndroidAgent*)self)->CoShotCurrentTargetRaycast(); }
|
||||||
inline behaviac::EBTStatus FunctionPointer_AndroidAgent_CoSleep(Agent* self, float time) { return ((AndroidAgent*)self)->CoSleep(time); }
|
inline behaviac::EBTStatus FunctionPointer_AndroidAgent_CoSleep(Agent* self, float time) { return ((AndroidAgent*)self)->CoSleep(time); }
|
||||||
inline behaviac::EBTStatus FunctionPointer_AndroidAgent_CoStartMove(Agent* self, int min_val, int max_val) { return ((AndroidAgent*)self)->CoStartMove(min_val, max_val); }
|
inline behaviac::EBTStatus FunctionPointer_AndroidAgent_CoStartMove(Agent* self, int min_val, int max_val) { return ((AndroidAgent*)self)->CoStartMove(min_val, max_val); }
|
||||||
|
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) { } /* 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(); }
|
||||||
|
@ -200,7 +200,7 @@ void HeroAgent::ShotTrace()
|
|||||||
|
|
||||||
glm::vec3 HeroAgent::GetRandomDir()
|
glm::vec3 HeroAgent::GetRandomDir()
|
||||||
{
|
{
|
||||||
glm::vec3 dir = owner_->GetMoveDir();
|
glm::vec3 dir = owner_->GetAttackDir();
|
||||||
GlmHelper::RotateY(dir, (10 + rand() % 360)/ 180.0f);
|
GlmHelper::RotateY(dir, (10 + rand() % 360)/ 180.0f);
|
||||||
return dir;
|
return dir;
|
||||||
}
|
}
|
||||||
@ -292,7 +292,7 @@ bool HeroAgent::HasBuffEffect(int effect_id)
|
|||||||
|
|
||||||
bool HeroAgent::IsNearGas(float anti_range)
|
bool HeroAgent::IsNearGas(float anti_range)
|
||||||
{
|
{
|
||||||
return Collision::InSquare
|
return !Collision::InSquare
|
||||||
(GlmHelper::Vec2ToVec3(owner_->room->GetGasData().pos_old),
|
(GlmHelper::Vec2ToVec3(owner_->room->GetGasData().pos_old),
|
||||||
owner_->GetPos().ToGlmVec3(),
|
owner_->GetPos().ToGlmVec3(),
|
||||||
std::max(owner_->room->GetGasData().rad_new,
|
std::max(owner_->room->GetGasData().rad_new,
|
||||||
@ -340,7 +340,7 @@ behaviac::EBTStatus HeroAgent::SearchEnemy(float range)
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
return behaviac::BT_RUNNING;
|
return behaviac::BT_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
behaviac::EBTStatus HeroAgent::CoIdle(int min_val, int max_val)
|
behaviac::EBTStatus HeroAgent::CoIdle(int min_val, int max_val)
|
||||||
@ -594,6 +594,9 @@ behaviac::EBTStatus HeroAgent::DoRunningCb()
|
|||||||
|
|
||||||
behaviac::EBTStatus HeroAgent::StartCoroutine(std::shared_ptr<BtCoroutine> coroutine)
|
behaviac::EBTStatus HeroAgent::StartCoroutine(std::shared_ptr<BtCoroutine> coroutine)
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG1
|
||||||
|
a8::XPrintf("StartCoroutine:%d %s\n", {owner_->GetUniId(), coroutine->GetName()});
|
||||||
|
#endif
|
||||||
coroutine_ = coroutine;
|
coroutine_ = coroutine;
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
last_status_ = behaviac::BT_INVALID;
|
last_status_ = behaviac::BT_INVALID;
|
||||||
@ -611,10 +614,14 @@ behaviac::EBTStatus HeroAgent::RegisterEvents(behaviac::vector<BtEvent_e> events
|
|||||||
|
|
||||||
behaviac::EBTStatus HeroAgent::CoMoveForward(int min_val, int max_val)
|
behaviac::EBTStatus HeroAgent::CoMoveForward(int min_val, int max_val)
|
||||||
{
|
{
|
||||||
|
if (status_ == behaviac::BT_RUNNING) {
|
||||||
|
return DoRunningCb();
|
||||||
|
}
|
||||||
float distance = a8::RandEx(min_val, max_val);
|
float distance = a8::RandEx(min_val, max_val);
|
||||||
auto context = MAKE_BTCONTEXT
|
auto context = MAKE_BTCONTEXT
|
||||||
(
|
(
|
||||||
);
|
);
|
||||||
|
owner_->GetMovement()->CalcTargetPos(distance);
|
||||||
auto co = std::make_shared<BtCoroutine>(context, "CoMoveForward");
|
auto co = std::make_shared<BtCoroutine>(context, "CoMoveForward");
|
||||||
co->runing_cb =
|
co->runing_cb =
|
||||||
[this, context] ()
|
[this, context] ()
|
||||||
@ -627,3 +634,11 @@ behaviac::EBTStatus HeroAgent::CoMoveForward(int min_val, int max_val)
|
|||||||
};
|
};
|
||||||
return StartCoroutine(co);
|
return StartCoroutine(co);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
behaviac::EBTStatus HeroAgent::DebugOut(std::string msg, int arg0, int arg1, int arg2)
|
||||||
|
{
|
||||||
|
#ifdef DEBUG1
|
||||||
|
a8::XPrintf((msg+"\n").c_str(), {arg0, arg1, arg2});
|
||||||
|
#endif
|
||||||
|
return behaviac::BT_SUCCESS;
|
||||||
|
}
|
||||||
|
@ -82,9 +82,10 @@ public:
|
|||||||
bool HasFlag(int tag);
|
bool HasFlag(int tag);
|
||||||
void SetFlag(int tag);
|
void SetFlag(int tag);
|
||||||
void UnSetFlag(int tag);
|
void UnSetFlag(int tag);
|
||||||
behaviac::EBTStatus RegisterEvents(behaviac::vector<BtEvent_e> events);
|
|
||||||
|
|
||||||
|
behaviac::EBTStatus RegisterEvents(behaviac::vector<BtEvent_e> events);
|
||||||
behaviac::EBTStatus SearchEnemy(float range);
|
behaviac::EBTStatus SearchEnemy(float range);
|
||||||
|
behaviac::EBTStatus DebugOut(std::string msg, int arg0, int arg1, int arg2);
|
||||||
|
|
||||||
behaviac::EBTStatus CoIdle(int min_val, int max_val);
|
behaviac::EBTStatus CoIdle(int min_val, int max_val);
|
||||||
behaviac::EBTStatus CoMoveCurrentTargetRaycast();
|
behaviac::EBTStatus CoMoveCurrentTargetRaycast();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user