예제 #1
0
파일: Button.cs 프로젝트: lunacys/lunge
        public override void Draw(SpriteBatch spriteBatch)
        {
            if (TextureAtlas == null)
            {
                switch (State)
                {
                case ButtonState.None:
                    spriteBatch.FillRectangle(BoundingRect, Color.Red);
                    break;

                case ButtonState.Hovered:
                    spriteBatch.FillRectangle(BoundingRect, Color.Green);
                    break;

                case ButtonState.Pressed:
                    spriteBatch.FillRectangle(BoundingRect, Color.Blue);
                    break;

                case ButtonState.Clicking:
                    spriteBatch.FillRectangle(BoundingRect, Color.Wheat);
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }
            }
            else
            {
                DrawAtlas(spriteBatch);
            }

            if (!string.IsNullOrEmpty(Text) && Font != null)
            {
                spriteBatch.DrawString(Font, Text, BoundingRect.ToRectangle(), Color.Black, TextAlignment.Center);
            }

            base.Draw(spriteBatch);
        }