package scene2d;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Preferences;
/** The Configuration/Settings for the Game
* <p>
* The Config class contains all the necessary options for all different platforms into one class.
* Here you can save all the data of the game that is required to be persistent.<br>
* @author pyros2097 */
public final class Config {
static final String MUSIC = "music";
static final String SOUND = "sound";
static final String VOLUME_MUSIC = "volumeMusic";
static final String VOLUME_SOUND = "volumeSOUND";
static final String VIBRATION = "vibration";
static final String BATTLE_ANIMATION = "battleanimation";
static final String SEMI_AUTOMATIC = "semiautomatic";
static final String FIRST_LAUNCH = "firstLaunch";
static final String LEVELS = "levels";
static final String CURRENT_LEVEL = "currentlevel";
static final String SAVEDATA= "savedata";
static final String TOTAL_TIME= "totaltime";
static final String PANSPEED = "panspeed";
static final String DRAGSPEED = "dragspeed";
static final String KEYBOARD = "keyboard";
static final String SCORE = "score";
public static Preferences prefs;
public static boolean isMusic;
public static boolean isSound;
public static float volMusic;
public static float volSound;
public static boolean useKeyboard;
public static float speedPan;
public static float speedDrag;
private static int score;
static void setup(){
prefs = Gdx.app.getPreferences(Scene.configJson.getString("title"));
isMusic = prefs.getBoolean(MUSIC, true);
isSound = prefs.getBoolean(SOUND, true);
volMusic = prefs.getFloat(VOLUME_MUSIC, 1f);
volSound = prefs.getFloat(VOLUME_SOUND, 1f);
useKeyboard = prefs.getBoolean(KEYBOARD, true);
speedPan = prefs.getFloat(PANSPEED, 5f);
speedDrag = prefs.getFloat(DRAGSPEED, 5f);
score = prefs.getInteger(SCORE, 0);
}
public static String readSaveData(){
return prefs.getString(SAVEDATA, "nodata");
}
public static void writeSaveData(String ue){
prefs.putString(SAVEDATA, ue);
prefs.flush();
}
public static float readTotalTime(){
return prefs.getFloat(TOTAL_TIME, 0.0f);
}
public static void writeTotalTime(float secondstime){
float curr = readTotalTime();
prefs.putFloat(TOTAL_TIME, secondstime+curr);
prefs.flush();
}
static String addZero(int value){
String str = "";
if(value < 10)
str = "0" + value;
else
str = "" + value;
return str;
}
public static int levels(){
return prefs.getInteger(LEVELS, 20);
}
public static void setLevels(int ue){
prefs.putInteger(LEVELS, ue);
prefs.flush();
}
public static int currentLevel(){
return prefs.getInteger(CURRENT_LEVEL, 0);
}
public static void setCurrentLevel(int ue){
prefs.putInteger(CURRENT_LEVEL, ue);
prefs.flush();
}
public static boolean isBattleEnabled(){
return prefs.getBoolean(BATTLE_ANIMATION, true);
}
public static void setBattle(boolean ue){
prefs.putBoolean(BATTLE_ANIMATION, ue);
prefs.flush();
}
public static boolean isSemiAutomatic(){
return prefs.getBoolean(SEMI_AUTOMATIC, false);
}
public static void setSemiAutomatic(boolean ue){
prefs.putBoolean(SEMI_AUTOMATIC, ue);
prefs.flush();
}
public static void setPanSpeed(float ue){
prefs.putFloat(PANSPEED, ue);
prefs.flush();
speedPan = ue;
}
public static void setDragSpeed(float ue){
prefs.putFloat(VOLUME_SOUND, ue);
prefs.flush();
speedDrag = ue;
}
public static void setKeyboard(boolean ue){
prefs.putBoolean(KEYBOARD, ue);
prefs.flush();
useKeyboard = ue;
}
public static void setSound(boolean ue){
prefs.putBoolean(SOUND, ue);
prefs.flush();
isSound = ue ;
}
public static void setMusic(boolean ue){
prefs.putBoolean(MUSIC, ue);
prefs.flush();
isMusic = ue;
}
public static void setMusicVolume(float ue){
prefs.putFloat(VOLUME_MUSIC, ue);
prefs.flush();
volMusic = ue;
Asset.musicVolume();
}
public static void setSoundVolume(float ue){
prefs.putFloat(VOLUME_SOUND, ue);
prefs.flush();
volSound = ue;
}
public static void setScore(int value){
prefs.putInteger(SCORE, value);
prefs.flush();
score = value;
}
public static int getScore(){
return score;
}
public static void setVibration(boolean ue){
prefs.putBoolean(VIBRATION, ue);
prefs.flush();
}
public static boolean getVibration(){
return prefs.getBoolean(VIBRATION, true);
}
public static void setFirstLaunchDone(){
prefs.putBoolean(FIRST_LAUNCH, false);
prefs.flush();
}
public static boolean isFirstLaunch(){
return prefs.getBoolean(FIRST_LAUNCH, true);
}
}