private int GetItemMaxNum(ItemSynthesisInfo synthesis) { if (synthesis == null) return 0; var package = UserItemPackage.Get(packUser); var userItemArray = package.ItemPackage.FindAll( u => !u.IsRemove && u.ItemID.Equals(synthesis.SynthesisID) && u.ItemStatus != ItemStatus.Sell && new UserItemHelper(u).GeneralStatus(packUser) != GeneralStatus.LiDui); int maxNum = 0; int sumNum = 0; foreach (var userItem in userItemArray) { sumNum += userItem.Num; } if (sumNum >= synthesis.DemandNum) { maxNum = synthesis.DemandNum; } else { maxNum = sumNum; } return maxNum; }
private void AppenUserItem(ItemSynthesisInfo synthesisInfo, int ugeneralID, ItemStatus istatus, short itemLv) { //原因:合成黄色装备,物品存放为0 if (istatus != ItemStatus.YongBing) { istatus = ItemStatus.BeiBao; } var package = UserItemPackage.Get(Uid); string uitemID = Guid.NewGuid().ToString(); UserItemInfo userItem = new UserItemInfo() { UserItemID = uitemID, ItemID = synthesisInfo.ItemID, ItemLv = MathUtils.Subtraction(itemLv, (short)5, (short)1), ItemStatus = istatus, ItemType = ItemType.ZhuangBei, GeneralID = ugeneralID, Num = 1 }; package.SaveItem(userItem); //package.DelayChange(); UserItemHelper.AddItemLog(ContextUser.UserID, synthesisInfo.ItemID, 1, MathUtils.Subtraction(itemLv, (short)5, (short)1), 5, uitemID); }