public void Update() { int clicks = clickCount; if (btnArea.Contains(Mouse.GetState().X, Mouse.GetState().Y)) { switch(state) { case Button_State.BUTTON_UP: if (Mouse.GetState().LeftButton == ButtonState.Pressed) { state = Button_State.BUTTON_DOWN; } else { state = Button_State.BUTTON_HOVER; } break; case Button_State.BUTTON_HOVER: if (Mouse.GetState().LeftButton == ButtonState.Pressed) { state = Button_State.BUTTON_DOWN; } break; case Button_State.BUTTON_DOWN: if (Mouse.GetState().LeftButton == ButtonState.Released) { state = Button_State.BUTTON_HOVER; clickCount++; } break; } }//if mouseover else { if (state == Button_State.BUTTON_HOVER || state == Button_State.BUTTON_DOWN) { state = Button_State.BUTTON_UP; } } if (hotkey != Keys.None) { if (Keyboard.GetState().IsKeyDown(hotkey) && state != Button_State.BUTTON_DOWN) { KeyPress = true; state = Button_State.BUTTON_DOWN; clickCount++; KeyPress = false; } /*else if(Keyboard.GetState().IsKeyUp(hotkey) && KeyPress) { state = Button_State.BUTTON_UP; clickCount++; KeyPress = false; }*/ } if (clickCount > clicks) { clicked = true; } }
public void Update() { int clicks = clickCount; if (btnArea.Contains(Mouse.GetState().X, Mouse.GetState().Y)) { switch (state) { case Button_State.BUTTON_UP: if (Mouse.GetState().LeftButton == ButtonState.Pressed) { state = Button_State.BUTTON_DOWN; } else { state = Button_State.BUTTON_HOVER; } break; case Button_State.BUTTON_HOVER: if (Mouse.GetState().LeftButton == ButtonState.Pressed) { state = Button_State.BUTTON_DOWN; } break; case Button_State.BUTTON_DOWN: if (Mouse.GetState().LeftButton == ButtonState.Released) { state = Button_State.BUTTON_HOVER; clickCount++; } break; } }//if mouseover else { if (state == Button_State.BUTTON_HOVER || state == Button_State.BUTTON_DOWN) { state = Button_State.BUTTON_UP; } } if (hotkey != Keys.None) { if (Keyboard.GetState().IsKeyDown(hotkey) && state != Button_State.BUTTON_DOWN) { KeyPress = true; state = Button_State.BUTTON_DOWN; clickCount++; KeyPress = false; } /*else if(Keyboard.GetState().IsKeyUp(hotkey) && KeyPress) * { * state = Button_State.BUTTON_UP; * clickCount++; * KeyPress = false; * }*/ } if (clickCount > clicks) { clicked = true; } }