using HarmonyLib; using MAI2.Util; using Manager; using Manager.MaiStudio; using Manager.UserDatas; using System.Collections.Generic; using System.Linq; namespace SinmaiAssist.Cheat; public class AllCollection { [HarmonyPostfix] [HarmonyPatch(typeof(UserData), "get_FrameList")] public static void FrameList(ref List __result, CollectionProcess __instance) { List list2 = (from i in __result where i.stock > 0 select i.itemId).ToList(); foreach (KeyValuePair frame2 in Singleton.Instance.GetFrames()) { if (!list2.Contains(frame2.Value.GetID())) { list2.Add(frame2.Value.GetID()); __result.Add(new UserItem(frame2.Value.GetID())); } } } [HarmonyPostfix] [HarmonyPatch(typeof(UserData), "get_IconList")] public static void IconList(ref List __result, CollectionProcess __instance) { List list2 = (from i in __result where i.stock > 0 select i.itemId).ToList(); foreach (KeyValuePair icon2 in Singleton.Instance.GetIcons()) { if (!list2.Contains(icon2.Value.GetID())) { list2.Add(icon2.Value.GetID()); __result.Add(new UserItem(icon2.Value.GetID())); } } } [HarmonyPostfix] [HarmonyPatch(typeof(UserData), "get_PlateList")] public static void PlateList(ref List __result, CollectionProcess __instance) { List list2 = (from i in __result where i.stock > 0 select i.itemId).ToList(); foreach (KeyValuePair plate2 in Singleton.Instance.GetPlates()) { if (!list2.Contains(plate2.Value.GetID())) { list2.Add(plate2.Value.GetID()); __result.Add(new UserItem(plate2.Value.GetID())); } } } [HarmonyPostfix] [HarmonyPatch(typeof(UserData), "get_PartnerList")] public static void PartnerList(ref List __result, CollectionProcess __instance) { List list2 = (from i in __result where i.stock > 0 select i.itemId).ToList(); foreach (KeyValuePair partner2 in Singleton.Instance.GetPartners()) { if (!list2.Contains(partner2.Value.GetID())) { list2.Add(partner2.Value.GetID()); __result.Add(new UserItem(partner2.Value.GetID())); } } } [HarmonyPostfix] [HarmonyPatch(typeof(UserData), "get_TitleList")] public static void TitleList(ref List __result, CollectionProcess __instance) { List list2 = (from i in __result where i.stock > 0 select i.itemId).ToList(); foreach (KeyValuePair title2 in Singleton.Instance.GetTitles()) { if (!list2.Contains(title2.Value.GetID())) { list2.Add(title2.Value.GetID()); __result.Add(new UserItem(title2.Value.GetID())); } } } }