//For other lists if needed. public static void Refresh(this UiAvatarList value, List <string> list) { value.field_Private_Dictionary_2_String_ApiAvatar_0.Clear(); foreach (var t in list) { value.field_Private_Dictionary_2_String_ApiAvatar_0.Add(t, null); } value.specificListIds = list.ToArray(); value.Method_Protected_Virtual_Void_Int32_1(0); }
public static void FirstLoad(this UiAvatarList value, List <SavedAvi> list) { int deleted = 0; value.field_Private_Dictionary_2_String_ApiAvatar_0.Clear(); for (int i = 0; i < list.Count(); i++) { var t = list[i]; var avatar = new ApiAvatar() { id = t.AvatarID, name = t.Name, thumbnailImageUrl = t.ThumbnailImageUrl }; avatar.Get(new Action <ApiContainer>(x => { var avi = x.Model as ApiAvatar; if (avatar.releaseStatus == "private") { deleted++; list.Remove(t); return; } else { if (!value.field_Private_Dictionary_2_String_ApiAvatar_0.ContainsKey(t.AvatarID)) { value.field_Private_Dictionary_2_String_ApiAvatar_0.Add(t.AvatarID, avatar); } } })); } if (deleted > 0) { MelonLoader.MelonModLogger.Log($"Deleted {deleted} private avatars."); DAvatars = list; UpdateAvatars(); } value.specificListIds = list.Select(x => x.AvatarID).ToArray(); //value.Method_Protected_Virtual_Void_Int32_0(0); value.Method_Protected_Virtual_Void_Int32_1(0); }