package com.digitalwolf.gamedata;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Preferences;
public class GameData {
/*
This class contains static methods needed to save the various game states like Top 5 Scores, Sound and Timer Mode Settings
*/
public static int NUMBER_OF_LEVELS =16;
private static int[] highscores = new int[] { 500, 100, 50, 20, 10 };
public static boolean[] levelUnLocked = new boolean[]
{
true, true, false,false,false,false,false,false,false,
false, false,false,false,false,false,false,false
};
public static int[] starsEarned = new int[]
{
0, 0, 0,0,0,0,0,0,0,
0, 0,0,0,0,0,0,0
};
private static final String PREFS_FILE_NAME = "chroniclesofpumma2";
public static Preferences prefs;
public static void createPrefs(){
prefs = Gdx.app.getPreferences(PREFS_FILE_NAME);
}
public static void savePefs(){
for(int i = 0; i < 5; i++) {
prefs.putInteger("highscores"+i, highscores[i]);
}
prefs.flush();
}
//THIS METHOD SAVES THE TOP 5 HIGHSCORES IN THE ARRAY highscores[i] UNDER THE KEY highscores1 .. 5
public static int[] getHighScores(){
for(int i = 0; i < 5; i++) {
highscores[i] = prefs.getInteger("highscores"+i);
}
prefs.flush();
return highscores;
}
//THIS METHOD SAVES THE TOP 5 HIGHSCORES IN THE ARRAY highscores[i] UNDER THE KEY highscores1 .. 5
public static void saveLevelInfo(){
for(int i = 1; i <= NUMBER_OF_LEVELS ; i++) {
prefs.putBoolean("level"+i, levelUnLocked[i]);
}
prefs.flush();
}
public static boolean[] getLevelInfo(){
for(int i = 1; i <= NUMBER_OF_LEVELS; i++) {
levelUnLocked[i] = prefs.getBoolean("level"+i);
}
prefs.flush();
return levelUnLocked;
}
// THIS METHOD TAKES THE CURRENT SCORE IF THIS IS GREATER THAN THE PREVIOUS ACHIEVEMENTS AND SAVE IT TO THE
//STATIC ARRAY OF highcores[i] IN DECREASING ORDER
public static void addScore(int score) {
for(int i=0; i < 5; i++) {
if(highscores[i] < score) {
for(int j= 4; j > i; j--)
highscores[j] = highscores[j-1];
highscores[i] = score;
break;
}
}
prefs.flush();
}
public static void addToUnLockedLevel(int levelID) {
prefs.putBoolean("level"+levelID, true);
prefs.flush();
}
public static void addStarsToLevel(int levelID, int stars) {
prefs.putInteger("starsEarned"+levelID, stars);
prefs.flush();
}
public static void setSoundEnabled(boolean soundOn){
prefs.putBoolean("soundEnabled", soundOn);
prefs.flush();
}
public static int[] getStarsEarned(){
for(int i = 1; i <= NUMBER_OF_LEVELS; i++) {
starsEarned[i] = prefs.getInteger("starsEarned"+i, 0);
}
prefs.flush();
return starsEarned;
}
public static boolean getSoundEnabled() {
// TODO Auto-generated method stub
return prefs.getBoolean("soundEnabled",true);
}
public static void saveStarsEarnedInfo() {
// TODO Auto-generated method stub
for(int i = 1; i <= NUMBER_OF_LEVELS ; i++) {
prefs.putInteger("starsEarned"+i, starsEarned[i]);
}
prefs.flush();
}
}