Prevent skipping SetMoveDone call

This commit is contained in:
mittorn 2018-08-04 20:59:07 +07:00
parent 9e0570c0e2
commit 29bd5d059f

View File

@ -421,6 +421,13 @@ void CBaseToggle::LinearMove( Vector vecDest, float flSpeed )
// divide vector length by speed to get time to reach dest
float flTravelTime = vecDestDelta.Length() / flSpeed;
if( flTravelTime < 0.05 )
{
UTIL_SetOrigin( pev, m_vecFinalDest );
LinearMoveDone();
return;
}
// set nextthink to trigger a call to LinearMoveDone when dest is reached
pev->nextthink = pev->ltime + flTravelTime;
SetThink( &CBaseToggle::LinearMoveDone );