Exemplo n.º 1
0
        /// <summary>
        /// 应用合成规则
        /// </summary>
        /// <returns>无法添加进背包的物品(背包已满或是不可打包物品)</returns>
        public ItemGroup[] ApplyExpression(int expressionId)
        {
            var expression = GetExpression(expressionId);

            foreach (var costItem in expression.Input)
            {
                _Package.CostItem(costItem);
            }

            return((
                       from createdItem in expression.Output
                       let overflow = _Package.PutItem(createdItem).Remaining.FirstOrDefault().Count
                                      where overflow > 0
                                      select(createdItem.Id, overflow))
                   .Select(dummy => (ItemGroup)dummy).ToArray());
        }