コード例 #1
0
        public static void Update()
        {
            var activeWindow = Game.Manager.Windows.GetActiveWindow();

            if (activeWindow?.windowDefinition.id == 13)
            {
                UiWardrobeWindow wardrobeWindow = activeWindow.GetComponent <UiWardrobeWindow>();

                if (Input.GetKeyDown(KeyCode.F6) &&
                    WardrobeGirlOffset > 0)
                {
                    WardrobeGirlOffset -= GirlsWindowPaging.GirlSlotCount;
                    ReInitWardrobeWindow(wardrobeWindow);
                }
                else if (Input.GetKeyDown(KeyCode.F7) &&
                         Game.Persistence.saveData.wardrobeGirls.Count > WardrobeGirlOffset + GirlsWindowPaging.GirlSlotCount)
                {
                    WardrobeGirlOffset += GirlsWindowPaging.GirlSlotCount;
                    ReInitWardrobeWindow(wardrobeWindow);
                }
            }
        }
コード例 #2
0
        public static void ReInitWardrobeWindow(UiWardrobeWindow window)
        {
            for (int i = 0; i < GirlsWindowPaging.GirlSlotCount; i++)
            {
                var slot       = window.girlSlots[i];
                int slotOffset = slot.slotIndex + WardrobeGirlOffset;

                if (slotOffset < Game.Persistence.saveData.wardrobeGirls.Count)
                {
                    var girl = Game.Persistence.saveData.wardrobeGirls[slotOffset];

                    GirlDefinitionFieldInfo.SetValue(slot, Game.Data.Girls.Get(girl.girlId));
                    WardrobeGirlSaveDataFieldInfo.SetValue(slot, girl);
                }
                else
                {
                    GirlDefinitionFieldInfo.SetValue(slot, null);
                    WardrobeGirlSaveDataFieldInfo.SetValue(slot, null);
                }

                slot.Refresh(false);
            }

            //fix for ghost slot when paging
            if (window.girlSlots[UiWardrobeWindow.storedSlotIndex].girlDefinition != null)
            {
                window.girlSlots[UiWardrobeWindow.storedSlotIndex].buttonBehavior.Enable(false);
            }

            UiWardrobeWindow.storedSlotIndex = 0;
            window.girlSlots[UiWardrobeWindow.storedSlotIndex].buttonBehavior.Disable(false);

            WardrobeWindowRefreshMethodInfo.Invoke(window, new object[] { false, true });

            //fix for ghost tooltip when paging
            Game.Events.Trigger(new InfoTooltipExitEvent());
        }
コード例 #3
0
 private static void ReInitGirlWindowHook(UiWardrobeWindow __instance)
 {
     ReInitWardrobeWindow(__instance);
 }