MenuState.java 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. package model.gameState;
  2. import java.awt.Color;
  3. import java.awt.Graphics2D;
  4. import java.util.ArrayList;
  5. import model.objects.MenuButton;
  6. import control.GameStateManager;
  7. import control.button.Button;
  8. import control.button.ButtonEvent;
  9. import control.joystick.Joystick;
  10. import control.joystick.JoystickEvent;
  11. public class MenuState extends GameState {
  12. private ArrayList<MenuButton> buttons;
  13. private int selected;
  14. public MenuState(GameStateManager gsm) {
  15. super(gsm);
  16. buttons = new ArrayList<MenuButton>();
  17. buttons.add(new MenuButton(330,50,1.7,"Genre", 0, Color.green));
  18. buttons.add(new MenuButton(330, 150, 1.7, "Most played", 10, new Color(0,0,255)));
  19. buttons.add(new MenuButton(330, 250, 1.7, "Best played", 20, Color.red));
  20. buttons.add(new MenuButton(330, 350, 1.7, "Last played", 30, Color.yellow));
  21. }
  22. @Override
  23. public void init() {
  24. }
  25. @Override
  26. public void update() {
  27. for(MenuButton b:buttons){
  28. b.update();
  29. }
  30. }
  31. @Override
  32. public void draw(Graphics2D g2) {
  33. for(MenuButton b:buttons){
  34. b.draw(g2);
  35. }
  36. }
  37. @Override
  38. public void buttonPressed(ButtonEvent e) {
  39. }
  40. @Override
  41. public void buttonReleased(ButtonEvent e) {
  42. }
  43. @Override
  44. public void onJoystickMoved(JoystickEvent e) {
  45. if(e.getJoystick().getPos() == Joystick.Position.DOWN){
  46. selected++;
  47. selected %= buttons.size();
  48. for(int i = 0; i < buttons.size(); i++){
  49. if(selected == i){
  50. buttons.get(i).setSelected(true);
  51. }else{
  52. buttons.get(i).setSelected(false);
  53. }
  54. }
  55. }else if(e.getJoystick().getPos() == Joystick.Position.UP){
  56. selected--;
  57. if(selected < 0) selected = buttons.size()-1;
  58. for(int i = 0; i < buttons.size(); i++){
  59. if(selected == i){
  60. buttons.get(i).setSelected(true);
  61. }else{
  62. buttons.get(i).setSelected(false);
  63. }
  64. }
  65. }
  66. }
  67. }