1
This commit is contained in:
parent
08994498ff
commit
60fb279830
@ -384,12 +384,15 @@ behaviac::EBTStatus BaseAgent::CoMoveToCurrentTarget(float distance)
|
||||
);
|
||||
|
||||
context->target = current_target_;
|
||||
glm::vec3 dir = GetOwner()->GetPos().CalcDir(context->target.Get()->GetPos());
|
||||
GlmHelper::Normalize(dir);
|
||||
GetOwner()->SetMoveDir(dir);
|
||||
GetOwner()->SetAttackDir(dir);
|
||||
GetOwner()->GetMovement()->CalcTargetPos(60);
|
||||
|
||||
if (target_distance < 2) {
|
||||
GetOwner()->GetMovement()->CalcTargetPos(60);
|
||||
} else {
|
||||
glm::vec3 dir = GetOwner()->GetPos().CalcDir(context->target.Get()->GetPos());
|
||||
GlmHelper::Normalize(dir);
|
||||
GetOwner()->SetMoveDir(dir);
|
||||
GetOwner()->SetAttackDir(dir);
|
||||
GetOwner()->GetMovement()->CalcTargetPos(60);
|
||||
}
|
||||
#ifdef DEBUG
|
||||
a8::XPrintf("CoMoveToCurrentTarget %d\n", {current_target_.Get()->GetUniId()});
|
||||
#endif
|
||||
@ -401,6 +404,16 @@ behaviac::EBTStatus BaseAgent::CoMoveToCurrentTarget(float distance)
|
||||
return behaviac::BT_FAILURE;
|
||||
}
|
||||
if (GetOwner()->GetMovement()->GetPathSize() <= 0) {
|
||||
if (context->target.Get()) {
|
||||
if (GlmHelper::IsEqual2D(GetOwner()->GetPos().ToGlmVec3(),
|
||||
current_target_.Get()->GetPos().ToGlmVec3())) {
|
||||
} else {
|
||||
glm::vec3 dir = GetOwner()->GetPos().CalcDir(context->target.Get()->GetPos());
|
||||
GlmHelper::Normalize(dir);
|
||||
GetOwner()->SetMoveDir(dir);
|
||||
GetOwner()->SetAttackDir(dir);
|
||||
}
|
||||
}
|
||||
return behaviac::BT_SUCCESS;
|
||||
}
|
||||
return behaviac::BT_RUNNING;
|
||||
|
Loading…
x
Reference in New Issue
Block a user