public void Draw(CustomSpriteBatch g) { if (ButtonState == ButtonStates.Idle) { GameScreen.DrawBox(g, new Vector2(ButtonCollsionBox.X, ButtonCollsionBox.Y), ButtonCollsionBox.Width, ButtonCollsionBox.Height, Color.White); } else if (ButtonState == ButtonStates.Disabled) { GameScreen.DrawBox(g, new Vector2(ButtonCollsionBox.X, ButtonCollsionBox.Y), ButtonCollsionBox.Width, ButtonCollsionBox.Height, Color.Black); } else if (ButtonState == ButtonStates.Open) { GameScreen.DrawBox(g, new Vector2(ButtonCollsionBox.X, ButtonCollsionBox.Y), ButtonCollsionBox.Width, ButtonCollsionBox.Height, Color.Black); GameScreen.DrawBox(g, new Vector2(ButtonCollsionBox.X, ButtonCollsionBox.Y + ButtonCollsionBox.Height), ButtonCollsionBox.Width, ButtonCollsionBox.Height * Choices.Length, Color.White); for (int C = 0; C < Choices.Length; ++C) { g.DrawStringVerticallyAligned(fntText, Choices[C], new Vector2(ButtonCollsionBox.X + 5, ButtonCollsionBox.Y + ButtonCollsionBox.Height / 2 + ButtonCollsionBox.Height + ButtonCollsionBox.Height * C), Color.White); if (MouseHelper.MouseStateCurrent.X >= ButtonCollsionBox.X && MouseHelper.MouseStateCurrent.X <= ButtonCollsionBox.X + ButtonCollsionBox.Width && MouseHelper.MouseStateCurrent.Y >= ButtonCollsionBox.Y + ButtonCollsionBox.Height + ButtonCollsionBox.Height * C && MouseHelper.MouseStateCurrent.Y < ButtonCollsionBox.Y + ButtonCollsionBox.Height + ButtonCollsionBox.Height * (C + 1)) { g.Draw(GameScreen.sprPixel, new Rectangle(ButtonCollsionBox.X + 4, ButtonCollsionBox.Y + 4 + ButtonCollsionBox.Height + ButtonCollsionBox.Height * C, ButtonCollsionBox.Width - 8, ButtonCollsionBox.Height - 8), Color.FromNonPremultiplied(255, 255, 255, 127)); } } } else if (ButtonState == ButtonStates.Hover) { GameScreen.DrawBox(g, new Vector2(ButtonCollsionBox.X, ButtonCollsionBox.Y), ButtonCollsionBox.Width, ButtonCollsionBox.Height, Color.Gray); } g.DrawStringVerticallyAligned(fntText, SelectedItem, new Vector2(ButtonCollsionBox.X + 5, ButtonCollsionBox.Y + ButtonCollsionBox.Height / 2), Color.White); }