CharacterMenu.java 949 B

123456789101112131415161718192021222324252627282930
  1. package pathgame.gameplay.menu;
  2. import pathgame.gameplay.Gamestates;
  3. import pathgame.gameplay.PlayerAbilities;
  4. public class CharacterMenu extends BaseMenu {
  5. private final MenuButton[] options;
  6. public CharacterMenu(int id, int mainId) {
  7. super(id);
  8. options = new MenuButton[PlayerAbilities.ABILITIES.length + 1];
  9. for(int i = 0; i < options.length - 1; ++i) {
  10. options[i] = getAbilityOption(PlayerAbilities.ABILITIES[i]);
  11. }
  12. options[options.length - 1] = new MenuButton("Back", (gamestate) -> setReturnId(mainId));
  13. }
  14. private static MenuButton getAbilityOption(PlayerAbilities pa) {
  15. return new MenuButton(pa.getName(), (gamestate, level) -> {
  16. level.reset();
  17. level.getPlayer().setAbilities(pa);
  18. gamestate.setState(Gamestates.GAMEPLAY);
  19. });
  20. }
  21. @Override
  22. public MenuButton[] getOptions() {
  23. return options;
  24. }
  25. }