/* * IDK Game Server by Steve Winfield * https://github.com/WinfieldSteve */ package org.stevewinfield.suja.idk.communication.trading.writers; import org.stevewinfield.suja.idk.communication.MessageWriter; import org.stevewinfield.suja.idk.communication.OperationCodes; import org.stevewinfield.suja.idk.game.furnitures.FurnitureType; import org.stevewinfield.suja.idk.game.inventory.PlayerItem; import org.stevewinfield.suja.idk.game.trading.Trade; import java.util.Collection; public class TradeOffersWriter extends MessageWriter { public TradeOffersWriter(final Trade trade) { super(OperationCodes.getOutgoingOpCode("TradeOffers")); final Collection<PlayerItem> itemsOne = trade.getOffersPlayerOne().values(); final Collection<PlayerItem> itemsTwo = trade.getOffersPlayerTwo().values(); super.push(trade.getPlayerOne()); super.push(itemsOne.size()); for (final PlayerItem item : itemsOne) { super.push(item.getItemId()); super.push(item.getBase().getType().toUpperCase()); super.push(item.getItemId()); super.push(item.getBase().getSpriteId()); super.push(0); super.push(item.getBase().isInventoryStackable()); super.push(""); super.push(0); super.push(0); super.push(0); if (item.getBase().getType().equals(FurnitureType.FLOOR)) { super.push(0); } } super.push(trade.getPlayerTwo()); super.push(itemsTwo.size()); for (final PlayerItem item : itemsTwo) { super.push(item.getItemId()); super.push(item.getBase().getType().toUpperCase()); super.push(item.getItemId()); super.push(item.getBase().getSpriteId()); super.push(0); super.push(item.getBase().isInventoryStackable()); super.push(""); super.push(0); super.push(0); super.push(0); if (item.getBase().getType().equals(FurnitureType.FLOOR)) { super.push(0); } } } }