mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-11 14:44:36 +00:00
simplify setpathdestination loop
This commit is contained in:
parent
83822f1148
commit
2956223a60
2 changed files with 5 additions and 5 deletions
|
|
@ -78,11 +78,11 @@ bool AIController::getAIMove(Move* movePtr)
|
|||
Point3F rotation = sbo->getTransform().toEuler();
|
||||
|
||||
#ifdef TORQUE_NAVIGATION_ENABLED
|
||||
if (sbo->getDamageState() == ShapeBase::Enabled)
|
||||
if (sbo->getDamageState() == ShapeBase::Enabled && getGoal())
|
||||
{
|
||||
if (mMovement.mMoveState != ModeStop)
|
||||
getNav()->updateNavMesh();
|
||||
if (getGoal() && !getGoal()->mObj.isNull())
|
||||
if (getGoal()->mObj.isValid())
|
||||
{
|
||||
if (getNav()->mPathData.path.isNull())
|
||||
{
|
||||
|
|
|
|||
|
|
@ -64,7 +64,6 @@ NavMesh* AINavigation::findNavMesh() const
|
|||
void AINavigation::updateNavMesh()
|
||||
{
|
||||
GameBase* gbo = dynamic_cast<GameBase*>(mControllerRef->getAIInfo()->mObj.getPointer());
|
||||
NavMesh* old = mNavMesh;
|
||||
if (mNavMesh.isNull())
|
||||
mNavMesh = findNavMesh();
|
||||
else
|
||||
|
|
@ -73,9 +72,9 @@ void AINavigation::updateNavMesh()
|
|||
mNavMesh = findNavMesh();
|
||||
}
|
||||
// See if we need to update our path.
|
||||
if (mNavMesh != old && !mPathData.path.isNull())
|
||||
if (mNavMesh)
|
||||
{
|
||||
setPathDestination(mPathData.path->mTo);
|
||||
setPathDestination(getCtrl()->getGoal()->getPosition());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -178,6 +177,7 @@ void AINavigation::onReachDestination()
|
|||
|
||||
bool AINavigation::setPathDestination(const Point3F& pos)
|
||||
{
|
||||
if (!getCtrl()->getGoal()) getCtrl()->setGoal(pos, getCtrl()->mControllerData->mMoveTolerance);
|
||||
if (!mNavMesh)
|
||||
updateNavMesh();
|
||||
// If we can't find a mesh, just move regularly.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue