示例#1
0
        private void Repair(UPlayer player, Items item)
        {
            if (item == null)
            {
                return;
            }

            var playerInv = player.UnturnedPlayer.inventory;
            var items     = item.items;

            foreach (var itemJar in items.Where(itemJar => itemJar.item.quality != 100))
            {
                playerInv.sendUpdateQuality(item.page, itemJar.x, itemJar.y, 100);

                var barrel = ItemUtil.GetWeaponAttachment(itemJar.item, ItemUtil.AttachmentType.BARREL);
                barrel.IfPresent(attach => {
                    if (attach.Durability == 100)
                    {
                        return;
                    }

                    attach.Durability = 100;
                    ItemUtil.SetWeaponAttachment(itemJar.item, ItemUtil.AttachmentType.BARREL, attach);
                });
            }
        }
        private void Repair(UnturnedPlayer player, Items item)
        {
            if (item == null)
            {
                return;
            }

            var  playerInv = player.NativePlayer.inventory;
            var  items     = (List <ItemJar>)_itemsField.GetValue(item);
            byte index     = 0;

            items.ForEach(itemJar =>
            {
                item.updateQuality(index, 100);

                playerInv.channel.send("tellUpdateQuality", ESteamCall.OWNER, ESteamPacket.UPDATE_RELIABLE_BUFFER,
                                       new object[]
                {
                    item.page,
                    playerInv.getIndex(item.page, itemJar.x, itemJar.y),
                    100
                });

                var barrel = ItemUtil.GetWeaponAttachment(itemJar.item, ItemUtil.AttachmentType.BARREL);
                barrel.IfPresent(attach =>
                {
                    attach.Durability = 100;
                    ItemUtil.SetWeaponAttachment(itemJar.item, ItemUtil.AttachmentType.BARREL, attach);
                });
                index++;
            });
        }