internal static bool CheckItemIDHook(int category, int id, ref byte __result) { if (id >= UniversalAutoResolver.BaseSlotID) { { ResolveInfo Info = UniversalAutoResolver.TryGetResolutionInfo((ChaListDefine.CategoryNo)category, id); if (CheckItemList.TryGetValue(Info.GUID, out var x)) { if (x.TryGetValue(category, out var y)) { if (y.Contains(Info.Slot)) { __result = 2; //Not new return(false); } } } __result = 1; //New return(false); } } return(true); }
internal static bool AddItemIDHook(int category, int id) { if (id >= UniversalAutoResolver.BaseSlotID) { ResolveInfo Info = UniversalAutoResolver.TryGetResolutionInfo((ChaListDefine.CategoryNo)category, id); if (!CheckItemList.ContainsKey(Info.GUID)) { CheckItemList[Info.GUID] = new Dictionary <int, HashSet <int> >(); } if (!CheckItemList[Info.GUID].ContainsKey(category)) { CheckItemList[Info.GUID][category] = new HashSet <int>(); } if (!CheckItemList[Info.GUID][category].Contains(Info.Slot)) { CheckItemList[Info.GUID][category].Add(Info.Slot); SaveCheckItemList(); } return(false); } return(true); }