Example #1
0
            public override void Handle(CameraZoomingComponent component)
            {
                var   winW   = snapshot.Window.Width;
                var   winH   = snapshot.Window.Height;
                float delta  = component.Delta;
                var   screen = component.MovementData.End;

                var zoomAround = D3DExt.ScreenToV3(camera, screen, winW, winH, delta);

                delta = delta * 0.001f;
                if (Ext.ChangeCameraDistance(camera, ref delta, zoomAround))
                {
                    // Modify the camera width
                    camera.Width *= (float)Math.Pow(2.5f, delta);
                    System.Diagnostics.Trace.WriteLine($"ORTO W:{camera.Width}, D: {delta}, Center:{zoomAround}");
                }
            }