CEngineSharp_Client.Graphics.Camera.Update C# (CSharp) Method

Update() public method

public Update ( float playerSpeed, GameTime gameTime ) : void
playerSpeed float
gameTime GameTime
return void
        public void Update(float playerSpeed, GameTime gameTime)
        {
            float delta = playerSpeed * gameTime.UpdateTime;

            var centerX = this.Center.X;
            var centerY = this.Center.Y;

            var targetX = this.Target.Position.X * 32;
            var targetY = this.Target.Position.Y * 32;

            if (targetX >= this.StationaryBounds.X)
            {
                var mapBoundsX = (ServiceLocator.WorldManager.MapManager.Map.Width * 32) - (this.ViewRect.Width / 2);

                if (CanViewOutside || targetX <= mapBoundsX)
                {
                    if (this.Center.X < targetX)
                    {
                        centerX += delta;

                        if (centerX > targetX)
                            centerX = targetX;
                    }

                    if (this.Center.X > targetX)
                    {
                        centerX -= delta;

                        if (centerX < targetX)
                            centerX = targetX;
                    }
                }
            }

            if (targetY >= this.StationaryBounds.Y)
            {
                var mapBoundsY = (ServiceLocator.WorldManager.MapManager.Map.Height * 32) - (this.ViewRect.Height / 2);

                if (CanViewOutside || targetY <= mapBoundsY)
                {
                    if (this.Center.Y < targetY)
                    {
                        centerY += delta;

                        if (centerY > targetY)
                            centerY = targetY;
                    }

                    if (this.Center.Y > targetY)
                    {
                        centerY -= delta;

                        if (centerY < targetY)
                            centerY = targetY;
                    }
                }
            }

            this.Center = new Vector2f(centerX, centerY);
        }