Beispiel #1
0
        void Start()
        {
            _storage = gameObject.GetComponent <PackageUIBase>();

            if (_storage is null)
            {
                Main.Logger.Log("PackageUIBase component not found!");
            }
        }
Beispiel #2
0
            static bool Prefix(PackageUIBase __instance, int obj, bool ___IsSplitMode, int ___bagIndex)
            {
                if (obj == -1)
                {
                    return(true);
                }

                ItemObject item = Module <Player> .Self.bag.GetItem(___bagIndex, obj);

                if (item != null && ___IsSplitMode && item.Number == 1)
                {
                    Module <Player> .Self.bag.AddItem(item, true);

                    __instance.FreshCurpageItem();
                    __instance.playerItemBar.FreshItem();
                    return(false);
                }
                return(true);
            }
Beispiel #3
0
            public static bool Prefix(PackageUIBase __instance)
            {
                if (!enabled)
                {
                    return(true);
                }

                int id = ((ItemObject)typeof(PackageUIBase).GetProperty("curSelectItem", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(__instance, new object[0])).ItemDataId;

                if (MissionRequire.IsMissionRequired(id))
                {
                    UIUtils.ShowTipsMode2(TextMgr.GetStr(103554, -1), Color.white, 1.5f, null, false);
                }
                else
                {
                    __instance.DeleteItem();
                }
                return(false);
            }
Beispiel #4
0
            static void Postfix(PackageUIBase __instance, UIPageTurning ___bagPageTurning)
            {
                if (!enabled || Module <InputSolutionModule> .Self.CurSolutionType == SolutionType.ColorConfig)
                {
                    return;
                }

                bool shift    = Input.GetKey("left shift");
                bool prevPage = KeyDown(settings.PrevPageKey);
                bool nextPage = KeyDown(settings.NextPageKey);

                if (__instance is StoreageUICtr)
                {
                    if (KeyDown(settings.PrevStorageKey))
                    {
                        (__instance as StoreageUICtr).SwitchStorage(false);
                        return;
                    }
                    else if (KeyDown(settings.NextStorageKey))
                    {
                        (__instance as StoreageUICtr).SwitchStorage(true);
                        return;
                    }
                }

                if (!shift)
                {
                    if (prevPage)
                    {
                        ___bagPageTurning.TurnPage(false);
                    }
                    else if (nextPage)
                    {
                        ___bagPageTurning.TurnPage(true);
                    }
                    return;
                }


                if (!prevPage && !nextPage)
                {
                    return;
                }


                UIPageTurning ___storagePageTurning = null;

                if (__instance is StoreageUIBase || __instance is StoreageUICtr)
                {
                    ___storagePageTurning = AccessTools.FieldRefAccess <StoreageUIBase, UIPageTurning>((__instance as StoreageUIBase), "storagePageTurning");
                }
                else if (__instance is PackageExchangeAutoSortUICtr || __instance is PackageExchangeUICtr)
                {
                    ___storagePageTurning = AccessTools.FieldRefAccess <PackageExchangeUICtr, UIPageTurning>((__instance as PackageExchangeUICtr), "storagePageTurning");
                }
                else if (__instance is Store_Npc_UI)
                {
                    ___storagePageTurning = AccessTools.FieldRefAccess <Store_Npc_UI, UIPageTurning>((__instance as Store_Npc_UI), "storePageTurning");
                }

                if (___storagePageTurning != null)
                {
                    if (prevPage)
                    {
                        ___storagePageTurning.TurnPage(false);
                    }
                    else if (nextPage)
                    {
                        ___storagePageTurning.TurnPage(true);
                    }
                }
            }