コード例 #1
0
        public void Click()
        {
            if (clickState == MouseClickState.Released)
            {
                if (isChecked)
                {
                    Uncheck();
                    foreach (CheckBox checkBox in synchronized)
                    {
                        checkBox.Uncheck();
                    }
                }
                else
                {
                    Check();
                    foreach (CheckBox checkBox in synchronized)
                    {
                        checkBox.Check();
                    }
                }


                Clicked?.Invoke(this, null);
                clickState = MouseClickState.Clicked;
            }
        }
コード例 #2
0
 public Button(string name, GUIComponent parent, int rx, int ry, Texture2D texture, int width) : base(name, parent, rx, ry)
 {
     this.texture  = texture;
     textureIndex  = 0;
     this.width    = width;
     clickState    = MouseClickState.Released;
     locationState = MouseLocationState.Leaved;
 }
コード例 #3
0
 public void Release()
 {
     if (clickState == MouseClickState.Clicked)
     {
         Released?.Invoke(this, null);
         clickState = MouseClickState.Released;
     }
 }
コード例 #4
0
 public void Click()
 {
     if (clickState == MouseClickState.Released)
     {
         Clicked?.Invoke(this, null);
         textureIndex = 0;
         clickState   = MouseClickState.Clicked;
     }
 }
コード例 #5
0
 public CheckBox(string name, GUIComponent parent, int rx, int ry, Texture2D texture, int width) : base(name, parent, rx, ry)
 {
     this.texture  = texture;
     textureIndex  = 0;
     this.width    = width;
     clickState    = MouseClickState.Released;
     locationState = MouseLocationState.Leaved;
     isChecked     = false;
     synchronized  = new List <CheckBox>();
 }
コード例 #6
0
ファイル: Soul.cs プロジェクト: UnhappyDogChew/ChessRPG
        public Soul(Hero hero, int x, int y) : base(x, y)
        {
            this.hero  = hero;
            aura       = Global.spriteBox.Pick("Auras");
            heroSprite = hero.sprite;
            collider   = new NullCollider();
            alpha      = 100;

            clickState    = MouseClickState.Released;
            locationState = MouseLocationState.Leaved;
        }
コード例 #7
0
ファイル: Input.cs プロジェクト: theboot999/Bushfire
        public void MouseClickInput(MouseState mouseState)
        {
            leftButtonDoubleClick = false;
            leftButtonClick       = false;
            rightButtonClick      = false;
            sideButtonOneClick    = false;
            sideButtonTwoClick    = false;
            middleButtonClick     = false;
            leftButtonDown        = false;
            rightButtonDown       = false;
            sideButtonOneDown     = false;
            sideButtonTwoDown     = false;
            middleButtonDown      = false;

            //left button

            if (!(mouseState.LeftButton == ButtonState.Pressed))
            {
                if (leftButton == MouseClickState.DRAG)
                {
                    leftButtonClick = true;
                }
                leftButton = MouseClickState.UP;
            }
            else
            {
                if (leftButton == MouseClickState.UP)
                {
                    leftButton = MouseClickState.CLICK;
                }
                else if (leftButton == MouseClickState.CLICK)
                {
                    leftButton = MouseClickState.DRAG;
                }

                if (leftButton == MouseClickState.DRAG)
                {
                    leftButtonDown = true;
                }
            }

            //right button
            if (!(mouseState.RightButton == ButtonState.Pressed))
            {
                if (rightButton == MouseClickState.DRAG)
                {
                    rightButtonClick = true;
                }
                rightButton = MouseClickState.UP;
            }
            else
            {
                if (rightButton == MouseClickState.UP)
                {
                    rightButton = MouseClickState.CLICK;
                }
                else if (rightButton == MouseClickState.CLICK)
                {
                    rightButton = MouseClickState.DRAG;
                }

                if (rightButton == MouseClickState.DRAG)
                {
                    rightButtonDown = true;
                }
            }

            //sideButton 1

            if (!(mouseState.XButton1 == ButtonState.Pressed))
            {
                if (sideButtonOne == MouseClickState.DRAG)
                {
                    sideButtonOneClick = true;
                }
                sideButtonOne = MouseClickState.UP;
            }
            else
            {
                if (sideButtonOne == MouseClickState.UP)
                {
                    sideButtonOne = MouseClickState.CLICK;
                }
                else if (sideButtonOne == MouseClickState.CLICK)
                {
                    sideButtonOne = MouseClickState.DRAG;
                }

                if (sideButtonOne == MouseClickState.DRAG)
                {
                    sideButtonOneDown = true;
                }
            }

            //sideButton 2

            if (!(mouseState.XButton2 == ButtonState.Pressed))
            {
                if (sideButtonTwo == MouseClickState.DRAG)
                {
                    sideButtonTwoClick = true;
                }
                sideButtonTwo = MouseClickState.UP;
            }
            else
            {
                if (sideButtonTwo == MouseClickState.UP)
                {
                    sideButtonTwo = MouseClickState.CLICK;
                }
                else if (sideButtonTwo == MouseClickState.CLICK)
                {
                    sideButtonTwo = MouseClickState.DRAG;
                }

                if (sideButtonTwo == MouseClickState.DRAG)
                {
                    sideButtonTwoDown = true;
                }
            }

            //middleButton2

            if (!(mouseState.MiddleButton == ButtonState.Pressed))
            {
                if (middleButton == MouseClickState.DRAG)
                {
                    middleButtonClick = true;
                }
                middleButton = MouseClickState.UP;
            }
            else
            {
                if (middleButton == MouseClickState.UP)
                {
                    middleButton = MouseClickState.CLICK;
                }
                else if (middleButton == MouseClickState.CLICK)
                {
                    middleButton = MouseClickState.DRAG;
                }

                if (middleButton == MouseClickState.DRAG)
                {
                    middleButtonDown = true;
                }
            }


            if (!countingDoubleClick && leftButtonClick)
            {
                countingDoubleClick = true;
                firstClickMousePos  = mousePos;
            }
            else if (countingDoubleClick)
            {
                doubleClickCounter += 0.015f * EngineController.drawUpdateTime;

                if (doubleClickCounter > 1)
                {
                    doubleClickCounter  = 0;
                    countingDoubleClick = false;
                }
                if (leftButtonClick)
                {
                    if (Vector2.Distance(firstClickMousePos, mousePos) < 100f)
                    {
                        leftButtonDoubleClick = true;
                    }
                    doubleClickCounter  = 0;
                    countingDoubleClick = false;
                }
            }
        }