public override void Update(TimeSpan dt) { MouseState mouse = Program.Mouse; Position mpos = new Position(mouse.X, mouse.Y); if (Contains(mpos) && State == GameButtonState.Up) { State = GameButtonState.Hover; Clicked = false; EnteringHover(); } if (Contains(mpos) && mouse.LeftButton == ButtonState.Pressed && State == GameButtonState.Hover) { State = GameButtonState.Down; Clicked = false; EnteringDown(); } if (Contains(mpos) && mouse.LeftButton == ButtonState.Released && State == GameButtonState.Down) { State = GameButtonState.Hover; Clicked = true; EnteringHover(); } if (!Contains(mpos) && State != GameButtonState.Up) { State = GameButtonState.Up; Clicked = false; EnteringUp(); } }
public Button(Texture2D Normal,Texture2D Click, Vector2 Position) { _position = Position; _normal = Normal; _click = Click; _buttonState = GameButtonState.Normal; _origin = new Vector2(_normal.Width / 2, _normal.Height / 2); _scale = 1f; Draw = true; }
public void RestoreWith(State state) { gameButtonState = (GameButtonState)state; nameLabel.text = gameButtonState.fileName; levelLabel.text = gameButtonState.levelName; dateTimeLabel.text = gameButtonState.dateTime.ToLocalTime().ToString(DateTimePattern); parentMenu = GetComponentInParent <Menu>(); transform.localScale = Vector3.one; }
public static void Intialzie() { keyboardStateButtons = new Dictionary<Keys, GameButtonState>(); leftMouseButton = GameButtonState.Up; rightMouseButton = GameButtonState.Up; leftGamepadButton = GameButtonState.Up; rightGamepadButton = GameButtonState.Up; Array keys = Enum.GetValues(typeof(Keys)); foreach (Keys key in keys) { keyboardStateButtons.Add(key, GameButtonState.Up); } }
void OnClick_Btn(GameButtonState pBtnType) { Debug.LogFormat($"Click {pBtnType.ToString()}"); var tGamepadState = GamepadButtons.Clear; if (Utils.TryEnumParse(pBtnType, out tGamepadState)) { SmartGlassManager.instance.SendGamepadState(new GamepadState() { Buttons = tGamepadState }); } else { throw new Exception(string.Format($"未实现:{pBtnType.ToString()}")); } }
public static void Update(GameTime gameTime) { MouseState currentMouseState = Mouse.GetState(); Keys[] pressedKeys = Keyboard.GetState().GetPressedKeys(); GamePadState currentGamePad = GamePad.GetState(PlayerIndex.One, GamePadDeadZone.Circular); Dictionary<Keys,KeyState> currentKeyState = new Dictionary<Keys,KeyState>(); #region Mouse Update if(currentMouseState.LeftButton == ButtonState.Pressed) { switch (leftMouseButton) { case GameButtonState.Pressed: leftMouseButton = GameButtonState.Down; break; case GameButtonState.Released: leftMouseButton = GameButtonState.Pressed; break; case GameButtonState.Down: leftMouseButton = GameButtonState.Down; break; case GameButtonState.Up: leftMouseButton = GameButtonState.Pressed; break; } } else { switch (leftMouseButton) { case GameButtonState.Pressed: leftMouseButton = GameButtonState.Released; break; case GameButtonState.Released: leftMouseButton = GameButtonState.Up; break; case GameButtonState.Down: leftMouseButton = GameButtonState.Released; break; case GameButtonState.Up: leftMouseButton = GameButtonState.Up; break; } } if(currentMouseState.RightButton == ButtonState.Pressed) { switch (rightMouseButton) { case GameButtonState.Pressed: rightMouseButton = GameButtonState.Down; break; case GameButtonState.Released: rightMouseButton = GameButtonState.Pressed; break; case GameButtonState.Down: rightMouseButton = GameButtonState.Down; break; case GameButtonState.Up: rightMouseButton = GameButtonState.Pressed; break; } } else { switch (rightMouseButton) { case GameButtonState.Pressed: rightMouseButton = GameButtonState.Released; break; case GameButtonState.Released: rightMouseButton = GameButtonState.Up; break; case GameButtonState.Down: rightMouseButton = GameButtonState.Released; break; case GameButtonState.Up: rightMouseButton = GameButtonState.Up; break; } } #endregion #region Keyboard Update //Clear the keyboard state Array keys = Enum.GetValues(typeof(Keys)); foreach (Keys key in keys) { currentKeyState[key] = KeyState.Up; } foreach (Keys key in pressedKeys) { currentKeyState[key] = KeyState.Down; } foreach (KeyValuePair<Keys,KeyState> keyPair in currentKeyState) { switch (keyboardStateButtons[keyPair.Key]) { case GameButtonState.Pressed: if (keyPair.Value == KeyState.Down) { keyboardStateButtons[keyPair.Key] = GameButtonState.Down; } else { keyboardStateButtons[keyPair.Key] = GameButtonState.Released; } break; case GameButtonState.Released: if (keyPair.Value == KeyState.Down) { keyboardStateButtons[keyPair.Key] = GameButtonState.Pressed; } else { keyboardStateButtons[keyPair.Key] = GameButtonState.Up; } break; case GameButtonState.Down: if (keyPair.Value == KeyState.Down) { keyboardStateButtons[keyPair.Key] = GameButtonState.Down; } else { keyboardStateButtons[keyPair.Key] = GameButtonState.Released; } break; case GameButtonState.Up: if (keyPair.Value == KeyState.Down) { keyboardStateButtons[keyPair.Key] = GameButtonState.Pressed; } else { keyboardStateButtons[keyPair.Key] = GameButtonState.Up; } break; } } #endregion #region Gamepad Update if (currentGamePad.IsConnected) { if (currentGamePad.IsButtonDown(Buttons.LeftShoulder) || currentGamePad.IsButtonDown(Buttons.LeftTrigger)) { switch (leftGamepadButton) { case GameButtonState.Pressed: leftGamepadButton = GameButtonState.Down; break; case GameButtonState.Released: leftGamepadButton = GameButtonState.Pressed; break; case GameButtonState.Down: leftGamepadButton = GameButtonState.Down; break; case GameButtonState.Up: leftGamepadButton = GameButtonState.Pressed; break; } } else { switch (leftGamepadButton) { case GameButtonState.Pressed: leftGamepadButton = GameButtonState.Released; break; case GameButtonState.Released: leftGamepadButton = GameButtonState.Up; break; case GameButtonState.Down: leftGamepadButton = GameButtonState.Released; break; case GameButtonState.Up: leftGamepadButton = GameButtonState.Up; break; } } if (currentGamePad.IsButtonDown(Buttons.RightShoulder) || currentGamePad.IsButtonDown(Buttons.RightTrigger)) { switch (rightGamepadButton) { case GameButtonState.Pressed: rightGamepadButton = GameButtonState.Down; break; case GameButtonState.Released: rightGamepadButton = GameButtonState.Pressed; break; case GameButtonState.Down: rightGamepadButton = GameButtonState.Down; break; case GameButtonState.Up: rightGamepadButton = GameButtonState.Pressed; break; } } else { switch (rightGamepadButton) { case GameButtonState.Pressed: rightGamepadButton = GameButtonState.Released; break; case GameButtonState.Released: rightGamepadButton = GameButtonState.Up; break; case GameButtonState.Down: rightGamepadButton = GameButtonState.Released; break; case GameButtonState.Up: rightGamepadButton = GameButtonState.Up; break; } } } #endregion }