void Awake() { audioSource = GetComponent <AudioSource>(); bool On = (PlayerPrefsBool.HasBoolKey("Music"))?PlayerPrefsBool.GetBool("Music"):true; float v = (On)?1f:0f; SetVolume(v); }
/// <summary> /// sets whether or not the level has been won /// </summary> /// <param name="LevelNum">Level number.</param> /// <param name="Won">If set to <c>true</c> won.</param> public static void setWon(int LevelNum, bool Won) { string PPLevelKey = getPPLevelKey(LevelNum); if (PlayerPrefsBool.HasBoolKey(PPLevelKey + "isWon")) { PlayerPrefsBool.SetBool(PPLevelKey + "isWon", Won); } else { PlayerPrefsBool.SetBool(PPLevelKey + "isWon", false); } }
/// <summary> /// Animates the stars. /// </summary> /// <param name="LevelNum">Level number.</param> /// <param name="animate">If set to <c>true</c> animate.</param> public static void AnimateStars(int LevelNum, bool animate = true) { string PPLevelKey = getPPLevelKey(LevelNum); if (PlayerPrefsBool.HasBoolKey(PPLevelKey + "animateStars")) { PlayerPrefsBool.SetBool(PPLevelKey + "animateStars", animate); } else { Debug.LogWarning("Level doesn't Exists"); } }
//Used to Unlock all the Levels public static void UnlockAllLevels() { int LN = 1; string PPLevelKey = getPPLevelKey(LN); while (PlayerPrefsBool.HasBoolKey(PPLevelKey + "isLocked")) { Unlock(LN); LN++; PPLevelKey = getPPLevelKey(LN); } }
/// <summary> /// Whether the star animation will be played /// </summary> /// <returns><c>true</c>, if animate stars was gotten, <c>false</c> otherwise.</returns> /// <param name="LevelNum">Level number.</param> public static bool getAnimateStars(int LevelNum) { string PPLevelKey = getPPLevelKey(LevelNum); if (PlayerPrefsBool.HasBoolKey(PPLevelKey + "animateStars")) { return(PlayerPrefsBool.GetBool(PPLevelKey + "animateStars")); } else { PlayerPrefsBool.SetBool(PPLevelKey + "animateStars", false); return(false); } }
/// <summary> /// determine if the level has been won /// </summary> /// <returns><c>true</c>, if won was ised, <c>false</c> otherwise.</returns> /// <param name="LevelNum">Level number.</param> public static bool isWon(int LevelNum) { string PPLevelKey = getPPLevelKey(LevelNum); if (PlayerPrefsBool.HasBoolKey(PPLevelKey + "isWon")) { return(PlayerPrefsBool.GetBool(PPLevelKey + "isWon")); } else { PlayerPrefsBool.SetBool(PPLevelKey + "isWon", false); return(false); } }
/// <summary> /// determine if the Level is Locked /// </summary> /// <returns><c>true</c>, if locked was ised, <c>false</c> otherwise.</returns> /// <param name="LevelNum">Level number.</param> public static bool isLocked(int LevelNum) { string PPLevelKey = getPPLevelKey(LevelNum); if (PlayerPrefsBool.HasBoolKey(PPLevelKey + "isLocked")) { return(PlayerPrefsBool.GetBool(PPLevelKey + "isLocked")); } else { PlayerPrefsBool.SetBool(PPLevelKey + "isLocked", true); return(true); } }
/// <summary> /// Calculates the sum of all levels won /// </summary> /// <returns>The sum.</returns> public static int WinSum() { int result = 0; int LevelNum = 1; string PPLevelKey = getPPLevelKey(LevelNum); while (PlayerPrefsBool.HasBoolKey(PPLevelKey + "isWon")) { result += (PlayerPrefsBool.GetBool(PPLevelKey + "isWon"))? 1: 0; LevelNum++; PPLevelKey = getPPLevelKey(LevelNum); } return(result); }
//set up everything on start void Start() { On = (PlayerPrefsBool.HasBoolKey(Key))?PlayerPrefsBool.GetBool(Key):true; image.sprite = (On)?OnSprite:OffSprite; float v = (On)?1f:0f; if (Key == "Music") { MusicManager.Instance.SetVolume(v); } else if (Key == "Sound") { SoundManager.Instance.SetVolume(v); } }
/// <summary> /// Unlocks the levels based on the WinSum...read this method and change for your own use /// </summary> public static void UnlockLevels_WinSum() { int Sum = WinSum(); int LevelNum = 1; string PPLevelKey = getPPLevelKey(LevelNum); while (PlayerPrefsBool.HasBoolKey(PPLevelKey + "isLocked")) { //Level will be unlocked if the WinSum + 1 is greater than of equal to the LevelNum if ((Sum + 1) >= LevelNum) { Unlock(LevelNum); } LevelNum++; PPLevelKey = getPPLevelKey(LevelNum); } }
/// <summary> /// Unlocks the levels based on the StarSum...read this method and change for your own use /// </summary> public static void UnlockLevels_StarSum() { int Sum = StarSum(); int LevelNum = 1; string PPLevelKey = getPPLevelKey(LevelNum); while (PlayerPrefsBool.HasBoolKey(PPLevelKey + "isLocked")) { //Level will be unlocked if the StarSum is greater than of equal to the (LevelNum-1) * 2 if (Sum >= ((LevelNum - 1) * 2)) { Unlock(LevelNum); } LevelNum++; PPLevelKey = getPPLevelKey(LevelNum); } }
/// <summary> /// Unlocks the levels based on the ScoreSum...read this method and change for your own use /// </summary> public static void UnlockLevels_ScoreSum() { float Sum = ScoreSum(); int LevelNum = 1; string PPLevelKey = getPPLevelKey(LevelNum); while (PlayerPrefsBool.HasBoolKey(PPLevelKey + "isLocked")) { //Level will be unlocked if the StarSum is greater than of equal to the (LevelNum-1) * 80f //i think this score could be like a percent, but this can be adjusted based on how your game works if (Sum >= ((LevelNum - 1) * 80f)) { Unlock(LevelNum); } LevelNum++; PPLevelKey = getPPLevelKey(LevelNum); } }
/// <summary> /// Sets the lock to a level /// </summary> /// <param name="LevelNum">Level number.</param> /// <param name="Locked">If set to <c>true</c> locked.</param> public static void setLock(int LevelNum, bool isLocked) { string PPLevelKey = getPPLevelKey(LevelNum); if (PlayerPrefsBool.HasBoolKey(PPLevelKey + "isLocked")) { if ( PlayerPrefsBool.GetBool(PPLevelKey + "isLocked") && isLocked == false ) { AnimateUnlock(LevelNum, true); } PlayerPrefsBool.SetBool(PPLevelKey + "isLocked", isLocked); } else { PlayerPrefsBool.SetBool(PPLevelKey + "isLocked", true); } }
/// <summary> /// Gets the max unlocked level. /// </summary> /// <returns>The max unlocked level.</returns> public static int getMaxUnlockedLevel() { int result = 0; int LevelNum = 1; string PPLevelKey = getPPLevelKey(LevelNum); while (PlayerPrefsBool.HasBoolKey(PPLevelKey + "isLocked")) { if ( !PlayerPrefsBool.GetBool(PPLevelKey + "isLocked") && LevelNum >= result ) { result = LevelNum; } LevelNum++; PPLevelKey = getPPLevelKey(LevelNum); } return(result); }
/// <summary> /// Resets the level data. (deletes PlayerPrefs for all LevelData from level 1 to level "Upto") /// </summary> /// <param name="Upto">Upto.</param> public static void ResetLevelData(int Upto) { int LevelNum = 1; string PPLevelKey = getPPLevelKey(LevelNum); while (LevelNum <= Upto) { if (PlayerPrefsBool.HasBoolKey(PPLevelKey + "isWon")) { PlayerPrefs.DeleteKey(PPLevelKey + "score"); PlayerPrefs.DeleteKey(PPLevelKey + "stars"); PlayerPrefsBool.DeleteBool(PPLevelKey + "isWon"); PlayerPrefsBool.DeleteBool(PPLevelKey + "isLocked"); PlayerPrefsBool.DeleteBool(PPLevelKey + "animateStars"); PlayerPrefsBool.DeleteBool(PPLevelKey + "animateUnlock"); } LevelNum++; PPLevelKey = getPPLevelKey(LevelNum); } }
/// <summary> /// Resets the level data. (deletes PlayerPrefs for all LevelData) /// </summary> public static void ResetLevelData() { // int LevelNum = 1; // string PPLevelKey = getPPLevelKey(LevelNum); // // while (PlayerPrefsBool.HasBoolKey(PPLevelKey + "isWon")) // { // // PlayerPrefs.DeleteKey(PPLevelKey + "sceneName"); // // PlayerPrefs.DeleteKey(PPLevelKey + "score"); // PlayerPrefs.DeleteKey(PPLevelKey + "stars"); // // PlayerPrefsBool.DeleteBool(PPLevelKey + "isWon"); // PlayerPrefsBool.DeleteBool(PPLevelKey + "isLocked"); // // PlayerPrefsBool.DeleteBool(PPLevelKey + "animateStars"); // PlayerPrefsBool.DeleteBool(PPLevelKey + "animateUnlock"); // // LevelNum++; // PPLevelKey = getPPLevelKey(LevelNum); // } string PPLevelKey = ""; for (int i = 1; i < 1001; i++) { PPLevelKey = getPPLevelKey(i); if (PlayerPrefs.HasKey(PPLevelKey + "score")) { PlayerPrefs.DeleteKey(PPLevelKey + "score"); } if (PlayerPrefs.HasKey(PPLevelKey + "stars")) { PlayerPrefs.DeleteKey(PPLevelKey + "stars"); } if (PlayerPrefsBool.HasBoolKey(PPLevelKey + "isWon")) { PlayerPrefsBool.DeleteBool(PPLevelKey + "isWon"); } if (PlayerPrefsBool.HasBoolKey(PPLevelKey + "isLocked")) { PlayerPrefsBool.DeleteBool(PPLevelKey + "isLocked"); } if (PlayerPrefsBool.HasBoolKey(PPLevelKey + "animateStars")) { PlayerPrefsBool.DeleteBool(PPLevelKey + "animateStars"); } if (PlayerPrefsBool.HasBoolKey(PPLevelKey + "animateUnlock")) { PlayerPrefsBool.DeleteBool(PPLevelKey + "animateUnlock"); } if (PlayerPrefs.HasKey(PPLevelKey + "sceneName")) { PlayerPrefs.DeleteKey(PPLevelKey + "sceneName"); } } }