예제 #1
0
        private static void OnDrainFinished(bool success, bool playerCancel, float progress)
        {
            Panel_Inventory_Examine panel = InterfaceManager.m_Panel_Inventory_Examine;

            if (BetterFuelManagement.IsFuelItem(panel.m_GearItem))
            {
                float litersToDrain = BetterFuelManagement.GetLitersToDrain(panel.m_GearItem) * progress;
                BetterFuelManagement.AddTotalCurrentLiters(litersToDrain, panel.m_GearItem);
                BetterFuelManagement.AddLiters(panel.m_GearItem, -litersToDrain);
            }

            panel.RefreshMainWindow();
        }
예제 #2
0
        public static void Postfix(Panel_Inventory_Examine __instance)
        {
            if (!BetterFuelManagement.IsFuelItem(__instance.m_GearItem))
            {
                return;
            }

            Vector3 position = BetterFuelManagementUtils.GetBottomPosition(
                __instance.m_Button_Harvest,
                __instance.m_Button_Refuel,
                __instance.m_Button_Repair);

            position.y += __instance.m_ButtonSpacing;
            __instance.m_Button_Unload.transform.localPosition = position;

            __instance.m_Button_Unload.gameObject.SetActive(true);

            float litersToDrain = BetterFuelManagement.GetLitersToDrain(__instance.m_GearItem);

            __instance.m_Button_Unload.GetComponent <Panel_Inventory_Examine_MenuItem>().SetDisabled(litersToDrain < BetterFuelManagement.MIN_LITERS);
        }