Свернуть ↑
package l2ft.gameserver.network.l2.s2c;
import l2ft.gameserver.network.l2.s2c.updatetype.IUpdateT ypeComponent;
import l2ft.gameserver.model.items.PcInventory;
import l2ft.gameserver.model.Player;
import l2ft.gameserver.network.l2.s2c.updatetype.Inventor ySlot;
public class ExUserInfoEquipSlot extends AbstractMaskPacket<InventorySlot>
{
private final Player _player;
private final byte[] _masks;
@Override
protected byte[] getMasks()
{
return _masks;
}
@Override
protected void onNewMaskAdded(final InventorySlot component)
{
}
public ExUserInfoEquipSlot(final Player player)
{
_masks = new byte[] { 0, 0, 0, 0, 0 };
_player = player;
addComponentType(InventorySlot.VALUES);
}
public ExUserInfoEquipSlot(final Player player, final int slot)
{
_masks = new byte[] { 0, 0, 0, 0, 0 };
_player = player;
addComponentType(InventorySlot.valueOf(slot));
}
@Override
protected final void writeImpl() {
writeC(0xFE);
writeH(0x156);
writeD(_player.getObjectId());
writeH(InventorySlot.VALUES.length);
writeB(_masks);
final PcInventory inventory = _player.getInventory();
for (final InventorySlot slot : InventorySlot.VALUES)
{
if (containsMask(slot))
{
writeH(22);
writeD(inventory.getPaperdollObjectId(slot.getSlot ()));
writeD(inventory.getPaperdollItemId(slot.getSlot() ));
writeD(0x00);
writeD(0x00);
writeD(inventory.getVisualItemId(slot.getSlot()));
}
}
}
}