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++; }); }