X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fcarfire;a=blobdiff_plain;f=CarFire%2FCarFire%2FCarFire%2FMovementManager.cs;fp=CarFire%2FCarFire%2FCarFire%2FMovementManager.cs;h=e7002035b6509caec0f80f5e5cf980c21190f8d5;hp=3b8dae13a2d0983b3f3b0dfbc4f8f3be39f4da8e;hb=851a2f1efb5e981fad8f517170809b61d630e8b7;hpb=b32b73746f5bf95771eb5f9db95763ce2a44049f diff --git a/CarFire/CarFire/CarFire/MovementManager.cs b/CarFire/CarFire/CarFire/MovementManager.cs index 3b8dae1..e700203 100644 --- a/CarFire/CarFire/CarFire/MovementManager.cs +++ b/CarFire/CarFire/CarFire/MovementManager.cs @@ -153,6 +153,27 @@ namespace CarFire RecalculatePosition(alpha); } } + public void LockUpdate(TimeSpan timeSpan, bool moveLeft, bool moveRight, bool moveUp, bool moveDown) + { + float passedTime = (float)timeSpan.TotalSeconds; + if (moveLeft == true || moveRight == true || moveUp == true || moveDown == true) + { + mDirection = GetDirection(moveLeft, moveRight, moveUp, moveDown); + } + if (mIsMoving) + { + mTimeAccumulator += passedTime; + + float alpha = mTimeAccumulator / mInverseSpeed; + if (alpha >= 1.0f) + { + mIsMoving = false; + alpha = 1.0f; + } + + RecalculatePosition(alpha); + } + } ///