refactor fill highscore to db

This commit is contained in:
TheCodeBoat 2013-06-27 14:30:05 +02:00
parent 70176633fa
commit 6237be844f
2 changed files with 7 additions and 11 deletions

View File

@ -23,8 +23,10 @@ package org.wyrez.shootingstars.gui.manager;
import java.sql.Connection; import java.sql.Connection;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.util.*; import java.util.*;
import org.wyrez.shootingstars.game.GameSettings;
import org.wyrez.shootingstars.gui.model.Score; import org.wyrez.shootingstars.gui.model.Score;
import org.wyrez.shootingstars.io.SQLiteConnector; import org.wyrez.shootingstars.io.SQLiteConnector;
import org.wyrez.shootingstars.states.util.OptionSettings;
public class HighscoreManager { public class HighscoreManager {
@ -50,9 +52,10 @@ public class HighscoreManager {
Collections.sort(scores, scoreComparator); Collections.sort(scores, scoreComparator);
} }
public void addScore(String songName, String name, int score) { public void addScore(GameSettings gameSettings, OptionSettings optionSettings, int score) {
scores.add(new Score(songName, name, score)); String songName = gameSettings.getTrackArtist() + " ~ " + gameSettings.getTrackTitle();
updateScoreFile(name, score, songName); scores.add(new Score(songName, optionSettings.getUsername(), score));
updateScoreFile(optionSettings.getUsername(), score, songName);
} }
private void loadScoreFile() { private void loadScoreFile() {

View File

@ -237,14 +237,7 @@ public class GameState extends AbstractAppState implements GameListener, ActionL
} }
public void finished() { public void finished() {
String songName = settings.getTrackArtist() + " ~ " + settings.getTrackTitle(); highscoreManager.addScore(settings, optionSettings, Integer.valueOf(player.getUserData(UserDataKeys.POINTS).toString()));
if(settings.useVideo()) {
highscoreManager.addScore(songName, optionSettings.getUsername(), Integer.valueOf(player.getUserData(UserDataKeys.POINTS).toString()));
} else {
highscoreManager.addScore(songName, optionSettings.getUsername(), Integer.valueOf(player.getUserData(UserDataKeys.POINTS).toString()));
}
stateManager.setState(State.HIGHSCORE); stateManager.setState(State.HIGHSCORE);
} }