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);
            }