private void handleFreshJSON(string data, bool nosave = false, bool overwrite = true) { lock (favoriteAvatarList) { lock (savedFavoriteAvatars) { // Update Ui favButton.GetComponent <Button>().interactable = true; SimpleAvatarList avatarList = SimpleAvatarList.ParseJSON(data); //favoriteAvatarList.Clear(); foreach (var id in avatarList.avatarIDs) { if (!favoriteAvatarList.Contains(id)) { favoriteAvatarList.Add(id); } if (!savedFavoriteAvatars.ContainsKey(id) || overwrite) { savedFavoriteAvatars[id] = new SerializableApiAvatar() { id = id, authorId = "", releaseStatus = "" } } ; } if (!nosave) { Save(); } avatarAvailables = true; } } }
internal static void Save() { if (!avatarsJSONLoaded) { return; } var sal = new SimpleAvatarList(); sal.version = SimpleAvatarList.CURRENT_VERSION; sal.avatarIDs = favoriteAvatarList.ToArray(); using (var s = File.OpenWrite("AvatarFav.json.tmp")) using (var w = new StreamWriter(s)) { w.Write(JsonConvert.SerializeObject(sal, Formatting.Indented)); } if (File.Exists("AvatarFav.json")) { File.Delete("AvatarFav.json"); } File.Move("AvatarFav.json.tmp", "AvatarFav.json"); }