1 package de.jos.game.actions.cleanup;
2
3 import de.jos.game.actions.ActionScrollInOut;
4 import de.jos.game.logic.AbstractGameBoard;
5 import de.jos.game.logic.InfiniteGameLogic;
6
7 public class CleanupActionScore extends AbstractCleanupAction {
8
9 private int scoreToAdd = 0;
10
11 public CleanupActionScore(AbstractGameBoard board, int score) {
12 super(board);
13 setResourceContainer(board.getResourceContainer());
14 scoreToAdd = score;
15 }
16
17 public void cleanup() {
18 getGameBoard().getActionContainer().getActionStatistics().updateScore(scoreToAdd);
19
20 int newScore = getGameBoard().getActionContainer().getActionStatistics().getScore();
21 if (newScore >= getGameBoard().getLevel().getLevelAdvanceScore().intValue()) {
22 ActionScrollInOut actionScroll = new ActionScrollInOut();
23 actionScroll.setResourceContainer(getGameBoard().getResourceContainer());
24 actionScroll.setText1(getString("text.scroller.levelAdvancement", "!"));
25 actionScroll.setText2(getString("text.scroller.newCombinations", ": " + 1));
26 actionScroll.setNextLevelNewColor(getGameBoard().getLevel().getNextLevelNewColor());
27 actionScroll.init();
28
29 CleanupActionLevelAdvancement cleanupLevelAdvancement = new CleanupActionLevelAdvancement(getGameBoard(),
30 (InfiniteGameLogic) getGameBoard().getGameLogic());
31 cleanupLevelAdvancement.setResourceContainer(getResourceContainer());
32 actionScroll.setCleanupAction(cleanupLevelAdvancement);
33
34 getNewSpecialEventList().add(actionScroll);
35 }
36 }
37
38 }