internal static void Postfix(Panel_Cooking __instance) { Il2CppSystem.Collections.Generic.List <GearItem> foodList = __instance.m_FoodList; if (foodList == null) { return; } foreach (GearItem eachGearItem in foodList) { CookingModifier cookingModifier = ComponentUtils.GetComponent <CookingModifier>(eachGearItem); cookingModifier?.Revert(); //if(cookingModifier) Implementation.Log("{0} reverted from Melt and Cook", eachGearItem.name); } }
internal static void Postfix(Panel_Cooking __instance) { List <GearItem> foodList = Traverse.Create(__instance).Field("m_FoodList").GetValue <List <GearItem> >(); if (foodList == null) { return; } foreach (GearItem eachGearItem in foodList) { CookingModifier cookingModifier = ModUtils.GetComponent <CookingModifier>(eachGearItem); cookingModifier?.Revert(); } }
public static void Execute() { Panel_Cooking panel_Cooking = InterfaceManager.m_Panel_Cooking; GearItem cookedItem = panel_Cooking.GetSelectedFood(); CookingPotItem cookingPotItem = panel_Cooking.m_CookingPotInteractedWith; GearItem result = cookedItem.Drop(1, false, true); CookingModifier cookingModifier = ComponentUtils.GetOrCreateComponent <CookingModifier>(result); cookingModifier.additionalMinutes = result.m_Cookable.m_PotableWaterRequiredLiters * panel_Cooking.m_MinutesToMeltSnowPerLiter; cookingModifier.Apply(); GameAudioManager.Play3DSound(result.m_Cookable.m_PutInPotAudio, cookingPotItem.gameObject); cookingPotItem.StartCooking(result); panel_Cooking.ExitCookingInterface(); }