fill highscore at the end from the game, extend gamesettings

This commit is contained in:
TheCodeBoat 2013-06-27 13:54:21 +02:00
parent 4f50eda9ea
commit d37263b4bf
3 changed files with 32 additions and 1 deletions

View File

@ -33,6 +33,8 @@ public class GameSettings {
private String audioFile;
private String videoFile;
private boolean useVideo;
private String trackTitle;
private String trackArtist;
public GameSettings() {
}
@ -47,6 +49,14 @@ public class GameSettings {
this.useVideo = true;
}
public void setTrackTitle(String trackTitle) {
this.trackTitle = trackTitle;
}
public void setTrackArtist(String trackArtist) {
this.trackArtist = trackArtist;
}
public String getAudioFile() {
return audioFile;
}
@ -78,4 +88,12 @@ public class GameSettings {
public Image.Format GetTextureFormat() {
return TEXTURE_FORMAT;
}
public String getTrackArtist() {
return trackArtist;
}
public String getTrackTitle() {
return trackTitle;
}
}

View File

@ -149,8 +149,10 @@ public class FileMetaInfoGUI extends Panel implements Gui {
if (tag != null) {
if (tag.hasField(FieldKey.TITLE)) {
title = tag.getFirst(FieldKey.TITLE);
settings.setTrackTitle(title);
}
artist = tag.getFirst(FieldKey.ARTIST);
settings.setTrackArtist(artist);
}
} catch (Exception ex) {
}

View File

@ -37,6 +37,7 @@ import org.wyrez.shootingstars.game.Player;
import org.wyrez.shootingstars.game.StarManager;
import org.wyrez.shootingstars.gui.GameGUI;
import org.wyrez.shootingstars.gui.listener.GameListener;
import org.wyrez.shootingstars.gui.manager.HighscoreManager;
import org.wyrez.shootingstars.helper.ScreenHelper;
import org.wyrez.shootingstars.helper.UserDataKeys;
import org.wyrez.shootingstars.states.util.OptionSettings;
@ -72,13 +73,14 @@ public class GameState extends AbstractAppState implements GameListener, ActionL
private Node player;
private Node starNode;
private OptionSettings optionSettings;
private HighscoreManager highscoreManager;
private boolean isRunning = false;
private boolean isFinished = false;
public GameState(Node rootNode, Screen screen, StateManager stateManager,
AssetManager assetManager, ViewPort viewPort, OptionSettings optionSettings,
InputManager inputManager, Camera camera, AudioDataManager audioDataManager,
GameSettings settings, ScreenHelper screenHelper) {
GameSettings settings, ScreenHelper screenHelper, HighscoreManager highscoreManager) {
this.rootNode = rootNode;
this.gui = new GameGUI(screen, this, assetManager, screenHelper);
@ -91,6 +93,7 @@ public class GameState extends AbstractAppState implements GameListener, ActionL
this.assetManager = assetManager;
this.viewPort = viewPort;
this.optionSettings = optionSettings;
this.highscoreManager = highscoreManager;
mediaPlayerFactory = new MediaPlayerFactory("--no-video-title-show", "--quiet");
@ -234,6 +237,14 @@ public class GameState extends AbstractAppState implements GameListener, ActionL
}
public void finished() {
String songName = settings.getTrackArtist() + " - " + settings.getTrackTitle();
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);
}