示例#1
0
 @Override
 public void serialize(Buffer buf) {
   short flag1 = 0;
   flag1 = BooleanByteWrapper.setFlag(flag1, 0, isOnSale);
   flag1 = BooleanByteWrapper.setFlag(flag1, 1, isSaleLocked);
   buf.writeUByte(flag1);
   buf.writeInt(houseId);
   buf.writeUShort(doorsOnMap.length);
   for (int entry : doorsOnMap) {
     buf.writeInt(entry);
   }
   buf.writeString(ownerName);
   buf.writeShort(modelId);
 }
示例#2
0
 @Override
 public void deserialize(Buffer buf) {
   short flag1 = buf.readUByte();
   isOnSale = BooleanByteWrapper.getFlag(flag1, 0);
   isSaleLocked = BooleanByteWrapper.getFlag(flag1, 1);
   houseId = buf.readInt();
   if (houseId < 0)
     throw new RuntimeException(
         "Forbidden value on houseId = "
             + houseId
             + ", it doesn't respect the following condition : houseId < 0");
   int limit = buf.readUShort();
   doorsOnMap = new int[limit];
   for (int i = 0; i < limit; i++) {
     doorsOnMap[i] = buf.readInt();
   }
   ownerName = buf.readString();
   modelId = buf.readShort();
   if (modelId < 0)
     throw new RuntimeException(
         "Forbidden value on modelId = "
             + modelId
             + ", it doesn't respect the following condition : modelId < 0");
 }