/// <summary> /// Update <see cref="ItemVisual"/> and broadcast <see cref="ServerItemVisualUpdate"/> for supplied <see cref="Item"/> /// </summary> private void VisualUpdate(Item item) { if (item == null) { throw new ArgumentNullException(); } var itemVisualUpdate = new ServerItemVisualUpdate { Guid = player.Guid }; Item2TypeEntry typeEntry = GameTableManager.ItemType.GetEntry(item.Entry.Item2TypeId); Costume costume = null; if (player.CostumeIndex >= 0) { costume = player.CostumeManager.GetCostume((byte)player.CostumeIndex); } itemVisualUpdate.ItemVisuals.Add(VisualUpdate((ItemSlot)typeEntry.ItemSlotId, costume)); if (!player.IsLoading) { player.EnqueueToVisible(itemVisualUpdate, true); } }
/// <summary> /// Update <see cref="ItemVisual"/> and broadcast <see cref="ServerItemVisualUpdate"/> for optional supplied <see cref="Costume"/>. /// </summary> public void VisualUpdate(Costume costume) { var itemVisualUpdate = new ServerItemVisualUpdate { Guid = player.Guid }; itemVisualUpdate.ItemVisuals.Add(VisualUpdate(ItemSlot.WeaponPrimary, costume)); for (ItemSlot index = ItemSlot.ArmorChest; index <= ItemSlot.ArmorHands; index++) { itemVisualUpdate.ItemVisuals.Add(VisualUpdate(index, costume)); } if (!player.IsLoading) { player.EnqueueToVisible(itemVisualUpdate, true); } }