Esempio n. 1
0
        internal static void Configure(Panel_FeedFire panel)
        {
            panel.m_MaxMeltSnowLiters = MaxLiters;

            FieldInfo meltSnowLitersField = AccessTools.Field(panel.GetType(), "m_MeltSnowLiters");

            meltSnowLitersField.SetValue(panel, Mathf.Clamp((float)meltSnowLitersField.GetValue(panel), 0, MaxLiters));

            FieldInfo boilWaterLitersField = AccessTools.Field(panel.GetType(), "m_BoilWaterLiters");

            boilWaterLitersField.SetValue(panel, Mathf.Clamp((float)boilWaterLitersField.GetValue(panel), 0, MaxLiters));

            if (Cookware == null)
            {
                labelCookingWarning.text = Localization.Get("GAMEPLAY_RequiresCookware");
                labelCookingWarning.gameObject.SetActive(true);
            }
            else
            {
                labelCookingWarning.gameObject.SetActive(false);
            }
        }
Esempio n. 2
0
        internal static void ClampBoilWaterAmount(Panel_FeedFire panel)
        {
            float totalCapacity = Water.GetRemainingCapacity(LiquidQuality.Potable) + Water.GetRemainingCapacityEmpty();

            labelCookingWarning.gameObject.SetActive(Cookware == null);

            FieldInfo boilWaterLitersField = AccessTools.Field(panel.GetType(), "m_BoilWaterLiters");
            float     value = Mathf.Clamp((float)boilWaterLitersField.GetValue(panel), 0, MaxLiters);

            boilWaterLitersField.SetValue(panel, value);

            panel.m_ButtonIncreaseWater.SetActive(panel.m_ButtonIncreaseWater.activeSelf && value < MaxLiters);
            panel.m_WaterAmountLabel.text = Utils.GetLiquidQuantityStringWithUnitsNoOunces(InterfaceManager.m_Panel_OptionsMenu.m_State.m_Units, value);
        }
Esempio n. 3
0
        internal static void ClampMeltSnowAmount(Panel_FeedFire panel)
        {
            float totalCapacity = Water.GetRemainingCapacity(LiquidQuality.NonPotable) + Water.GetRemainingCapacityEmpty();

            float limit = MaxLiters;

            if (limit > 0 && totalCapacity == 0)
            {
                labelCookingWarning.text = Localization.Get("GAMEPLAY_NoCapacityAvailable");
                limit = 0;
            }
            labelCookingWarning.gameObject.SetActive(limit == 0);

            FieldInfo meltSnowLitersField = AccessTools.Field(panel.GetType(), "m_MeltSnowLiters");
            float     value = Mathf.Clamp((float)meltSnowLitersField.GetValue(panel), 0, limit);

            meltSnowLitersField.SetValue(panel, value);

            panel.m_ButtonIncreaseWater.SetActive(panel.m_ButtonIncreaseWater.activeSelf && value < limit);
            panel.m_WaterAmountLabel.text = Utils.GetLiquidQuantityStringWithUnitsNoOunces(InterfaceManager.m_Panel_OptionsMenu.m_State.m_Units, value);
        }