Bricklayer.Client.Entities.Player.Interpolate C# (CSharp) Method

Interpolate() private method

private Interpolate ( GameTime gameTime ) : void
gameTime Microsoft.Xna.Framework.GameTime
return void
        private void Interpolate(GameTime gameTime)
        {
            if (Mode == PlayerMode.Normal)
            {
                float elapsed = (float)gameTime.ElapsedGameTime.TotalSeconds;
                float delta = elapsed * 60;
                float difference = Math.Abs(SimulationState.Position.Y - DisplayState.Position.Y);
                if (difference <= 3)
                    DisplayState.Position.Y = SimulationState.Position.Y;
                else
                    DisplayState.Position.Y += (SimulationState.Position.Y - DisplayState.Position.Y) * delta * .5f;
                DisplayState.Position.X = SimulationState.Position.X;
            }
            else if (Mode == PlayerMode.God)
            {
                float elapsed = (float)gameTime.ElapsedGameTime.TotalSeconds;
                float delta = elapsed * 60;
                float difference = Vector2.Distance(SimulationState.Position, DisplayState.Position);
                if (difference <= 3)
                    DisplayState.Position = SimulationState.Position;
                else
                    DisplayState.Position += (SimulationState.Position - DisplayState.Position) * delta * .1f;
            }
        }