public static bool RestoreOldPrefs() { if (ZPlayerPrefs.HasKey("prefs_")) { var restoredV1 = SaveGameMembers.FromJson(ZPlayerPrefs.GetString("prefs_")); if (restoredV1.BestScore > 0) { Members = restoredV1; Save(); return(true); } } if (PlayerPrefs.HasKey("prefs")) { var restoredV0 = SaveGameMembers.FromJson(ZPlayerPrefs.GetString("prefs")); if (restoredV0.BestScore > 0) { Members = restoredV0; Save(); return(true); } } return(false); }
public static void Load() { try { ZPlayerPrefs.Initialize("UnlockedWeapons", "OrcsMustLive"); string prefs = ZPlayerPrefs.GetString(securePrefs); Members = SaveGameMembers.FromJson(prefs); if (Members.Counters.Length != (int)GameCounter.Last) { // More counters were added since last save. var backup = Members.Counters; Members.Counters = new int[(int)GameCounter.Last]; backup.CopyTo(Members.Counters, 0); // Enum GameCounters has changed since this was saved. Reset save. // Might want to put in a bunch of pladeholders to make this less likely in a release. Debug.Log("New counters detected, expanding array"); } } catch (Exception) { Members = null; } if (Members == null) { Members = new SaveGameMembers(); } if (string.IsNullOrEmpty(Members.UserId)) { Members.UserId = "timing_" + System.Guid.NewGuid().ToString(); Save(); } }