private static void Postfix(BodyHarvest bodyHarvest, ref bool __result) { if (IsMovableCarcass(bodyHarvest) && !(bodyHarvest.GetCondition() < 0.5f)) { __result = true; } }
private static void Prefix(BodyHarvest __instance) { if (__instance.name.Contains("Bear")) { __instance.m_MeatAvailableMaxKG = Settings.options.BearSliderMax; __instance.m_MeatAvailableMinKG = Settings.options.BearSliderMin; } if (__instance.name.Contains("Stag")) { __instance.m_MeatAvailableMaxKG = Settings.options.DeerSliderMax; __instance.m_MeatAvailableMinKG = Settings.options.DeerSliderMin; } if (__instance.name.Contains("Wolf")) { __instance.m_MeatAvailableMaxKG = Settings.options.WolfSliderMax; __instance.m_MeatAvailableMinKG = Settings.options.WolfSliderMin; } if (__instance.name.Contains("Moose")) { __instance.m_MeatAvailableMaxKG = Settings.options.MooseSliderMax; __instance.m_MeatAvailableMinKG = Settings.options.MooseSliderMin; } if (__instance.name.Contains("Bear")) { __instance.m_GutAvailableUnits = Settings.options.BearGutSlider; } if (__instance.name.Contains("Stag")) { __instance.m_GutAvailableUnits = Settings.options.DeerGutSlider; } if (__instance.name.Contains("Wolf")) { __instance.m_GutAvailableUnits = Settings.options.WolfGutSlider; } if (__instance.name.Contains("Moose")) { __instance.m_GutAvailableUnits = Settings.options.MooseGutSlider; } if (__instance.name.Contains("Bear")) { __instance.m_QuarterBagMeatCapacityKG = Settings.options.BearQuarterSlider; } if (__instance.name.Contains("Stag")) { __instance.m_QuarterBagMeatCapacityKG = Settings.options.DeerQuarterSlider; } if (__instance.name.Contains("Wolf")) { __instance.m_QuarterBagMeatCapacityKG = Settings.options.WolfQuarterSlider; } if (__instance.name.Contains("Moose")) { __instance.m_QuarterBagMeatCapacityKG = Settings.options.MooseQuarterSlider; } __instance.m_QuarterBagWasteMultiplier = Settings.options.QuarterWasteMultipler; }
private static void Postfix(Panel_BodyHarvest __instance, BodyHarvest bh, bool enable) { if (enable && __instance.CanEnable(bh)) { currentCarryObj = ((Component)(object)bh).gameObject; currentBodyHarvest = bh; currentHarvestPanel = __instance; MaybeAddCarcassMoveButton(__instance, bh); } }
internal static void Configure(ModComponent modComponent) { ModBodyHarvestComponent modBodyHarvestComponent = modComponent.TryCast <ModBodyHarvestComponent>(); if (modBodyHarvestComponent is null) { return; } BodyHarvest bodyHarvest = ModComponentUtils.ComponentUtils.GetOrCreateComponent <BodyHarvest>(modBodyHarvestComponent); bodyHarvest.m_AllowDecay = false; bodyHarvest.m_CanCarry = modBodyHarvestComponent.CanCarry; bodyHarvest.m_CanQuarter = modBodyHarvestComponent.CanQuarter; bodyHarvest.m_DamageSide = BaseAi.DamageSide.DamageSideNone; bodyHarvest.m_GutAvailableUnits = modBodyHarvestComponent.GutQuantity; bodyHarvest.m_GutPrefab = Resources.Load(modBodyHarvestComponent.GutPrefab)?.Cast <GameObject>(); bodyHarvest.m_GutWeightKgPerUnit = modBodyHarvestComponent.GutWeightKgPerUnit; bodyHarvest.m_HarvestAudio = modBodyHarvestComponent.HarvestAudio; bodyHarvest.m_HideAvailableUnits = modBodyHarvestComponent.HideQuantity; bodyHarvest.m_HidePrefab = Resources.Load(modBodyHarvestComponent.HidePrefab)?.Cast <GameObject>(); bodyHarvest.m_HideWeightKgPerUnit = modBodyHarvestComponent.HideWeightKgPerUnit; bodyHarvest.m_IsBigCarry = false; bodyHarvest.m_LocalizedDisplayName = ModComponentUtils.NameUtils.CreateLocalizedString(modBodyHarvestComponent.DisplayNameLocalizationId); bodyHarvest.m_MeatAvailableMaxKG = modBodyHarvestComponent.MeatAvailableMaxKG; bodyHarvest.m_MeatAvailableMinKG = modBodyHarvestComponent.MeatAvailableMinKG; bodyHarvest.m_MeatPrefab = Resources.Load(modBodyHarvestComponent.MeatPrefab)?.Cast <GameObject>(); bodyHarvest.m_PercentFrozen = 0f; bodyHarvest.m_QuarterAudio = modBodyHarvestComponent.QuarterAudio; bodyHarvest.m_QuarterBagMeatCapacityKG = modBodyHarvestComponent.QuarterBagMeatCapacityKG; bodyHarvest.m_QuarterBagWasteMultiplier = modBodyHarvestComponent.QuarterBagWasteMultiplier; bodyHarvest.m_QuarterDurationMinutes = modBodyHarvestComponent.QuarterDurationMinutes; bodyHarvest.m_QuarterObjectPrefab = Resources.Load(modBodyHarvestComponent.QuarterObjectPrefab)?.Cast <GameObject>(); bodyHarvest.m_QuarterPrefabSpawnAngle = modBodyHarvestComponent.QuarterPrefabSpawnAngle; bodyHarvest.m_QuarterPrefabSpawnRadius = modBodyHarvestComponent.QuarterPrefabSpawnRadius; bodyHarvest.m_Ravaged = false; bodyHarvest.m_StartFrozen = false; bodyHarvest.m_StartRavaged = false; bodyHarvest.m_StartConditionMax = 100f; bodyHarvest.m_StartConditionMin = 95f; }
internal static void AddCarcassToSceneSaveData(BodyHarvest bodyHarvest) { BodyHarvestManager.AddBodyHarvest(currentBodyHarvest); UnityEngine.SceneManagement.SceneManager.MoveGameObjectToScene(currentCarryObj, UnityEngine.SceneManagement.SceneManager.GetActiveScene()); }
internal static bool IsMovableCarcass(BodyHarvest bodyHarvest) { return(((UnityEngine.Object)(object) bodyHarvest).name.Contains("Stag") || ((UnityEngine.Object)(object) bodyHarvest).name.Contains("Deer") || ((UnityEngine.Object)(object) bodyHarvest).name.Contains("Wolf")); }
internal static void MaybeAddCarcassMoveButton(Panel_BodyHarvest panelInstance, BodyHarvest bodyHarvest) { //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00df: Expected O, but got Unknown //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Expected O, but got Unknown if (IsMovableCarcass(bodyHarvest)) { if (moveCarcassBtnObj == null) { moveCarcassBtnObj = UnityEngine.Object.Instantiate(panelInstance.m_Mouse_Button_Harvest, panelInstance.m_Mouse_Button_Harvest.transform); moveCarcassBtnObj.GetComponentInChildren <UILocalize>().key = "MOVE CARCASS"; panelInstance.m_Mouse_Button_Harvest.transform.localPosition += new Vector3(-100f, 0f, 0f); moveCarcassBtnObj.transform.localPosition = new Vector3(200f, 0f, 0f); moveCarcassUIBtn = moveCarcassBtnObj.GetComponentInChildren <UIButton>(); moveCarcassUIBtn.onClick.Clear(); moveCarcassUIBtn.onClick.Add((EventDelegate)(object)new EventDelegate((EventDelegate.Callback)(object) new EventDelegate.Callback(OnMoveCarcass))); } } else if (moveCarcassBtnObj != null) { UnityEngine.Object.DestroyImmediate(moveCarcassBtnObj); panelInstance.m_Mouse_Button_Harvest.transform.localPosition += new Vector3(100f, 0f, 0f); } }