package crazypants.enderio.enderface;
import io.netty.buffer.ByteBuf;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
public class PacketLockClientContainer implements IMessage {
private int windowId;
private boolean lock = true;
public PacketLockClientContainer() {
this.lock = false;
}
public PacketLockClientContainer(int windowId) {
this.windowId = windowId;
}
@Override
public void fromBytes(ByteBuf buf) {
this.windowId = buf.readInt();
this.lock = buf.readBoolean();
}
@Override
public void toBytes(ByteBuf buf) {
buf.writeInt(windowId);
buf.writeBoolean(lock);
}
public static class Handler implements IMessageHandler<PacketLockClientContainer, IMessage> {
@Override
public IMessage onMessage(PacketLockClientContainer message, MessageContext ctx) {
if (message.lock) {
EnderIOController.INSTANCE.lockAndWaitForChange(message.windowId);
} else {
EnderIOController.INSTANCE.unlock();
}
return null;
}
}
}