internal static void SaveLastUsedFireRessources(Panel_FireStart instance) { FireStarterItem fireStarter = instance.GetSelectedFireStarter(); FuelSourceItem tinder = instance.GetSelectedTinder(); FuelSourceItem fuel = instance.GetSelectedFuelSource(); FireStarterItem accelerant = instance.GetSelectedAccelerant(); if (fireStarter) { var fireStarterGi = fireStarter.GetComponent <GearItem>(); if (!fireStarterGi.m_TorchItem && !fireStarterGi.m_FlareItem) { LastFireStarterID = fireStarterGi.m_InstanceID; LastFireStarterName = fireStarterGi.m_GearName; } } else { LastFireStarterID = -1; LastFireStarterName = ""; } if (tinder) { LastTinderName = tinder.GetComponent <GearItem>().m_GearName; } else { LastTinderName = ""; } if (fuel) { LastFuelName = fuel.GetComponent <GearItem>().m_GearName; } else { LastFuelName = ""; } if (accelerant) { LastAccelerantName = accelerant.GetComponent <GearItem>().m_GearName; } else { LastAccelerantName = ""; } }
internal static void Postfix(FireStarterItem starter, bool __result) { if (!__result) { return; } ModFireStarterComponent modFireStarterComponent = ModComponentUtils.ComponentUtils.GetComponent <ModFireStarterComponent>(starter); if (modFireStarterComponent is null || !modFireStarterComponent.RuinedAfterUse) { return; } GearItem gearItem = starter.GetComponent <GearItem>(); if (gearItem != null) { gearItem.BreakOnUse(); } }