AfterScoreMenu.java 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package pathgame.gameplay.menu;
  2. import pathgame.gameplay.Gamestates;
  3. /**
  4. * A container for holding all options of the AfterScoreMenu
  5. *
  6. * @author julia
  7. */
  8. public class AfterScoreMenu extends BaseMenu
  9. {
  10. private final MenuButton[] options;
  11. /**
  12. * Contructor generating and initializing the AfterScoreMenu
  13. *
  14. * @param id the id of the AfterScoreMenu
  15. * @param mainId the id to the MainMenu
  16. */
  17. public AfterScoreMenu(int id, int mainId)
  18. {
  19. super(id);
  20. options = new MenuButton[]
  21. {
  22. new MenuButton("Next Level", (gamestate, level) ->
  23. {
  24. level.nextLevel();
  25. level.getPlayer().setAbilities(level.getPlayer().getAbilities());
  26. gamestate.setState(Gamestates.GAMEPLAY);
  27. level.setShowAfterScore(false);
  28. }),
  29. new MenuButton("Retry", (gamestate, level) ->
  30. {
  31. level.reset();
  32. level.getPlayer().setAbilities(level.getPlayer().getAbilities());
  33. gamestate.setState(Gamestates.GAMEPLAY);
  34. level.setShowAfterScore(false);
  35. }),
  36. new MenuButton("Main Menu", (gamestate, level) ->
  37. {
  38. level.setShowAfterScore(false);
  39. setReturnId(mainId);
  40. }),
  41. };
  42. }
  43. /**
  44. * Returns the options of the AfterScoreMenu
  45. *
  46. * @return the options of the AfterScoreMenu
  47. */
  48. @Override
  49. public MenuButton[] getOptions()
  50. {
  51. return options;
  52. }
  53. }