1
This commit is contained in:
parent
bd7cc1dbbe
commit
527cc1f33c
@ -633,7 +633,7 @@ namespace behaviac
|
|||||||
|
|
||||||
virtual bool load()
|
virtual bool load()
|
||||||
{
|
{
|
||||||
AgentMeta::SetTotalSignature(3036958947u);
|
AgentMeta::SetTotalSignature(1717576671u);
|
||||||
|
|
||||||
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(2517562503u);
|
meta = BEHAVIAC_NEW AgentMeta(276906930u);
|
||||||
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));
|
||||||
@ -811,7 +811,7 @@ namespace behaviac
|
|||||||
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));
|
||||||
meta->RegisterMethod(1373932231u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, behaviac::vector<BtEvent_e> >(FunctionPointer_HeroAgent_RegisterEvents));
|
meta->RegisterMethod(1373932231u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, behaviac::vector<BtEvent_e> >(FunctionPointer_HeroAgent_RegisterEvents));
|
||||||
meta->RegisterMethod(3146209884u, BEHAVIAC_NEW CAgentMethodVoid(FunctionPointer_HeroAgent_RunAway) /* RunAway */);
|
meta->RegisterMethod(3146209884u, BEHAVIAC_NEW CAgentMethodVoid(FunctionPointer_HeroAgent_RunAway) /* RunAway */);
|
||||||
meta->RegisterMethod(160678866u, BEHAVIAC_NEW CAgentMethodVoid(FunctionPointer_HeroAgent_RunGas) /* RunGas */);
|
meta->RegisterMethod(160678866u, BEHAVIAC_NEW CAgentMethodVoid_3<int, int, int>(FunctionPointer_HeroAgent_RunGas) /* RunGas */);
|
||||||
meta->RegisterMethod(3025058903u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, float >(FunctionPointer_HeroAgent_SearchEnemy));
|
meta->RegisterMethod(3025058903u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, float >(FunctionPointer_HeroAgent_SearchEnemy));
|
||||||
meta->RegisterMethod(2380700906u, BEHAVIAC_NEW CAgentMethodVoid_1<int>(FunctionPointer_HeroAgent_SendEmote));
|
meta->RegisterMethod(2380700906u, BEHAVIAC_NEW CAgentMethodVoid_1<int>(FunctionPointer_HeroAgent_SendEmote));
|
||||||
meta->RegisterMethod(1147186661u, BEHAVIAC_NEW CMethod_HeroAgent_SetAttackDir());
|
meta->RegisterMethod(1147186661u, BEHAVIAC_NEW CMethod_HeroAgent_SetAttackDir());
|
||||||
@ -829,7 +829,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(836572310u);
|
meta = BEHAVIAC_NEW AgentMeta(3184243081u);
|
||||||
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));
|
||||||
@ -913,7 +913,7 @@ namespace behaviac
|
|||||||
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));
|
||||||
meta->RegisterMethod(1373932231u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, behaviac::vector<BtEvent_e> >(FunctionPointer_AndroidAgent_RegisterEvents));
|
meta->RegisterMethod(1373932231u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, behaviac::vector<BtEvent_e> >(FunctionPointer_AndroidAgent_RegisterEvents));
|
||||||
meta->RegisterMethod(3146209884u, BEHAVIAC_NEW CAgentMethodVoid(FunctionPointer_AndroidAgent_RunAway) /* RunAway */);
|
meta->RegisterMethod(3146209884u, BEHAVIAC_NEW CAgentMethodVoid(FunctionPointer_AndroidAgent_RunAway) /* RunAway */);
|
||||||
meta->RegisterMethod(160678866u, BEHAVIAC_NEW CAgentMethodVoid(FunctionPointer_AndroidAgent_RunGas) /* RunGas */);
|
meta->RegisterMethod(160678866u, BEHAVIAC_NEW CAgentMethodVoid_3<int, int, int>(FunctionPointer_AndroidAgent_RunGas) /* RunGas */);
|
||||||
meta->RegisterMethod(3025058903u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, float >(FunctionPointer_AndroidAgent_SearchEnemy));
|
meta->RegisterMethod(3025058903u, BEHAVIAC_NEW CAgentMethod_1< behaviac::EBTStatus, float >(FunctionPointer_AndroidAgent_SearchEnemy));
|
||||||
meta->RegisterMethod(2380700906u, BEHAVIAC_NEW CAgentMethodVoid_1<int>(FunctionPointer_AndroidAgent_SendEmote));
|
meta->RegisterMethod(2380700906u, BEHAVIAC_NEW CAgentMethodVoid_1<int>(FunctionPointer_AndroidAgent_SendEmote));
|
||||||
meta->RegisterMethod(1147186661u, BEHAVIAC_NEW CMethod_HeroAgent_SetAttackDir());
|
meta->RegisterMethod(1147186661u, BEHAVIAC_NEW CMethod_HeroAgent_SetAttackDir());
|
||||||
|
@ -182,7 +182,7 @@ namespace behaviac
|
|||||||
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); }
|
||||||
inline behaviac::EBTStatus FunctionPointer_HeroAgent_RegisterEvents(Agent* self, behaviac::vector<BtEvent_e> events) { return ((HeroAgent*)self)->RegisterEvents(events); }
|
inline behaviac::EBTStatus FunctionPointer_HeroAgent_RegisterEvents(Agent* self, behaviac::vector<BtEvent_e> events) { return ((HeroAgent*)self)->RegisterEvents(events); }
|
||||||
inline void FunctionPointer_HeroAgent_RunAway(Agent* self) { } /* RunAway */
|
inline void FunctionPointer_HeroAgent_RunAway(Agent* self) { } /* RunAway */
|
||||||
inline void FunctionPointer_HeroAgent_RunGas(Agent* self) { } /* RunGas */
|
inline void FunctionPointer_HeroAgent_RunGas(Agent* self, int loc_val0, int loc_val1, int loc_val2) { } /* RunGas */
|
||||||
inline behaviac::EBTStatus FunctionPointer_HeroAgent_SearchEnemy(Agent* self, float range) { return ((HeroAgent*)self)->SearchEnemy(range); }
|
inline behaviac::EBTStatus FunctionPointer_HeroAgent_SearchEnemy(Agent* self, float range) { return ((HeroAgent*)self)->SearchEnemy(range); }
|
||||||
inline void FunctionPointer_HeroAgent_SendEmote(Agent* self, int emote) { ((HeroAgent*)self)->_Execute_Method_<METHOD_TYPE_HeroAgent_SendEmote, void, int >(emote); }
|
inline void FunctionPointer_HeroAgent_SendEmote(Agent* self, int emote) { ((HeroAgent*)self)->_Execute_Method_<METHOD_TYPE_HeroAgent_SendEmote, void, int >(emote); }
|
||||||
inline void FunctionPointer_HeroAgent_SetV(Agent* self, int id, int val) { ((HeroAgent*)self)->_Execute_Method_<METHOD_TYPE_HeroAgent_SetV, void, int, int >(id, val); }
|
inline void FunctionPointer_HeroAgent_SetV(Agent* self, int id, int val) { ((HeroAgent*)self)->_Execute_Method_<METHOD_TYPE_HeroAgent_SetV, void, int, int >(id, val); }
|
||||||
@ -242,7 +242,7 @@ namespace behaviac
|
|||||||
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); }
|
||||||
inline behaviac::EBTStatus FunctionPointer_AndroidAgent_RegisterEvents(Agent* self, behaviac::vector<BtEvent_e> events) { return ((AndroidAgent*)self)->RegisterEvents(events); }
|
inline behaviac::EBTStatus FunctionPointer_AndroidAgent_RegisterEvents(Agent* self, behaviac::vector<BtEvent_e> events) { return ((AndroidAgent*)self)->RegisterEvents(events); }
|
||||||
inline void FunctionPointer_AndroidAgent_RunAway(Agent* self) { } /* RunAway */
|
inline void FunctionPointer_AndroidAgent_RunAway(Agent* self) { } /* RunAway */
|
||||||
inline void FunctionPointer_AndroidAgent_RunGas(Agent* self) { } /* RunGas */
|
inline void FunctionPointer_AndroidAgent_RunGas(Agent* self, int loc_val0, int loc_val1, int loc_val2) { } /* RunGas */
|
||||||
inline behaviac::EBTStatus FunctionPointer_AndroidAgent_SearchEnemy(Agent* self, float range) { return ((AndroidAgent*)self)->SearchEnemy(range); }
|
inline behaviac::EBTStatus FunctionPointer_AndroidAgent_SearchEnemy(Agent* self, float range) { return ((AndroidAgent*)self)->SearchEnemy(range); }
|
||||||
inline void FunctionPointer_AndroidAgent_SendEmote(Agent* self, int emote) { ((HeroAgent*)self)->_Execute_Method_<METHOD_TYPE_HeroAgent_SendEmote, void, int >(emote); }
|
inline void FunctionPointer_AndroidAgent_SendEmote(Agent* self, int emote) { ((HeroAgent*)self)->_Execute_Method_<METHOD_TYPE_HeroAgent_SendEmote, void, int >(emote); }
|
||||||
inline void FunctionPointer_AndroidAgent_SetV(Agent* self, int id, int val) { ((HeroAgent*)self)->_Execute_Method_<METHOD_TYPE_HeroAgent_SetV, void, int, int >(id, val); }
|
inline void FunctionPointer_AndroidAgent_SetV(Agent* self, int id, int val) { ((HeroAgent*)self)->_Execute_Method_<METHOD_TYPE_HeroAgent_SetV, void, int, int >(id, val); }
|
||||||
|
@ -242,15 +242,44 @@ glm::vec3 HeroAgent::RandomPoint(const glm::vec3& center, float range)
|
|||||||
|
|
||||||
behaviac::EBTStatus HeroAgent::RandomSafeZonePoint(int try_count, int step_len)
|
behaviac::EBTStatus HeroAgent::RandomSafeZonePoint(int try_count, int step_len)
|
||||||
{
|
{
|
||||||
glm::vec3 gas_center = GlmHelper::Vec2ToVec3(owner_->room->GetGasData().pos_new);
|
if (status_ == behaviac::BT_RUNNING) {
|
||||||
gas_center.y = owner_->GetPos().ToGlmVec3().y;
|
return DoRunningCb();
|
||||||
if (GlmHelper::IsEqual2D(owner_->GetPos().ToGlmVec3(),
|
|
||||||
gas_center)) {
|
|
||||||
return behaviac::BT_FAILURE;
|
|
||||||
}
|
}
|
||||||
|
auto context = MAKE_BTCONTEXT
|
||||||
|
(
|
||||||
|
bool find_ok = false;
|
||||||
|
);
|
||||||
|
auto co = std::make_shared<BtCoroutine>(context, "RandomSafeZonePoint");
|
||||||
|
co->runing_cb =
|
||||||
|
[this, context, try_count, step_len] ()
|
||||||
|
{
|
||||||
|
if (owner_->dead) {
|
||||||
|
return behaviac::BT_FAILURE;
|
||||||
|
}
|
||||||
|
glm::vec3 gas_center = GlmHelper::Vec2ToVec3(owner_->room->GetGasData().pos_new);
|
||||||
|
gas_center.y = owner_->GetPos().ToGlmVec3().y;
|
||||||
|
if (GlmHelper::IsEqual2D(owner_->GetPos().ToGlmVec3(),
|
||||||
|
gas_center)) {
|
||||||
|
out_point0 = gas_center;
|
||||||
|
return behaviac::BT_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
glm::vec3 dir = gas_center - owner_->GetPos().ToGlmVec3();
|
glm::vec3 dir = gas_center - owner_->GetPos().ToGlmVec3();
|
||||||
GlmHelper::Normalize(dir);
|
GlmHelper::Normalize(dir);
|
||||||
|
|
||||||
|
glm::vec3 center = owner_->GetPos().ToGlmVec3() +
|
||||||
|
dir * (50.0f + (float)(try_count + 1) * step_len);
|
||||||
|
owner_->room->map_instance->Scale(center);
|
||||||
|
glm::vec3 point;
|
||||||
|
bool ok = owner_->room->map_instance->FindConnectableNearestPoint(center, 50, point);
|
||||||
|
if (ok) {
|
||||||
|
owner_->room->map_instance->UnScale(point);
|
||||||
|
out_point0 = point;
|
||||||
|
return behaviac::BT_SUCCESS;
|
||||||
|
}
|
||||||
|
return behaviac::BT_FAILURE;
|
||||||
|
};
|
||||||
|
return StartCoroutine(co);
|
||||||
}
|
}
|
||||||
|
|
||||||
float HeroAgent::GetShotRange()
|
float HeroAgent::GetShotRange()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user