diff --git a/ShootingStars/src/org/wyrez/shootingstars/game/GameSettings.java b/ShootingStars/src/org/wyrez/shootingstars/game/GameSettings.java index e3de14f..4d131a7 100644 --- a/ShootingStars/src/org/wyrez/shootingstars/game/GameSettings.java +++ b/ShootingStars/src/org/wyrez/shootingstars/game/GameSettings.java @@ -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; + } } diff --git a/ShootingStars/src/org/wyrez/shootingstars/gui/FileMetaInfoGUI.java b/ShootingStars/src/org/wyrez/shootingstars/gui/FileMetaInfoGUI.java index 5803727..87b066f 100644 --- a/ShootingStars/src/org/wyrez/shootingstars/gui/FileMetaInfoGUI.java +++ b/ShootingStars/src/org/wyrez/shootingstars/gui/FileMetaInfoGUI.java @@ -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) { } diff --git a/ShootingStars/src/org/wyrez/shootingstars/states/GameState.java b/ShootingStars/src/org/wyrez/shootingstars/states/GameState.java index 04d1057..b7edbe0 100644 --- a/ShootingStars/src/org/wyrez/shootingstars/states/GameState.java +++ b/ShootingStars/src/org/wyrez/shootingstars/states/GameState.java @@ -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); }