]> Dogcows Code - chaz/carfire/blobdiff - CarFire/CarFire/CarFire/MovementManager.cs
Player can now stop and 'aim' by pressing left control.
[chaz/carfire] / CarFire / CarFire / CarFire / MovementManager.cs
index 512c2af203c5bcafc18adc48026d28961214f22d..e7002035b6509caec0f80f5e5cf980c21190f8d5 100644 (file)
@@ -153,6 +153,27 @@ namespace CarFire
                 RecalculatePosition(alpha);\r
             }\r
         }\r
+        public void LockUpdate(TimeSpan timeSpan, bool moveLeft, bool moveRight, bool moveUp, bool moveDown)\r
+        {\r
+            float passedTime = (float)timeSpan.TotalSeconds;\r
+            if (moveLeft == true || moveRight == true || moveUp == true || moveDown == true)\r
+            {\r
+                mDirection = GetDirection(moveLeft, moveRight, moveUp, moveDown);\r
+            }\r
+            if (mIsMoving)\r
+            {\r
+                mTimeAccumulator += passedTime;\r
+\r
+                float alpha = mTimeAccumulator / mInverseSpeed;\r
+                if (alpha >= 1.0f)\r
+                {\r
+                    mIsMoving = false;\r
+                    alpha = 1.0f;\r
+                }\r
+\r
+                RecalculatePosition(alpha);\r
+            }\r
+        }\r
 \r
 \r
         /// <summary>\r
@@ -207,7 +228,7 @@ namespace CarFire
 \r
         void RecalculatePosition(float alpha)\r
         {\r
-            Console.WriteLine("last: " + mLastCoordinates + ", now: " + mCoordinates + ", alpha: " + alpha);\r
+            //Console.WriteLine("last: " + mLastCoordinates + ", now: " + mCoordinates + ", alpha: " + alpha);\r
             mPosition.X = (float)mLastCoordinates.X + alpha * ((float)mCoordinates.X - (float)mLastCoordinates.X);\r
             mPosition.Y = (float)mLastCoordinates.Y + alpha * ((float)mCoordinates.Y - (float)mLastCoordinates.Y);\r
         }\r
This page took 0.017069 seconds and 4 git commands to generate.