Пример #1
0
        private void processMouseInput()
        {
            Vector2 b = Handler.mouseToWorld(Input.mousestate) + new Vector2(-.5f, -.5f);
            Vector2 a = new Vector2((float)Math.Round(b.X), (float)Math.Round(b.Y));

            oldHeld = held;
            held    = new Vector2(.1f, .1f);

            if (map.ContainsKey(a))
            {
                if (Input.MouseButtons.Contains(MouseButton.Left) && Input.oldMouseButtons.Contains(MouseButton.Left))
                {
                    if (Selection.Allowed)
                    {
                        map [a].Hold();
                        held = a;
                    }
                }
                else if (Input.pressedOnce(MouseButton.Left))
                {
                    if (Selection.Allowed)
                    {
                        map [a].Interact(MouseButton.Left);
                    }
                }
            }

            if (oldHeld != held)
            {
                if (map.ContainsKey(oldHeld))
                {
                    map [oldHeld].UnHold();
                }
            }
        }
Пример #2
0
        public override void Render(SpriteBatch sb)
        {
            Cursor.Draw(sb, Handler.mouseToWorld(Input.mousestate), (int)Layer.Mouse, 1 / Camera._zoom);
            Vector2 a = Handler.mouseToWorld(Input.mousestate) - new Vector2(.5f, .5f);
            Vector2 b = new Vector2((float)Math.Round(a.X), (float)Math.Round(a.Y));

            if (Allowed)
            {
                CanSelect.Draw(sb, b, (int)Layer.Selection);
            }
            else
            {
                CantSelect.Draw(sb, b, (int)Layer.Selection);
            }
        }
Пример #3
0
        public override void Update()
        {
            Vector2 a = Handler.mouseToWorld(Input.mousestate);

            position = new Vector2((float)Math.Round(a.X - .5), (float)Math.Round(a.Y - .5));
            Player p = Player.getPlayer();

            if (Vector2.Distance(Handler.mouseToWorld(Input.mousestate), p.position) > p.reach)
            {
                Cursor  = nullCursor;
                Allowed = false;
            }
            else
            {
                Cursor  = avaliableCursor;
                Allowed = true;
            }
        }