Example #1
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.Hover;
            }
            else if (!isMouseOver && 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)
                {
                    state = buttonstatus.Hover;

                    if (clicked != null)
                    {
                        clicked(this, EventArgs.Empty);
                    }
                }
                else if (state == buttonstatus.Pressed)
                {
                    state = buttonstatus.Normal;
                }
            }

            previousState = mousestate;

            base.Update(gameTime);
        }
Example #2
0
 //motion add
 public void AddMotion(buttonstatus motionname)
 {
     playerMotion.Add(motionname);
 }