Ejemplo n.º 1
0
        void renderTargetUserControl1_MouseMove(object sender, MouseEventArgs e)
        {
            RenderTargetUserControl control = (RenderTargetUserControl)sender;

            //free camera rotating
            if (Map.Instance != null && freeCameraEnabled && freeCameraMouseRotating)
            {
                Vec2 mouse = control.GetMouseRelativeModeOffset().ToVec2() /
                             control.Viewport.DimensionsInPixels.Size.ToVec2();

                SphereDir dir = freeCameraDirection;
                dir.Horizontal -= mouse.X;
                dir.Vertical   -= mouse.Y;

                dir.Horizontal = MathFunctions.RadiansNormalize360(dir.Horizontal);

                const float vlimit = MathFunctions.PI / 2 - .01f;
                if (dir.Vertical > vlimit)
                {
                    dir.Vertical = vlimit;
                }
                if (dir.Vertical < -vlimit)
                {
                    dir.Vertical = -vlimit;
                }

                freeCameraDirection = dir;
            }
        }