public void SetActive(ButtonStatus buttonStatus) { this.buttonStatus = buttonStatus; switch (buttonStatus) { case ButtonStatus.Closing: isActive = false; expandableImage.Text = Common.IconFont.ArrowDropDown; expandableImage.RotateTo(90); break; case ButtonStatus.Waiting: isActive = true; expandableImage.Text = Common.IconFont.ArrowDropDown; expandableImage.RotateTo(0); break; case ButtonStatus.Opening: isActive = true; expandableImage.Text = Common.IconFont.ArrowDropDown; expandableImage.RotateTo(0); break; } OnPropertyChanged("IsActive"); }
protected override void OnEnabledChanged(EventArgs e) { base.OnEnabledChanged(e); status = Enabled ? ButtonStatus.Normal : ButtonStatus.Disabled; OnStatusChange(EventArgs.Empty); }
void ClickInfo() { if (NowButton != ButtonStatus.Info) { //如果其他按鈕有出現 進行互斥 並更新目前狀態 if (NowButton != ButtonStatus.Idle) { StatusChange(NowButton); } NowButton = ButtonStatus.Info; InfoPosition.PlayForward(); //彈出設定欄位 //開啟Collider m_InstructionsCollider.enabled = true; m_RecentHundredCollider.enabled = true; m_LotteryRecordCollider.enabled = true; } else { NowButton = ButtonStatus.Idle; InfoPosition.PlayReverse(); //縮回設定欄位 //關閉Collider m_InstructionsCollider.enabled = false; m_RecentHundredCollider.enabled = false; m_LotteryRecordCollider.enabled = false; } }
protected override void OnMouseUp(MouseEventArgs e) { base.OnMouseUp(e); status = ButtonStatus.Focused; OnStatusChange(EventArgs.Empty); }
protected override void OnGotFocus(EventArgs e) { base.OnGotFocus(e); status = ButtonStatus.Focused; NotifyDefault(true); }
/// <summary> /// 将分组内所有按钮的状态置为指定状态 /// </summary> /// <param name="status"></param> public void ResetAllButtonStatus(ButtonStatus status) { foreach (string buttonName in _buttonDict.Keys) { _buttonDict[buttonName].Status = status; } }
void ClickBet() { if (NowButton != ButtonStatus.Bet) { //如果其他按鈕有出現 進行互斥 並更新目前狀態 if (NowButton != ButtonStatus.Idle) { StatusChange(NowButton); } NowButton = ButtonStatus.Bet; BetPosition.PlayForward(); //彈出設定欄位 //圖片變押金(大) BetBackground.spriteName = "btn_moneyback_1"; BetValue.depth = BetBackground.depth - 1; } else { NowButton = ButtonStatus.Idle; BetPosition.PlayReverse(); //縮回設定欄位 BetUpSprite.depth = ButtonAreakground.depth - 1; BetDownSprite.depth = ButtonAreakground.depth - 1; BetSetUp.isEnabled = false; //關閉按鈕 BetSetDown.isEnabled = false; BetSetMax.isEnabled = false; //圖片變押金(小)+文字 BetBackground.spriteName = "btn_moneyback_2"; BetValue.depth = BetBackground.depth + 1; } }
void ClickAuto() { if (NowButton != ButtonStatus.Auto) { //如果其他按鈕有出現 進行互斥 並更新目前狀態 if (NowButton != ButtonStatus.Idle) { StatusChange(NowButton); } NowButton = ButtonStatus.Auto; //彈出設定欄位 AutoPosition.PlayForward(); if (IceAgeGameMain.Inst.GameStatus == IceAgeGameMain.Game_Status.FreeGame) { AutoUpButton.isEnabled = false; AutoDownButton.isEnabled = false; AutoInfinityButton.isEnabled = false; } else { AutoUpButton.isEnabled = true; AutoDownButton.isEnabled = true; AutoInfinityButton.isEnabled = true; } //圖片變自動(大) AutoBackground.spriteName = "btn_automatic_1"; AutoValueLabel.enabled = false; } else { NowButton = ButtonStatus.Idle; //縮回設定欄位 AutoPosition.PlayReverse(); AutoUpSprite.depth = ButtonAreakground.depth - 1; AutoDownSprite.depth = ButtonAreakground.depth - 1; AutoUpButton.isEnabled = false; AutoDownButton.isEnabled = false; AutoInfinityButton.isEnabled = false; if (AutoTimes == 0) { AutoBackground.spriteName = "btn_automatic_1"; AutoValueLabel.enabled = false; } else { //圖片變自動(小)+文字 AutoBackground.spriteName = "btn_automatic_2"; if (AutoTimes == 1000) { AutoValueLabel.enabled = false; AutoValueLabel.text = "無限"; } else { AutoValueLabel.enabled = true; AutoValueLabel.text = AutoTimes + ""; } } } }
/// <summary> /// creates a new button object with specified information. Sets button to Away status. /// </summary> /// <param name="baseImage">image of button when not hovered</param> /// <param name="hoverImage">image of button when it is hovered</param> /// <param name="x">x position of the button</param> /// <param name="y">y position of the button</param> /// <param name="width">width of the button</param> /// <param name="height">height of the button</param> public Button(Texture2D baseImage, Texture2D hoverImage, int x, int y, int width, int height) { status = ButtonStatus.Away; this.baseImage = baseImage; this.hoverImage = hoverImage; rect = new Rectangle(x, y, width, height); }
public void Update(GameTime gameTime) { MouseState state = Mouse.GetState(); if (state.X >= Position.X && state.X <= Position.X + Width && state.Y >= Position.Y && state.Y <= Position.Y + Height) { _activeColor = _highlightedColour; if (state.LeftButton == ButtonState.Pressed) { Status = ButtonStatus.Clicked; _previousStatus = Status; _activeColor = _pressedColour; } else if (_previousStatus == ButtonStatus.Clicked && state.LeftButton == ButtonState.Released) { Status = ButtonStatus.Released; _previousStatus = ButtonStatus.Clicked; _activeColor = _backgroundColour; } } else if (Status == ButtonStatus.Clicked && state.LeftButton == ButtonState.Pressed) { _activeColor = _pressedColour; } else { Status = ButtonStatus.Idle; _previousStatus = ButtonStatus.Idle; _activeColor = _backgroundColour; } }
protected virtual void OnKeyUp() { // 缩放 this.RunActions(m_scaleTo, m_scaleFunc); Status = ButtonStatus.Released; }
void ClickInfo() { if (NowButton != ButtonStatus.Info) { //如果其他按鈕有出現 進行互斥 並更新目前狀態 if (NowButton != ButtonStatus.Idle) { StatusChange(NowButton); } NowButton = ButtonStatus.Info; InfoPosition.PlayForward(); //彈出設定欄位 //開啟Collider InfoPosition.transform.GetChild(1).GetComponent <BoxCollider>().enabled = true; InfoPosition.transform.GetChild(2).GetComponent <BoxCollider>().enabled = true; InfoPosition.transform.GetChild(3).GetComponent <BoxCollider>().enabled = true; } else { NowButton = ButtonStatus.Idle; InfoPosition.PlayReverse(); //縮回設定欄位 //關閉Collider InfoPosition.transform.GetChild(1).GetComponent <BoxCollider>().enabled = false; InfoPosition.transform.GetChild(2).GetComponent <BoxCollider>().enabled = false; InfoPosition.transform.GetChild(3).GetComponent <BoxCollider>().enabled = false; } }
public override void ButtonStateChanged(IGlimDevice src, ButtonStatus btn) { if (ButtonStatus.Up == btn) { mColourMode = !mColourMode; } }
// TODO: Change Controller Reader to detect button release (and maybe hold) public void InterpretNewButtonInput(Button buttonPressed, bool isPressed) { ButtonStatus newStatus = ButtonStatus.Down; if (!isPressed) { newStatus = ButtonStatus.Release; } switch (buttonPressed) { case Button.A: nextButtons[0] = newStatus; break; case Button.B: nextButtons[1] = newStatus; break; case Button.C: nextButtons[2] = newStatus; break; case Button.D: nextButtons[3] = newStatus; break; default: throw new InvalidOperationException(buttonPressed + " is not an ABCD button!"); } newInputs = true; }
/// <summary> /// Gets the button status strategy. /// </summary> /// <param name="status">The status.</param> /// <returns></returns> private static IStatusStrategy GetStatusStrategy(ButtonStatus status) { IStatusStrategy strategy; switch (status) { case ButtonStatus.Success: strategy = new SuccessStatusStrategy(); break; case ButtonStatus.Warning: strategy = new WarningStatusStrategy(); break; case ButtonStatus.Danger: strategy = new DangerStatusStrategy(); break; case ButtonStatus.Info: strategy = new InfoStatusStrategy(); break; case ButtonStatus.Inverse: strategy = new InverseStatusStragety(); break; default: strategy = new DefaultStatusStrategy(); break; } return(strategy); }
/// <summary> /// i.e. won't detect negative edge or holds /// </summary> /// <param name="inputHistory"></param> /// <param name="motionInput"></param> /// <returns></returns> public static bool InterpretNormalAttackInput(InputHistory inputHistory, AttackMotionInput motionInput) { InputHistoryEntry entry = inputHistory.GetEntry(0); IList <ButtonStatus> buttons = entry.buttons; ButtonStatus[] reference = motionInput.buttons; for (int i = 0; i < buttons.Count; i++) { ButtonStatus currStatus = buttons[i]; if (reference[i] == ButtonStatus.Down && currStatus == ButtonStatus.Down) { // Down match } else if (reference[i] == ButtonStatus.Up) { // Up ignored } else { // mismatch! // TODO: might lead to strange behavior currently. i.e. 632AB might not give nothing instead of A DP return(false); } } return(InterpretMotionInput(inputHistory, motionInput)); }
/// <summary> /// Updates the buttons state. /// </summary> /// <param name="gameTime">The current game time.</param> public override void Update(GameTime gameTime) { // Determine if the mouse if over the button. MouseState mouseState = Mouse.GetState(); bool isMouseOver = _bounds.Contains(mouseState.X, mouseState.Y); // Set the button status if (isMouseOver) { // Check if the player releases the button. if (_previousState.LeftButton == ButtonState.Pressed) { _state = ButtonStatus.Pressed; } else { _state = ButtonStatus.MouseOver; } } else { _state = ButtonStatus.Normal; } _previousState = mouseState; }
void ModeB(TouchEvent touchEvent, PointerEventData eventData) { //Description of Mode: Pass through. If you drag out, you don desactivate it. And if you dragin into another button you can activate that button. switch (touchEvent) { //DraggIn Case case TouchEvent.PointerEnter: if (buttonStatus == ButtonStatus.Off) { activatedByDragginIn = true; buttonStatus = ButtonStatus.On; inputActionEventArgs.Activation = true; FeedbackOn(); ExecuteInputAction(inputAction, inputActionEventArgs); } break; //DraggOut Case case TouchEvent.PointerExit: if (activatedByDragginIn) { buttonStatus = ButtonStatus.Off; inputActionEventArgs.Activation = false; FeedbackOff(); ExecuteInputAction(inputAction, inputActionEventArgs); activatedByDragginIn = false; } break; //On case TouchEvent.PointerDown: buttonStatus = ButtonStatus.On; inputActionEventArgs.Activation = true; FeedbackOn(); ExecuteInputAction(inputAction, inputActionEventArgs); activatedByDragginIn = false; break; //Off case TouchEvent.PointerUp: buttonStatus = ButtonStatus.Off; inputActionEventArgs.Activation = false; FeedbackOff(); ExecuteInputAction(inputAction, inputActionEventArgs); activatedByDragginIn = false; break; default: break; } }
public override void ButtonStateChanged(IGlimDevice src, ButtonStatus btn) { GlimDescriptor d; if (src.HostName == mGlimRedGun.HostName) { d = mGlimRedGun; } else if (src.HostName == mGlimBlueGun.HostName) { d = mGlimBlueGun; } else { if (null == src.HostName) { DebugClick(); } // only responding to known descriptors return; } if (ButtonStatus.Up == btn) { if (EnableGame && d.ButtonDownTimestamp.HasValue) { int tlimit = Math.Min(100, (int)((CurrentTime - d.ButtonDownTimestamp.Value).TotalSeconds * 20)); d.StartComet(tlimit); RecalculateButtonGlimmer(d); if (mButtonUpSynchronizeTimestamp.HasValue) { // compare current time to Up sync time to see if it's game on double diffsec = (CurrentTime - mButtonUpSynchronizeTimestamp.Value).TotalSeconds; if (ButtonTimeEpsilonSeconds > diffsec && 100 == tlimit) { mGameState = GameState.SynchronizedShotsFired; //PrintLine( "mGameState -> " + mGameState.ToString() ); } else { mButtonUpSynchronizeTimestamp = null; } } else if (mGlimBlueGun.ButtonDownTimestamp.HasValue && mGlimRedGun.ButtonDownTimestamp.HasValue) { // both buttons were down.. check for epilson sync double diffsec = (mGlimRedGun.ButtonDownTimestamp.Value - mGlimBlueGun.ButtonDownTimestamp.Value).TotalSeconds; if (ButtonTimeEpsilonSeconds > Math.Abs(diffsec)) { mButtonUpSynchronizeTimestamp = CurrentTime; //PrintLine( "down push was synchronized" ); } } } d.ButtonDownTimestamp = null; } else if (!d.ButtonDownTimestamp.HasValue) { d.ButtonDownTimestamp = CurrentTime; } }
// Update is called once per frame void Update() { if (rController == null) { rController = appInfo.GetRightController(); } if (lController == null) { lController = appInfo.GetLeftController(); } rStat = appInfo.GetUnusedButtonStatus(); //lStat = appInfo.GetLeftTriggerStatus(); GameObject o1 = checkRay(rController, rStat, rLine); //GameObject o2 = checkRay(lController, lStat, lLine); List <GameObject> toBeRemoved = new List <GameObject>(); foreach (GameObject o in regColor.Keys) { //if (!o.Equals(o1) && !o.Equals(o2)) //{ // o.GetComponent<Renderer>().material.color = regColor[o]; // toBeRemoved.Add(o); //} if (!o.Equals(o1)) { o.GetComponent <Renderer>().material.color = regColor[o]; toBeRemoved.Add(o); } } foreach (GameObject o in toBeRemoved) { regColor.Remove(o); } }
/// <summary> /// 鼠标Hook回调函数 /// </summary> /// <param name="nCode"></param> /// <param name="wParam"></param> /// <param name="lParam"></param> /// <returns></returns> private int MouseHookProcedure(int nCode, IntPtr wParam, IntPtr lParam) { if (nCode >= 0 && MHookEvent != null) { MSLLHOOTSTRUCT stMSLL = (MSLLHOOTSTRUCT)Marshal.PtrToStructure(lParam, typeof(MSLLHOOTSTRUCT)); ButtonStatus btnStatus = ButtonStatus.None; if (wParam == (IntPtr)WM_LBUTTONDOWN) { btnStatus = ButtonStatus.LeftDown; } else if (wParam == (IntPtr)WM_LBUTTONUP) { btnStatus = ButtonStatus.LeftUp; } else if (wParam == (IntPtr)WM_RBUTTONDOWN) { btnStatus = ButtonStatus.RightDown; } else if (wParam == (IntPtr)WM_RBUTTONUP) { btnStatus = ButtonStatus.RightUp; } MHookEvent(this, new MHookEventArgs(btnStatus, stMSLL.pt.X, stMSLL.pt.Y)); } return(CallNextHookEx(mHook, nCode, wParam, lParam)); }
public void StatusChange(ButtonStatus NowBS) { switch (NowBS) { case ButtonStatus.Idle: if (NowButton != ButtonStatus.Idle) { StatusChange(NowButton); } NowButton = ButtonStatus.Idle; break; case ButtonStatus.Bet: ClickBet(); break; case ButtonStatus.Auto: ClickAuto(); break; case ButtonStatus.Pack: ClickPack(); break; case ButtonStatus.Info: ClickInfo(); break; } }
public void SetButtonStatus(ButtonStatus buttonStatus) { bgImage.sprite = keyValuePairs[buttonStatus].BgImage; coinImage.sprite = keyValuePairs[buttonStatus].CoinImage; GetComponent <Button>().interactable = buttonStatus == ButtonStatus.Normal ? true : false; }
// Use this for initialization void Start() { obj = GameObject.Find("Player_Pack(Clone)"); passingJudge = gameObject.GetComponent <PassingJudge>(); GameObject playerController = GameObject.Find("PlayerController"); var playerVector = playerController.GetComponent <PlayerVector>(); playerRunning = obj.GetComponent <PlayerRunning>(); player = GameObject.Find("Player_Pack(Clone)/Player"); var stageController = GameObject.Find("StageController"); stageMake = stageController.GetComponent <StageMake>(); startComplete = stageController.GetComponent <StartComplete>(); button = stageController.GetComponent <ButtonStatus>(); playerStatus = this.GetComponent <PlayerStatus>(); passingJudge.PlayerNextVector .SkipLatestValueOnSubscribe() .Delay(TimeSpan.FromSeconds(0.2f)) .Subscribe(x => StartCoroutine(CheckNextVector())); //this.ObserveEveryValueChanged(_ => passingJudge.ColliderCount) //.Where(x => x == stageMake.maxRail - 3) //.Subscribe(_ => //{ //playerStatus.playerStateSubject // .OnNext(PlayerStatus.PlayerState.Idle); //playerStatus.playerStateSubject.OnCompleted(); //} //); }
public override void OnButtonStateChanged(ButtonStatus btn) { if (ButtonStatus.Up == btn) { CometTimeStart = TimeSpan.Zero; } }
protected override void OnMouseEnter(EventArgs e) { base.OnMouseEnter(e); this._status = ButtonStatus.Hover; this.Invalidate(); //this.Update(); }
protected override void OnMouseDown(MouseEventArgs e) { base.OnMouseDown(e); this._status = ButtonStatus.Down; this.Invalidate(); //this.Update(); }
public ImageDataButtonInfo() { imageNormal = null; imagePress = null; imageType = ImageType.Null; buttonStatus = ButtonStatus.Normal; indent = 2; }
public ImageButtonInfo() { buttonType = ButtonType.ClickButton; buttonStatus = ButtonStatus.Normal; imageType = ImageType.Null; frameNormalColor = Color.Empty; framePressColor = Color.Empty; }
// Use this for initialization void Start() { buttonStatus = GameObject.Find("PlayMusicButton").GetComponent <ButtonStatus>(); Music = GetComponent <AudioSource>(); isPlaying = false; isEnd = false; }
public void ForceStop() { if (_recorder != null) { _status = ButtonStatus.Estop; _recorder.StopButtonRecordingHandler(_recordStartClick, _recordStartSlide, false); _status = ButtonStatus.Idle; } }
/// <summary> /// Create a button using a bitmap /// </summary> /// <param name="spriteBatch"></param> /// <param name="content"></param> /// <param name="displayRect"></param> /// <param name="button"></param> /// <param name="bpressed"></param> /// <param name="bmouseon"></param> public Button(Backend.IHandleEvent parent, SpriteBatch spriteBatch, ContentManager content, Rectangle displayRect, string normal, string active, string pressed, int id) : base(parent, spriteBatch, content, displayRect) { _buttonStates = new List<Texture2D>(); _buttonStates.Add(_content.Load<Texture2D>(normal)); _buttonStates.Add(_content.Load<Texture2D>(active)); _buttonStates.Add(_content.Load<Texture2D>(pressed)); _id = id; _bstat = ButtonStatus.normal; }
/// <summary> /// Initializes a new instance of the <see cref="ButtonHelper" /> class. /// </summary> /// <param name="strategy">The strategy.</param> /// <param name="text">The text.</param> /// <param name="status">The status.</param> /// <param name="htmlAttributes">The HTML attributes.</param> public ButtonHelper(HtmlHelper helper, IStatusStrategy strategy, string text, string action, string controller, ButtonStatus status, object htmlAttributes) { this.strategy = strategy; this.text = text; this.status = status; this.htmlAttributes = htmlAttributes; this.helper = helper; this.action = action; this.controller = controller; }
public override void Update(GameTime gameTime) { var mouseState = Mouse.GetState(); var mouseX = mouseState.X; var mouseY = mouseState.Y; var isMouseOver = _bounds.Contains(mouseX, mouseY); if (isMouseOver && _state != ButtonStatus.Pressed) { _state = ButtonStatus.Hover; } else if (isMouseOver == false && _state != ButtonStatus.Pressed) { _state = ButtonStatus.Normal; } if (mouseState.LeftButton == ButtonState.Pressed && _previousState.LeftButton == ButtonState.Released) { if (isMouseOver) { _state = ButtonStatus.Pressed; } } if (mouseState.LeftButton == ButtonState.Released && _previousState.LeftButton == ButtonState.Pressed) { if (isMouseOver) { // update the button state. _state = ButtonStatus.Hover; if (Clicked != null) { Clicked(this, EventArgs.Empty); } } else if (_state == ButtonStatus.Pressed) { _state = ButtonStatus.Normal; } } _previousState = mouseState; }
public void Update(float deltaTime) { if(UnityEngine.Input.GetMouseButtonDown(0)) { Status = ButtonStatus.Pressed; m_pressedLocation.x = UnityEngine.Input.mousePosition.x; m_pressedLocation.y = UnityEngine.Input.mousePosition.y; SendEvent(0); return; } else if(UnityEngine.Input.GetMouseButtonUp(0)) { Status = ButtonStatus.Released; m_releasedLocation.x = UnityEngine.Input.mousePosition.x; m_releasedLocation.y = UnityEngine.Input.mousePosition.y; SendEvent(0); return; } if(Status == ButtonStatus.Pressed) { Status = ButtonStatus.Held; HeldTime = deltaTime; m_releasedLocation.x = UnityEngine.Input.mousePosition.x; m_releasedLocation.y = UnityEngine.Input.mousePosition.y; SendEvent(0); } else if(Status == ButtonStatus.Released) { Status = ButtonStatus.None; } else if(Status == ButtonStatus.Held) { HeldTime += deltaTime; m_releasedLocation.x = UnityEngine.Input.mousePosition.x; m_releasedLocation.y = UnityEngine.Input.mousePosition.y; SendEvent(0); } }
public InShowControl(RecorderTaskPane recorder) { InitializeComponent(); // set the background transparency BackColor = Color.Magenta; TransparencyKey = Color.Magenta; _slideShowWindow = PowerPointPresentation.Current.Presentation.SlideShowWindow; _startingSlide = PowerPointPresentation.Current.Presentation.SlideShowSettings.StartingSlide; _recorder = recorder; // get slide show window var slideShowWindow = new IntPtr(_slideShowWindow.HWND); Native.RECT rec; Native.GetWindowRect(new HandleRef(new object(), slideShowWindow), out rec); Location = new Point(rec.Right - Width, rec.Bottom - Height- 65); _status = ButtonStatus.Idle; // disable undo button by default, enable only when there has something to undo undoButton.Enabled = false; }
private void RecButtonClick(object sender, EventArgs e) { if (_recorder == null) return; int click; PowerPointSlide currentSlide; try { click = _slideShowWindow.View.GetClickIndex(); currentSlide = PowerPointSlide.FromSlideFactory(_slideShowWindow.View.Slide); } catch (COMException) { MessageBox.Show(TextCollection.InShowControlInvalidRecCommandError); return; } switch (_status) { case ButtonStatus.Idle: _status = ButtonStatus.Rec; undoButton.Enabled = false; _recordStartClick = click; _recordStartSlide = currentSlide; recButton.Text = TextCollection.InShowControlRecButtonIdleText; recButton.ForeColor = Color.Red; _recorder.RecButtonIdleHandler(); _slideShowWindow.Activate(); break; case ButtonStatus.Rec: recButton.Text = TextCollection.InShowControlRecButtonRecText; undoButton.Enabled = true; recButton.ForeColor = Color.Black; _recorder.StopButtonRecordingHandler(_recordStartClick, _recordStartSlide, true); _slideShowWindow.Activate(); var totalClick = _slideShowWindow.View.GetClickCount(); if (click + 1 > totalClick) { _slideShowWindow.View.Next(); } else { _slideShowWindow.View.GotoClick(click + 1); } _status = ButtonStatus.Idle; // stop produces a undo-able record, thus enable undo button undoButton.Enabled = true; break; } }
// update method for buttons public void Update(GameTime gameTime) { if (visible) { // tracks mouse position MouseState mouseState = Mouse.GetState(); int MouseX = mouseState.X; // sets mouse x position int MouseY = mouseState.Y; // sets mouse y position bool isMouseOver = bounds.Contains(MouseX, MouseY); // check if the mouse is touching the button // update the button state if (isMouseOver && state != ButtonStatus.Pressed) { state = ButtonStatus.MouseOver; // button uses the mouseover state } // if the button state does not have a mouse over it and has not been clicked else if (!isMouseOver && state != ButtonStatus.Pressed) { state = ButtonStatus.Normal; // button uses the normal button state } // check if player holds down button if (mouseState.LeftButton == ButtonState.Pressed && previousState.LeftButton == ButtonState.Released) { if (isMouseOver) { // update the button state state = ButtonStatus.Pressed; if (OnPress != null) { // do the OnPress event OnPress(this, EventArgs.Empty); } } } // check if the player releases the button if (mouseState.LeftButton == ButtonState.Released && previousState.LeftButton == ButtonState.Pressed) { if (isMouseOver) { // update the button state state = ButtonStatus.MouseOver; if (Clicked != null) { // do the clicked event Clicked(this, EventArgs.Empty); } } // if the button has been clicked else if (state == ButtonStatus.Pressed) { state = ButtonStatus.Normal; } } previousState = mouseState; } }
public void Press() { if (BtnStatus == ButtonStatus.initial) { BtnStatus = ButtonStatus.press; this.Refresh(); } }
public void Open() { if (BtnStatus == ButtonStatus.press || BtnStatus == ButtonStatus.initial) { BtnStatus = ButtonStatus.open; this.Refresh(); } }
/// <summary> /// /// </summary> /// <param name="spriteBatch"></param> public override void Draw(GameTime gameTime) { if (!_hidden) { _spriteBatch.Begin(); if (IsHit(Mouse.GetState().X, Mouse.GetState().Y)) { if (_bstat == ButtonStatus.down) { _bstat = ButtonStatus.downon; } else if (_bstat == ButtonStatus.normal) { _bstat = ButtonStatus.mouseon; } } else { if (_bstat == ButtonStatus.downon) { _bstat = ButtonStatus.down; } else if (_bstat == ButtonStatus.mouseon) { _bstat = ButtonStatus.normal; } } if (_label != "") { Vector2 _textPos = _font.MeasureString(_label); switch (_bstat) { case ButtonStatus.down: case ButtonStatus.mouseon: case ButtonStatus.downon: _spriteBatch.Draw(_background, _displayRect, new Rectangle(39, 6, 1, 1), Color.Black); _spriteBatch.Draw(_background, new Rectangle(_displayRect.X + 1, _displayRect.Y + 1, _displayRect.Width - 2, _displayRect.Height - 2), new Rectangle(39, 6, 1, 1), _focus ? Color.Blue : Color.White); _spriteBatch.DrawString(_font, _label, new Vector2(_displayRect.Left + (_displayRect.Width - _textPos.X) / 2, _displayRect.Top + (_displayRect.Height - _textPos.Y) / 2), _focus ? Color.White: Color.Black); break; default: _spriteBatch.Draw(_background, _displayRect, new Rectangle(39, 6, 1, 1), _focus ? Color.Blue : Color.White); _spriteBatch.Draw(_background, new Rectangle(_displayRect.X + 1, _displayRect.Y + 1, _displayRect.Width - 2, _displayRect.Height - 2), new Rectangle(39, 6, 1, 1), _focus ? Color.DarkBlue : Color.Black); _spriteBatch.DrawString(_font, _label, new Vector2(_displayRect.Left + (_displayRect.Width - _textPos.X) / 2, _displayRect.Top + (_displayRect.Height - _textPos.Y) / 2), Color.White); break; } } else { switch (_bstat) { case ButtonStatus.mouseon: case ButtonStatus.down: _spriteBatch.Draw(_buttonStates[1], new Rectangle(_displayRect.X, _displayRect.Y, Math.Min(_displayRect.Width, _buttonStates[1].Width), Math.Min(_displayRect.Height, _buttonStates[1].Height)), new Rectangle(0, 0, _buttonStates[1].Width, _buttonStates[1].Height), Color.White); break; case ButtonStatus.downon: default: _spriteBatch.Draw(_buttonStates[0], new Rectangle(_displayRect.X, _displayRect.Y, Math.Min(_displayRect.Width, _buttonStates[0].Width), Math.Min(_displayRect.Height, _buttonStates[0].Height)), new Rectangle(0, 0, _buttonStates[0].Width, _buttonStates[0].Height), Color.White); break; } } _spriteBatch.End(); } }
public override void Update(GameTime gameTime) { switch (state) { case ButtonStatus.Clicked: case ButtonStatus.Up: this.Color = Color.White; bounds = new Rectangle((int)base.Position.X, (int)base.Position.Y, texture.Width, texture.Height); break; /*case ButtonStatus.Down: this.Color = Color.Red; break;*/ } if (MouseOver(Mouse.GetState())) { this.Color = Color.Green; if (Mouse.GetState().LeftButton == ButtonState.Pressed) { this.state = ButtonStatus.Down; } if (Mouse.GetState().LeftButton == ButtonState.Released && this.state == ButtonStatus.Down) { state = ButtonStatus.Clicked; // Fire up Clicked event if (Clicked != null) { Clicked(this, EventArgs.Empty); } } } else { state = ButtonStatus.Up; } base.Update(gameTime); }
public virtual void Update(GameTime gameTime) { currentState = Mouse.GetState(); bool isMouseOver = InBound(currentState.X, currentState.Y); if (isMouseOver && state != ButtonStatus.Pressing) { //Trang thai la MouseOver state = ButtonStatus.Hovering; //Neu khong phai hover if (Hovered != null) { Hovered(this, EventArgs.Empty); } } else if (isMouseOver == false && state != ButtonStatus.Pressing) { state = ButtonStatus.Normal; } //Trang thai Pressed if (currentState.LeftButton == ButtonState.Pressed) { if (isMouseOver == true) { state = ButtonStatus.Pressing; if (Pressed != null) { Pressed(this, EventArgs.Empty); } } //NTA added else { state = ButtonStatus.Normal; } } //Trang thai Clicked if (currentState.LeftButton == ButtonState.Released && previousState.LeftButton == ButtonState.Pressed) { if (isMouseOver == true) { state = ButtonStatus.Hovering; if (Clicked != null) { Clicked(this, EventArgs.Empty); } } //Neu click ra ngoai thi coi nhu ko click else if (state == ButtonStatus.Pressing) { state = ButtonStatus.Normal; } } MouseSound(); //Cap nhat mouse state previousState = currentState; }
public override void Update(GameTime gameTime) { MouseState mouseState = Mouse.GetState(); int mouseX = mouseState.X; int mouseY = mouseState.Y; bool isMouseOver = bounds.Contains(mouseX, mouseY); if (isMouseOver && state != ButtonStatus.Pressed) { state = ButtonStatus.MouseOver; } else if (isMouseOver == false && state != ButtonStatus.Pressed) { state = ButtonStatus.Normal; } if (mouseState.LeftButton == ButtonState.Pressed && previousState.LeftButton == ButtonState.Released) { if (isMouseOver == true) { state = ButtonStatus.Pressed; } } if (mouseState.LeftButton == ButtonState.Released && previousState.LeftButton == ButtonState.Pressed) { if (isMouseOver == true) { state = ButtonStatus.MouseOver; if (Clicked != null) { Clicked(this, EventArgs.Empty); } } else if (state == ButtonStatus.Pressed) { state = ButtonStatus.Normal; } } previousState = mouseState; //base.Update(gameTime); }
private void ProgressVisibl(bool zz) { if (this.progressBar1.InvokeRequired) { ButtonStatus d = new ButtonStatus(ProgressVisibl); this.Invoke(d, new object[] { zz }); } else { this.progressBar1.Visible = zz; } }
/// <summary> /// Create a button using a text label /// </summary> /// <param name="spriteBatch"></param> /// <param name="content"></param> /// <param name="displayRect"></param> /// <param name="button"></param> /// <param name="bpressed"></param> /// <param name="bmouseon"></param> public Button(Backend.IHandleEvent parent, SpriteBatch spriteBatch, ContentManager content, Rectangle displayRect, string label, int id, bool staydown = false) : base(parent, spriteBatch, content, displayRect) { _background = _content.Load<Texture2D>("Minimap"); _displayRect.Height = 32; _font = _content.Load<SpriteFont>("smallfont"); _label = label; _id = id; _bstat = ButtonStatus.normal; this.stayDown = staydown; }
public override void UpdateInput(InputState input) { if (Enabled) { //KeyboardState keyboardState = input.CurrentKeyboardStates[0]; MouseState mouseState = Mouse.GetState(); if (ContainsPos(new Vector2(mouseState.X, mouseState.Y))) { //TODO handle down etc.. if(mouseState.LeftButton.Equals(ButtonState.Pressed)){ Status = ButtonStatus.Clicked; if(Clicked != null){ //fire click event! Clicked(this, EventArgs.Empty); } }else{ Status = ButtonStatus.Hover; } }else{ Status = ButtonStatus.Idle; } } }
public void Putflag() { if (BtnStatus == ButtonStatus.initial) { BtnStatus = ButtonStatus.flag; this.Refresh(); } else if (BtnStatus == ButtonStatus.flag) { BtnStatus = ButtonStatus.initial; this.Refresh(); } }
public override void UpdateInput(InputState input) { _state = input.MouseState; if (Enabled) { if (ContainsPos(new Vector2(input.MouseState.X, input.MouseState.Y))) { if (input.MouseState.LeftButton == ButtonState.Released && Status == ButtonStatus.Down) { if (Clicked != null) { // Fire the clicked event. Clicked(this, EventArgs.Empty); } } else if (input.MouseState.LeftButton == ButtonState.Pressed) { Status = ButtonStatus.Down; } } else { Status = ButtonStatus.Up; } } }
public MineControl() { InitializeComponent(); BtnStatus = ButtonStatus.initial; mouseStatus = 0; }
// Methods public void Update() { if (this.BtnRectangle.Intersects(InputManager.Instance.MouseRectanle)) { this.ButtonState = ButtonStatus.Over; if (InputManager.Instance.MouseLeftButtonDown()) { this.ButtonState = ButtonStatus.Down; } else if (InputManager.Instance.MouseLeftButtonPressedInverted() && this.Click != null) { this.mouseClickSound.Play(); this.Click(this, new EventArgs()); } } else { this.ButtonState = ButtonStatus.Up; } }
protected virtual void OnKeyDown() { Status = ButtonStatus.Pressed; }
public MHookEventArgs(ButtonStatus btn, int cx, int cy) { this.mButton = btn; this.x = cx; this.y = cy; }
void UpdateButtonsStatus(ButtonStatus status) { switch (status) { case ButtonStatus.CanAdd: btnAdd.IsEnabled = true; btnAddAll.IsEnabled = true; break; case ButtonStatus.CanRemove: btnRemove.IsEnabled = true; btnRemoveAll.IsEnabled = true; btnGenerate.IsEnabled = true; break; case ButtonStatus.DisableAdd: btnAdd.IsEnabled = false; btnAddAll.IsEnabled = false; btnGenerate.IsEnabled = true; break; case ButtonStatus.DisableRemove: btnRemove.IsEnabled = false; btnRemoveAll.IsEnabled = false; btnGenerate.IsEnabled = false; break; case ButtonStatus.DisableAll: btnAdd.IsEnabled = false; btnAddAll.IsEnabled = false; btnRemove.IsEnabled = false; btnRemoveAll.IsEnabled = false; btnGenerate.IsEnabled = false; break; } }
public override void Update(GameTime gameTime) { MouseState mouseState = Mouse.GetState(); int mouseX = mouseState.X; int mouseY = mouseState.Y; bool isMouseOver = bounds.Contains(mouseX, mouseY); if (isMouseOver && state != ButtonStatus.Pressed) { state = ButtonStatus.MouseOver; } else if (isMouseOver == false && state != ButtonStatus.Pressed) { state = ButtonStatus.Normal; } if (mouseState.LeftButton == ButtonState.Pressed && previousState.LeftButton == ButtonState.Released) { if (isMouseOver == true) { // Update the button state. state = ButtonStatus.Pressed; } } // Check if the player releases the button. if (mouseState.LeftButton == ButtonState.Released && previousState.LeftButton == ButtonState.Pressed) { if (isMouseOver == true) { // update the button state. state = ButtonStatus.MouseOver; if (Clicked != null) { // Fire the clicked event. Clicked(this, EventArgs.Empty); } } else if (state == ButtonStatus.Pressed) { state = ButtonStatus.Normal; } } previousState = mouseState; }
public InkButtonEventArgs(ButtonType button, ButtonStatus buttonStatus, PointerPoint point, Control container) : base(point, container) { this.ButtonStatus = buttonStatus; this.Button = button; }
private void SetButtonStatus(ButtonStatus status) { txtFileLocation.IsEnabled = false; btnFileLocation.IsEnabled = false; btnImport.IsEnabled = false; btnExport.IsEnabled = false; if (status == ButtonStatus.ServerSelected || status == ButtonStatus.FileSelected) { txtFileLocation.IsEnabled = true; btnFileLocation.IsEnabled = true; } if (status == ButtonStatus.EmptyFileSelected) { btnExport.IsEnabled = true; } if (status == ButtonStatus.FileSelected) { btnExport.IsEnabled = true; btnImport.IsEnabled = true; } }
public GfxTabletButtonPacket(InkButtonEventArgs args) : base(args) { this.type = EventType.Button; this.button = args.Button; this.status = args.ButtonStatus; }