Exemplo n.º 1
0
        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;
        }
Exemplo n.º 2
0
        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);
        }