Esempio n. 1
0
        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");
        }
Esempio n. 2
0
        protected override void OnEnabledChanged(EventArgs e)
        {
            base.OnEnabledChanged(e);

            status = Enabled ? ButtonStatus.Normal : ButtonStatus.Disabled;
            OnStatusChange(EventArgs.Empty);
        }
Esempio n. 3
0
 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;
     }
 }
Esempio n. 4
0
        protected override void OnMouseUp(MouseEventArgs e)
        {
            base.OnMouseUp(e);

            status = ButtonStatus.Focused;
            OnStatusChange(EventArgs.Empty);
        }
Esempio n. 5
0
        protected override void OnGotFocus(EventArgs e)
        {
            base.OnGotFocus(e);

            status = ButtonStatus.Focused;
            NotifyDefault(true);
        }
Esempio n. 6
0
 /// <summary>
 /// 将分组内所有按钮的状态置为指定状态
 /// </summary>
 /// <param name="status"></param>
 public void ResetAllButtonStatus(ButtonStatus status)
 {
     foreach (string buttonName in _buttonDict.Keys)
     {
         _buttonDict[buttonName].Status = status;
     }
 }
Esempio n. 7
0
 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;
     }
 }
Esempio n. 8
0
 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 + "";
             }
         }
     }
 }
Esempio n. 9
0
 /// <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);
 }
Esempio n. 10
0
        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;
            }
        }
Esempio n. 11
0
        protected virtual void OnKeyUp()
        {
            // 缩放
            this.RunActions(m_scaleTo, m_scaleFunc);

            Status = ButtonStatus.Released;
        }
Esempio n. 12
0
 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;
     }
 }
Esempio n. 13
0
 public override void ButtonStateChanged(IGlimDevice src, ButtonStatus btn)
 {
     if (ButtonStatus.Up == btn)
     {
         mColourMode = !mColourMode;
     }
 }
Esempio n. 14
0
        // 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);
        }
Esempio n. 16
0
        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;
            }
        }
Esempio n. 17
0
        /// <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));
        }
Esempio n. 18
0
        /// <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;
        }
Esempio n. 19
0
    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;
        }
    }
Esempio n. 20
0
        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;
            }
        }
Esempio n. 21
0
    // 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);
        }
    }
Esempio n. 22
0
 /// <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));
 }
Esempio n. 23
0
    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;
        }
    }
Esempio n. 24
0
        public void SetButtonStatus(ButtonStatus buttonStatus)
        {
            bgImage.sprite   = keyValuePairs[buttonStatus].BgImage;
            coinImage.sprite = keyValuePairs[buttonStatus].CoinImage;

            GetComponent <Button>().interactable = buttonStatus == ButtonStatus.Normal ? true : false;
        }
Esempio n. 25
0
    // 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();
        //}
        //);
    }
Esempio n. 26
0
 public override void OnButtonStateChanged(ButtonStatus btn)
 {
     if (ButtonStatus.Up == btn)
     {
         CometTimeStart = TimeSpan.Zero;
     }
 }
Esempio n. 27
0
        protected override void  OnMouseEnter(EventArgs e)
        {
            base.OnMouseEnter(e);

            this._status = ButtonStatus.Hover;
            this.Invalidate();
            //this.Update();
        }
Esempio n. 28
0
        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;
 }
Esempio n. 31
0
    // Use this for initialization
    void Start()
    {
        buttonStatus = GameObject.Find("PlayMusicButton").GetComponent <ButtonStatus>();
        Music        = GetComponent <AudioSource>();

        isPlaying = false;
        isEnd     = false;
    }
Esempio n. 32
0
 public void ForceStop()
 {
     if (_recorder != null)
     {
         _status = ButtonStatus.Estop;
         _recorder.StopButtonRecordingHandler(_recordStartClick, _recordStartSlide, false);
         _status = ButtonStatus.Idle;
     }
 }
Esempio n. 33
0
 /// <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;
 }
Esempio n. 35
0
        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;
        }
Esempio n. 36
0
        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);
            }
        }
Esempio n. 37
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;
        }
Esempio n. 38
0
        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;
            }
        }
Esempio n. 39
0
        // 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;
            }
        }
Esempio n. 40
0
 public void Press()
 {
     if (BtnStatus == ButtonStatus.initial)
     {
         BtnStatus = ButtonStatus.press;
         this.Refresh();
     }
 }
Esempio n. 41
0
 public void Open()
 {
     if (BtnStatus == ButtonStatus.press || BtnStatus == ButtonStatus.initial)
     {
         BtnStatus = ButtonStatus.open;
         this.Refresh();
     }
 }
Esempio n. 42
0
        /// <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();
            }
        }
Esempio n. 43
0
 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;
        }
Esempio n. 45
0
        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);
        }
Esempio n. 46
0
 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;
     }
 }
Esempio n. 47
0
 /// <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;
 }
Esempio n. 48
0
        protected virtual void OnKeyUp()
        {
            // 缩放
            this.RunActions(m_scaleTo, m_scaleFunc);

            Status = ButtonStatus.Released;
        }
Esempio n. 49
0
        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;

                    }

             }
        }
Esempio n. 50
0
 public void Putflag()
 {
     if (BtnStatus == ButtonStatus.initial)
     {
         BtnStatus = ButtonStatus.flag;
         this.Refresh();
     }
     else if (BtnStatus == ButtonStatus.flag)
     {
         BtnStatus = ButtonStatus.initial;
         this.Refresh();
     }
 }
Esempio n. 51
0
        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;
                }
            }
        }
Esempio n. 52
0
 public MineControl()
 {
     InitializeComponent();
     BtnStatus = ButtonStatus.initial;
     mouseStatus = 0;
 }
Esempio n. 53
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;
     }
 }
Esempio n. 54
0
 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;
     }
 }
Esempio n. 57
0
        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;
        }
Esempio n. 58
0
 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;
            }
        }
Esempio n. 60
0
 public GfxTabletButtonPacket(InkButtonEventArgs args) : base(args) {
     this.type = EventType.Button;
     this.button = args.Button;
     this.status = args.ButtonStatus;
 }