private void FixedUpdate() { if (_ProduceCounter.Completed) { int remaining = _Package.PutItem(Product).Remaining.FirstOrDefault().Count; Debug.Log(_Package.GetItemStr()); if (remaining != 0) { _Dropper.Drop(new ItemGroup(Product.Id, remaining)); Debug.Log("drop"); } _ProduceCounter.Recount(); } }
/// <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()); }