Exemple #1
0
        /// <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);
            }
        }
Exemple #2
0
        /// <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);
            }
        }