private static void Prefix(Kingmaker.Items.Slots.ItemSlot __instance, ref ItemEntity __state) { if (Game.Instance.CurrentMode == GameModeType.Default && settings.togglAutoEquipConsumables) { __state = null; var slot = __instance.Owner.Body.QuickSlots.FindOrDefault(s => s.HasItem && s.Item == __instance.m_ItemRef); if (slot != null) { __state = __instance.m_ItemRef; } } }
private static void Postfix(Kingmaker.Items.Slots.ItemSlot __instance, ItemEntity __state) { if (Game.Instance.CurrentMode == GameModeType.Default && settings.togglAutoEquipConsumables) { if (__state != null) { var blueprint = __state.Blueprint; var item = Game.Instance.Player.Inventory.Items.FindOrDefault(i => i.Blueprint.ItemType == ItemsFilter.ItemType.Usable && i.Blueprint == blueprint); if (item != null) { Game.Instance.ScheduleAction(() => { try { Mod.Debug($"refill {item.m_Blueprint.Name.cyan()}"); __instance.InsertItem(item); } catch (Exception e) { Mod.Error($"{e}"); } }); } __state = null; } } }