internal static void Prefix(Panel_Cooking __instance) { GearItem cookedItem = __instance.GetSelectedFood(); bool requiresWater = (cookedItem?.m_Cookable?.m_PotableWaterRequiredLiters ?? 0) > 0; if (Utils.IsMouseActive()) { MeltAndCookButton.SetActive(requiresWater); } else { __instance.m_ButtonLegendContainer.BeginUpdate(); __instance.m_ButtonLegendContainer.UpdateButton("Inventory_Drop", MeltAndCookButton.text, requiresWater, 2, false); } }
internal static bool Prefix(Panel_Cooking __instance) { if (!InputManager.GetInventoryDropPressed(GameManager.Instance())) { return(true); } GearItem cookedItem = __instance.GetSelectedFood(); bool requiresWater = (cookedItem?.m_Cookable?.m_PotableWaterRequiredLiters ?? 0) > 0; if (!requiresWater) { return(true); } MeltAndCookButton.Execute(); return(false); }
internal static bool Prefix(Panel_Cooking __instance) { if (!InputManager.GetInventoryDropPressed(__instance)) { return(true); } GearItem cookedItem = Traverse.Create(__instance).Method("GetSelectedFood").GetValue <GearItem>(); bool requiresWater = (cookedItem?.m_Cookable?.m_PotableWaterRequiredLiters ?? 0) > 0; if (!requiresWater) { return(true); } MeltAndCookButton.Execute(); return(false); }
internal static void Postfix(Panel_Cooking __instance) { MeltAndCookButton.Initialize(__instance); }