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}"); } }
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 = snapshot.Viewport.ScreenToV3(screen, camera.GetState(), snapshot.Window); var sign = Math.Sign(delta); delta = delta * 0.01f; //); camera.Position -= camera.LookDirection * (delta); context .GetEntityManager() .GetEntity(camera.EntityTag) .RemoveComponent(component); }
public virtual void Handle(CameraZoomingComponent component) { }