public override void Update(double delta, SquashGame game) { // TODO: use this only once, when entering main menu game.ShowCursor(); int mouse_x = game.mouseState.X; int mouse_y = game.mouseState.Y; if (start_rect.Contains(mouse_x, mouse_y)) { hover = 1; } else if (diff_rect.Contains(mouse_x, mouse_y)) { hover = 2; } else if (quit_rect.Contains(mouse_x, mouse_y)) { hover = 3; } else { hover = 0; } // mouse clicking if (game.mouseState.LeftButton == ButtonState.Pressed) { mouseClick = true; } else if (mouseClick == true) { mouseClick = false; // Left mouse button click detected: switch (hover) { case 1: game.ShowGameMode(); break; case 2: // it is possible to cast enum into int! int current_diff = (int)difficulty; if (mouse_x < diff_rect.Center.X && current_diff > 0) { difficulty = (Difficulty)(current_diff - 1); } else if (mouse_x > diff_rect.Center.X && current_diff < 2) { difficulty = (Difficulty)(current_diff + 1); } break; case 3: game.Exit(); break; default: // whoops break; } } }