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); } }
private void ClickButton(object sender, InputState inputState) { if (!inputState.IsActionActive(ActionType.MouseClick) || mButtonState != BtnStates.Hover) { return; } mButtonState = BtnStates.Clicked; mAction(); }
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; }
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; }
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); } }