public static float MassUsageLeftAfterTradeableTransfer(List <Thing> allCurrentThings, List <Tradeable> tradeables, IgnorePawnsInventoryMode ignoreInventory, bool includePawnsMass = false, bool ignoreCorpsesGearAndInventory = false)
        {
            TransferableUtility.SimulateTradeableTransfer(allCurrentThings, tradeables, CollectionsMassCalculator.tmpThingStackParts);
            float result = CollectionsMassCalculator.MassUsage(CollectionsMassCalculator.tmpThingStackParts, ignoreInventory, includePawnsMass, ignoreCorpsesGearAndInventory);

            CollectionsMassCalculator.tmpThingStackParts.Clear();
            return(result);
        }
        public static float CapacityLeftAfterTradeableTransfer(List <Thing> allCurrentThings, List <Tradeable> tradeables)
        {
            TransferableUtility.SimulateTradeableTransfer(allCurrentThings, tradeables, CollectionsMassCalculator.tmpThingStackParts);
            float result = CollectionsMassCalculator.Capacity(CollectionsMassCalculator.tmpThingStackParts);

            CollectionsMassCalculator.tmpThingStackParts.Clear();
            return(result);
        }
        public static float MassUsageLeftAfterTradeableTransfer(List <Thing> allCurrentThings, List <Tradeable> tradeables, IgnorePawnsInventoryMode ignoreInventory, bool includePawnsMass = false, bool ignoreSpawnedCorpsesGearAndInventory = false)
        {
            tmpThingCounts.Clear();
            TransferableUtility.SimulateTradeableTransfer(allCurrentThings, tradeables, tmpThingCounts);
            float result = MassUsage(tmpThingCounts, ignoreInventory, includePawnsMass, ignoreSpawnedCorpsesGearAndInventory);

            tmpThingCounts.Clear();
            return(result);
        }
        public static float CapacityLeftAfterTradeableTransfer(List <Thing> allCurrentThings, List <Tradeable> tradeables, StringBuilder explanation = null)
        {
            tmpThingCounts.Clear();
            TransferableUtility.SimulateTradeableTransfer(allCurrentThings, tradeables, tmpThingCounts);
            float result = Capacity(tmpThingCounts, explanation);

            tmpThingCounts.Clear();
            return(result);
        }