Exemple #1
0
 private static void Postfix(BodyHarvest bodyHarvest, ref bool __result)
 {
     if (IsMovableCarcass(bodyHarvest) && !(bodyHarvest.GetCondition() < 0.5f))
     {
         __result = true;
     }
 }
Exemple #2
0
 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;
 }
Exemple #3
0
 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);
     }
 }
Exemple #4
0
        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;
        }
Exemple #5
0
 internal static void AddCarcassToSceneSaveData(BodyHarvest bodyHarvest)
 {
     BodyHarvestManager.AddBodyHarvest(currentBodyHarvest);
     UnityEngine.SceneManagement.SceneManager.MoveGameObjectToScene(currentCarryObj, UnityEngine.SceneManagement.SceneManager.GetActiveScene());
 }
Exemple #6
0
 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"));
 }
Exemple #7
0
 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);
     }
 }