コード例 #1
0
ファイル: MenuButton.cs プロジェクト: HaDuve/FarmerVsZombies
        public bool Update(InputState inputState)
        {
            if (!IsActive)
            {
                return(false);
            }

            var mousePosition = inputState.mMouseWindowPosition;

            switch (inputState.IsButtonPressed(MouseButton.LeftButton))
            {
            case false when mousePosition.X > mBtnPos.X && mousePosition.X <mBtnPos.X + mBtnWidth &&
                                                                            mousePosition.Y> mBtnPos.Y && mousePosition.Y < mBtnPos.Y + mBtnHeight:
                mBtnState = BtnStates.OnHover;
                return(false);

            case true when mousePosition.X > mBtnPos.X && mousePosition.X <mBtnPos.X + mBtnWidth &&
                                                                           mousePosition.Y> mBtnPos.Y && mousePosition.Y < mBtnPos.Y + mBtnHeight &&
                inputState.IsButtonCurrentlyPressed(MouseButton.LeftButton):
                mBtnState = BtnStates.Clicked;
                return(true);

            default:
                mBtnState = BtnStates.NotClicked;
                return(false);
            }
        }
コード例 #2
0
 private void ClickButton(object sender, InputState inputState)
 {
     if (!inputState.IsActionActive(ActionType.MouseClick) || mButtonState != BtnStates.Hover)
     {
         return;
     }
     mButtonState = BtnStates.Clicked;
     mAction();
 }
コード例 #3
0
ファイル: MenuButton.cs プロジェクト: HaDuve/FarmerVsZombies
 protected MenuButton(Texture2D btnImage, Point btnPos, int btnHeight, int btnWidth, string btnText, int txtposX = 0, int txtposY = 3)
 {
     mBtnImage  = btnImage;
     mBtnPos    = btnPos;
     mBtnHeight = btnHeight;
     mBtnWidth  = btnWidth;
     mBtnState  = BtnStates.NotClicked;
     mBtnText   = btnText;
     mTxtPosX   = txtposX;
     mTxtPosY   = txtposY;
 }
コード例 #4
0
ファイル: MenuButton.cs プロジェクト: HaDuve/FarmerVsZombies
 public MenuButton(Point btnPos, int btnHeight, int btnWidth, string btnText, int txtposX = 0, int txtposY = 3)
 {
     mBtnImage      = TextureManager.GetTexture("buttons", 96, 32, 6);
     mBtnHoverImage = TextureManager.GetTexture("buttons", 96, 32, 8);
     mBtnClickImage = TextureManager.GetTexture("buttons", 96, 32, 10);
     mBtnPos        = btnPos;
     mBtnHeight     = btnHeight;
     mBtnWidth      = btnWidth;
     mBtnState      = BtnStates.NotClicked;
     mBtnText       = btnText;
     mTxtPosX       = txtposX;
     mTxtPosY       = txtposY;
 }
コード例 #5
0
        public void Update(InputState inputState)
        {
            var mouseWorldPosition = inputState.mMouseWorldPosition;

            if (mouseWorldPosition.X > mWorldPosition.X && mouseWorldPosition.X < mWorldPosition.X + (float)Width / 32 &&
                mouseWorldPosition.Y > mWorldPosition.Y && mouseWorldPosition.Y < mWorldPosition.Y + (float)Height / 32)
            {
                mButtonState = BtnStates.Hover;
            }
            else
            {
                mButtonState = BtnStates.Default;
            }

            if (Tooltip != null)
            {
                Tooltip.Visible = (mButtonState == BtnStates.Hover || mButtonState == BtnStates.Clicked);
            }
        }