RenderingLibrary.Graphics.SpriteRenderer.GetZoomAndMatrix C# (CSharp) Method

GetZoomAndMatrix() private method

private GetZoomAndMatrix ( Layer layer, Camera camera ) : Matrix
layer Layer
camera Camera
return Matrix
        private Matrix GetZoomAndMatrix(Layer layer, Camera camera)
        {
            Matrix matrix;

            if (layer.LayerCameraSettings != null)
            {
                if (layer.LayerCameraSettings.IsInScreenSpace)
                {
                    float zoom = 1;
                    if (layer.LayerCameraSettings.Zoom.HasValue)
                    {
                        zoom = layer.LayerCameraSettings.Zoom.Value;
                    }
                    matrix = Matrix.CreateScale(zoom);
                    CurrentZoom = zoom;
                }
                else
                {
                    float zoom = camera.Zoom;
                    if (layer.LayerCameraSettings.Zoom.HasValue)
                    {
                        zoom = layer.LayerCameraSettings.Zoom.Value;
                    }
                    matrix = Camera.GetTransformationMatirx(camera.X, camera.Y, zoom, camera.ClientWidth, camera.ClientHeight);
                    CurrentZoom = zoom;
                }
            }
            else
            {
                matrix = camera.GetTransformationMatrix();
                CurrentZoom = camera.Zoom;
            }
            return matrix;
        }