@Override public boolean serialize(final ByteBuffer buffer) { if (this.contents.size() > 65535) { return false; } buffer.putShort((short) this.contents.size()); for (int i = 0; i < this.contents.size(); ++i) { final Content contents_element = this.contents.get(i); final boolean contents_element_ok = contents_element.serialize(buffer); if (!contents_element_ok) { return false; } } if (this.contentsSelection != null) { buffer.put((byte) 1); final boolean contentsSelection_ok = this.contentsSelection.serialize(buffer); if (!contentsSelection_ok) { return false; } } else { buffer.put((byte) 0); } if (this.buyableContents.size() > 65535) { return false; } buffer.putShort((short) this.buyableContents.size()); for (int i = 0; i < this.buyableContents.size(); ++i) { final BuyableContent buyableContents_element = this.buyableContents.get(i); final boolean buyableContents_element_ok = buyableContents_element.serialize(buffer); if (!buyableContents_element_ok) { return false; } } return true; }
@Override public boolean unserialize(final ByteBuffer buffer) { this.referenceId = buffer.getInt(); this.level = buffer.getShort(); this.xp = buffer.getLong(); return true; }
@Override public boolean serialize(final ByteBuffer buffer) { buffer.putInt(this.referenceId); buffer.putShort(this.level); buffer.putLong(this.xp); return true; }
@Override public boolean unserialize(final ByteBuffer buffer) { final int contents_size = buffer.getShort() & 0xFFFF; this.contents.clear(); this.contents.ensureCapacity(contents_size); for (int i = 0; i < contents_size; ++i) { final Content contents_element = new Content(); final boolean contents_element_ok = contents_element.unserialize(buffer); if (!contents_element_ok) { return false; } this.contents.add(contents_element); } final boolean contentsSelection_present = buffer.get() == 1; if (contentsSelection_present) { this.contentsSelection = new ContentsSelection(); final boolean contentsSelection_ok = this.contentsSelection.unserialize(buffer); if (!contentsSelection_ok) { return false; } } else { this.contentsSelection = null; } final int buyableContents_size = buffer.getShort() & 0xFFFF; this.buyableContents.clear(); this.buyableContents.ensureCapacity(buyableContents_size); for (int j = 0; j < buyableContents_size; ++j) { final BuyableContent buyableContents_element = new BuyableContent(); final boolean buyableContents_element_ok = buyableContents_element.unserialize(buffer); if (!buyableContents_element_ok) { return false; } this.buyableContents.add(buyableContents_element); } return true; }
private boolean unserialize_v0(final ByteBuffer buffer) { final int contentsSelection_size = buffer.getShort() & 0xFFFF; this.contentsSelection.clear(); this.contentsSelection.ensureCapacity(contentsSelection_size); for (int i = 0; i < contentsSelection_size; ++i) { final ContentSelection contentsSelection_element = new ContentSelection(); final boolean contentsSelection_element_ok = contentsSelection_element.unserializeVersion(buffer, 0); if (!contentsSelection_element_ok) { return false; } this.contentsSelection.add(contentsSelection_element); } return true; }
@Override public boolean serialize(final ByteBuffer buffer) { if (this.contentsSelection.size() > 65535) { return false; } buffer.putShort((short) this.contentsSelection.size()); for (int i = 0; i < this.contentsSelection.size(); ++i) { final ContentSelection contentsSelection_element = this.contentsSelection.get(i); final boolean contentsSelection_element_ok = contentsSelection_element.serialize(buffer); if (!contentsSelection_element_ok) { return false; } } return true; }
@Override public boolean unserialize(final ByteBuffer buffer) { this.referenceId = buffer.getInt(); this.price = buffer.getInt(); return true; }
@Override public boolean serialize(final ByteBuffer buffer) { buffer.putInt(this.referenceId); buffer.putInt(this.price); return true; }
@Override public boolean unserialize(final ByteBuffer buffer) { this.referenceId = buffer.getInt(); this.remainingDuration = buffer.getInt(); return true; }
@Override public boolean serialize(final ByteBuffer buffer) { buffer.putInt(this.referenceId); buffer.putInt(this.remainingDuration); return true; }