Esempio n. 1
0
 public bool IsOffScreen(Viewport viewport, Camera camera)
 {
     if (camera == null)
     {
         return(X < 0 - Width || X > viewport.Width || Y < 0 - Height || Y > viewport.Height);
     }
     else
     {
         Vector2 screenPosition = Vector2.Transform(PrecisePosition, camera.get_transformation(viewport));
         return(screenPosition.X < 0 - Width || screenPosition.X > viewport.Width ||
                screenPosition.Y < 0 - Height || screenPosition.Y > viewport.Height);
     }
 }
Esempio n. 2
0
 public bool IsOffScreen(Viewport viewport, Camera camera)
 {
     if (camera == null)
         return (X < 0 - Width || X > viewport.Width || Y < 0 - Height || Y > viewport.Height);
     else
     {
         Vector2 screenPosition = Vector2.Transform(PrecisePosition, camera.get_transformation(viewport));
         return (screenPosition.X < 0 - Width || screenPosition.X > viewport.Width ||
             screenPosition.Y < 0 - Height || screenPosition.Y > viewport.Height);
     }
 }
Esempio n. 3
0
        public static void Update(Viewport viewport, Camera camera)
        {
            if (!enabled)
                return;

            //Vector2 halfOfViewPort = new Vector2(Game1.Game.GraphicsDevice.Viewport.Width / 2f, Game1.Game.GraphicsDevice.Viewport.Height / 2f);
            //Vector2 mousePosition = new Vector2(Mouse.GetState().X, Mouse.GetState().Y) + (cameraOffset);

            Vector2 mousePosition = new Vector2(Mouse.GetState().X, Mouse.GetState().Y);

            Vector2 mouseWorldPosition = Vector2.Transform(mousePosition, Matrix.Invert(camera.get_transformation(viewport)));

            if (Mouse.GetState().LeftButton == ButtonState.Released)
            {
                selecting = false;
                return;
            }
            else if (selecting == false)// && graphics.GraphicsDevice.Viewport.Bounds.Contains(new Point(Mouse.GetState().X, Mouse.GetState().Y)))
            {
                selecting = true;
                selectPoint1 = selectPoint2 = new Rectangle((int)mouseWorldPosition.X, (int)mouseWorldPosition.Y, 1, 1);
                drawPoint1 = drawPoint2 = new Rectangle((int)mousePosition.X, (int)mousePosition.Y, 1, 1);
            }
            else
            {
                selectPoint2 = new Rectangle((int)mouseWorldPosition.X, (int)mouseWorldPosition.Y, 1, 1);
                drawPoint2 = new Rectangle((int)mousePosition.X, (int)mousePosition.Y, 1, 1);
            }

            /*selectBox.X = selectPoint1.X;
            selectBox.Y = selectPoint1.Y;
            selectBox.Width = (int)Vector2.Distance(new Vector2(selectPoint1.X, 0), new Vector2(selectPoint2.X, 0));
            selectBox.Height = (int)Vector2.Distance(new Vector2(0, selectPoint1.Y), new Vector2(0, selectPoint2.Y));
            selectBox.Rotation = camera.Rotation + (float)Math.PI;*/

            selectBox.Rectangle = Rectangle.Union(selectPoint1, selectPoint2);
            selectBox.Rotation = camera.Rotation + (float)Math.PI;
            drawBox = Rectangle.Union(drawPoint1, drawPoint2);
        }
Esempio n. 4
0
        public static void Update(Viewport viewport, Camera camera)
        {
            if (!enabled)
            {
                return;
            }

            //Vector2 halfOfViewPort = new Vector2(Game1.Game.GraphicsDevice.Viewport.Width / 2f, Game1.Game.GraphicsDevice.Viewport.Height / 2f);
            //Vector2 mousePosition = new Vector2(Mouse.GetState().X, Mouse.GetState().Y) + (cameraOffset);

            Vector2 mousePosition = new Vector2(Mouse.GetState().X, Mouse.GetState().Y);

            Vector2 mouseWorldPosition = Vector2.Transform(mousePosition, Matrix.Invert(camera.get_transformation(viewport)));

            if (Mouse.GetState().LeftButton == ButtonState.Released)
            {
                selecting = false;
                return;
            }
            else if (selecting == false)// && graphics.GraphicsDevice.Viewport.Bounds.Contains(new Point(Mouse.GetState().X, Mouse.GetState().Y)))
            {
                selecting    = true;
                selectPoint1 = selectPoint2 = new Rectangle((int)mouseWorldPosition.X, (int)mouseWorldPosition.Y, 1, 1);
                drawPoint1   = drawPoint2 = new Rectangle((int)mousePosition.X, (int)mousePosition.Y, 1, 1);
            }
            else
            {
                selectPoint2 = new Rectangle((int)mouseWorldPosition.X, (int)mouseWorldPosition.Y, 1, 1);
                drawPoint2   = new Rectangle((int)mousePosition.X, (int)mousePosition.Y, 1, 1);
            }

            /*selectBox.X = selectPoint1.X;
             * selectBox.Y = selectPoint1.Y;
             * selectBox.Width = (int)Vector2.Distance(new Vector2(selectPoint1.X, 0), new Vector2(selectPoint2.X, 0));
             * selectBox.Height = (int)Vector2.Distance(new Vector2(0, selectPoint1.Y), new Vector2(0, selectPoint2.Y));
             * selectBox.Rotation = camera.Rotation + (float)Math.PI;*/

            selectBox.Rectangle = Rectangle.Union(selectPoint1, selectPoint2);
            selectBox.Rotation  = camera.Rotation + (float)Math.PI;
            drawBox             = Rectangle.Union(drawPoint1, drawPoint2);
        }