/*
* IDK Game Server by Steve Winfield
* https://github.com/WinfieldSteve
*/
package org.stevewinfield.suja.idk.communication.room.writers;
import org.stevewinfield.suja.idk.communication.MessageWriter;
import org.stevewinfield.suja.idk.communication.OperationCodes;
import org.stevewinfield.suja.idk.game.rooms.RoomInstance;
public class RoomInfoWriter extends MessageWriter {
public RoomInfoWriter(final RoomInstance instance, final boolean isLoading, final boolean checkEntry) {
super(OperationCodes.getOutgoingOpCode("RoomInfo"));
super.push(isLoading);
super.push(instance.getInformation().getId());
super.push(0);
super.push(instance.getInformation().getName());
super.push(instance.getInformation().getOwnerName());
super.push(instance.getInformation().getAccessType());
super.push(instance.getInformation().getTotalPlayers());
super.push(instance.getInformation().getMaxPlayers());
super.push(instance.getInformation().getDescription());
super.push(0);
super.push(instance.getInformation().isTradingEnabled());
super.push(0);
super.push(instance.getInformation().getCategoryId());
super.push("");
super.push(instance.getInformation().getRoomTags().length);
for (final String tag : instance.getInformation().getRoomTags()) {
super.push(tag);
}
super.push(0); // background
super.push(0); // overlay
super.push(0); // objects
super.push(instance.getInformation().petsAreAllowed());
super.push(true);
super.push(checkEntry);
super.push(false); // is staff picked room TODO
}
public RoomInfoWriter(final RoomInstance instance) {
this(instance, true, false);
}
}