Rename previously-named classes from 'Overlay' to 'Sidebar', add actual Overlay interface support.

This commit is contained in:
Major-
2015-02-27 03:21:47 +00:00
parent 78136c4eaa
commit d60075dcf6
12 changed files with 157 additions and 60 deletions
@@ -3,11 +3,11 @@ package org.apollo.game.message.impl;
import org.apollo.game.message.Message; import org.apollo.game.message.Message;
/** /**
* A {@link Message} sent to the client to open an interface and temporary overlay. * A {@link Message} sent to the client to open an interface and a sidebar.
* *
* @author Graham * @author Graham
*/ */
public final class OpenInterfaceOverlayMessage extends Message { public final class OpenInterfaceSidebarMessage extends Message {
/** /**
* The interface id. * The interface id.
@@ -15,19 +15,19 @@ public final class OpenInterfaceOverlayMessage extends Message {
private final int interfaceId; private final int interfaceId;
/** /**
* The overlay id. * The sidebar id.
*/ */
private final int overlayId; private final int sidebarId;
/** /**
* Creates the open interface overlay message. * Creates the OpenInterfaceSidebarMessage.
* *
* @param interfaceId The interface id. * @param interfaceId The interface id.
* @param overlayId The overlay id. * @param sidebarId The sidebar id.
*/ */
public OpenInterfaceOverlayMessage(int interfaceId, int overlayId) { public OpenInterfaceSidebarMessage(int interfaceId, int sidebarId) {
this.interfaceId = interfaceId; this.interfaceId = interfaceId;
this.overlayId = overlayId; this.sidebarId = sidebarId;
} }
/** /**
@@ -40,12 +40,12 @@ public final class OpenInterfaceOverlayMessage extends Message {
} }
/** /**
* Gets the overlay id. * Gets the sidebar id.
* *
* @return The overlay id. * @return The sidebar id.
*/ */
public int getOverlayId() { public int getSidebarId() {
return overlayId; return sidebarId;
} }
} }
@@ -15,7 +15,7 @@ public final class OpenOverlayMessage extends Message {
private final int overlayId; private final int overlayId;
/** /**
* Creates the open interface overlay message. * Creates the OpenSidebarMessage.
* *
* @param overlayId The overlay id. * @param overlayId The overlay id.
*/ */
@@ -0,0 +1,35 @@
package org.apollo.game.message.impl;
import org.apollo.game.message.Message;
/**
* A {@link Message} sent to the client to open a sidebar interface.
*
* @author Major
*/
public final class OpenSidebarMessage extends Message {
/**
* The sidebar id.
*/
private final int sidebarId;
/**
* Creates the OpenSidebarMessage.
*
* @param sidebarId The sidebar id.
*/
public OpenSidebarMessage(int sidebarId) {
this.sidebarId = sidebarId;
}
/**
* Gets the sidebar id.
*
* @return The sidebar id.
*/
public int getSidebarId() {
return sidebarId;
}
}
@@ -8,8 +8,9 @@ import org.apollo.game.message.impl.CloseInterfaceMessage;
import org.apollo.game.message.impl.EnterAmountMessage; import org.apollo.game.message.impl.EnterAmountMessage;
import org.apollo.game.message.impl.OpenDialogueInterfaceMessage; import org.apollo.game.message.impl.OpenDialogueInterfaceMessage;
import org.apollo.game.message.impl.OpenInterfaceMessage; import org.apollo.game.message.impl.OpenInterfaceMessage;
import org.apollo.game.message.impl.OpenInterfaceOverlayMessage; import org.apollo.game.message.impl.OpenInterfaceSidebarMessage;
import org.apollo.game.message.impl.OpenOverlayMessage; import org.apollo.game.message.impl.OpenOverlayMessage;
import org.apollo.game.message.impl.OpenSidebarMessage;
import org.apollo.game.model.entity.Player; import org.apollo.game.model.entity.Player;
import org.apollo.game.model.inter.dialogue.DialogueListener; import org.apollo.game.model.inter.dialogue.DialogueListener;
import org.apollo.game.model.inv.InventoryListener; import org.apollo.game.model.inv.InventoryListener;
@@ -172,6 +173,42 @@ public final class InterfaceSet {
player.send(new EnterAmountMessage()); player.send(new EnterAmountMessage());
} }
/**
* Opens an overlay interface.
*
* @param overlay The overlay id.
*/
public void openOverlay(int overlay) {
interfaces.put(InterfaceType.OVERLAY, overlay);
player.send(new OpenOverlayMessage(overlay));
}
/**
* Opens an sidebar interface.
*
* @param sidebar The sidebar id.
*/
public void openSidebar(int sidebar) {
closeAndNotify();
interfaces.put(InterfaceType.SIDEBAR, sidebar);
player.send(new OpenSidebarMessage(sidebar));
}
/**
* Opens an sidebar interface with the specified {@link InventoryListener}.
*
* @param listener The listener.
* @param sidebar The sidebar id.
*/
public void openSidebar(InterfaceListener listener, int sidebar) {
closeAndNotify();
this.listener = Optional.ofNullable(listener);
interfaces.put(InterfaceType.SIDEBAR, sidebar);
player.send(new OpenSidebarMessage(sidebar));
}
/** /**
* Opens a window. * Opens a window.
* *
@@ -219,33 +256,7 @@ public final class InterfaceSet {
interfaces.put(InterfaceType.WINDOW, windowId); interfaces.put(InterfaceType.WINDOW, windowId);
interfaces.put(InterfaceType.SIDEBAR, sidebarId); interfaces.put(InterfaceType.SIDEBAR, sidebarId);
player.send(new OpenInterfaceOverlayMessage(windowId, sidebarId)); player.send(new OpenInterfaceSidebarMessage(windowId, sidebarId));
}
/**
* Opens an overlay interface.
*
* @param overlay The overlay id.
*/
public void openOverlay(int overlay) {
closeAndNotify();
interfaces.put(InterfaceType.OVERLAY, overlay);
player.send(new OpenOverlayMessage(overlay));
}
/**
* Opens an overlay interface with the specified {@link InventoryListener}.
*
* @param listener The listener.
* @param overlay The overlay id.
*/
public void openOverlay(InterfaceListener listener, int overlay) {
closeAndNotify();
this.listener = Optional.ofNullable(listener);
interfaces.put(InterfaceType.OVERLAY, overlay);
player.send(new OpenOverlayMessage(overlay));
} }
/** /**
@@ -1,6 +1,6 @@
package org.apollo.net.release.r317; package org.apollo.net.release.r317;
import org.apollo.game.message.impl.OpenInterfaceOverlayMessage; import org.apollo.game.message.impl.OpenInterfaceSidebarMessage;
import org.apollo.net.codec.game.DataTransformation; import org.apollo.net.codec.game.DataTransformation;
import org.apollo.net.codec.game.DataType; import org.apollo.net.codec.game.DataType;
import org.apollo.net.codec.game.GamePacket; import org.apollo.net.codec.game.GamePacket;
@@ -8,17 +8,17 @@ import org.apollo.net.codec.game.GamePacketBuilder;
import org.apollo.net.release.MessageEncoder; import org.apollo.net.release.MessageEncoder;
/** /**
* A {@link MessageEncoder} for the {@link OpenInterfaceOverlayMessage}. * A {@link MessageEncoder} for the {@link OpenInterfaceSidebarMessage}.
* *
* @author Graham * @author Graham
*/ */
public final class OpenInterfaceOverlayMessageEncoder extends MessageEncoder<OpenInterfaceOverlayMessage> { public final class OpenInterfaceSidebarMessageEncoder extends MessageEncoder<OpenInterfaceSidebarMessage> {
@Override @Override
public GamePacket encode(OpenInterfaceOverlayMessage message) { public GamePacket encode(OpenInterfaceSidebarMessage message) {
GamePacketBuilder builder = new GamePacketBuilder(248); GamePacketBuilder builder = new GamePacketBuilder(248);
builder.put(DataType.SHORT, DataTransformation.ADD, message.getInterfaceId()); builder.put(DataType.SHORT, DataTransformation.ADD, message.getInterfaceId());
builder.put(DataType.SHORT, message.getOverlayId()); builder.put(DataType.SHORT, message.getSidebarId());
return builder.toGamePacket(); return builder.toGamePacket();
} }
@@ -16,7 +16,7 @@ public final class OpenOverlayMessageEncoder extends MessageEncoder<OpenOverlayM
@Override @Override
public GamePacket encode(OpenOverlayMessage message) { public GamePacket encode(OpenOverlayMessage message) {
GamePacketBuilder builder = new GamePacketBuilder(142); GamePacketBuilder builder = new GamePacketBuilder(208);
builder.put(DataType.SHORT, DataOrder.LITTLE, message.getOverlayId()); builder.put(DataType.SHORT, DataOrder.LITTLE, message.getOverlayId());
return builder.toGamePacket(); return builder.toGamePacket();
} }
@@ -0,0 +1,24 @@
package org.apollo.net.release.r317;
import org.apollo.game.message.impl.OpenSidebarMessage;
import org.apollo.net.codec.game.DataOrder;
import org.apollo.net.codec.game.DataType;
import org.apollo.net.codec.game.GamePacket;
import org.apollo.net.codec.game.GamePacketBuilder;
import org.apollo.net.release.MessageEncoder;
/**
* A {@link MessageEncoder} for the {@link OpenSidebarMessage}.
*
* @author Major
*/
public final class OpenSidebarMessageEncoder extends MessageEncoder<OpenSidebarMessage> {
@Override
public GamePacket encode(OpenSidebarMessage message) {
GamePacketBuilder builder = new GamePacketBuilder(142);
builder.put(DataType.SHORT, DataOrder.LITTLE, message.getSidebarId());
return builder.toGamePacket();
}
}
@@ -17,8 +17,9 @@ import org.apollo.game.message.impl.LogoutMessage;
import org.apollo.game.message.impl.NpcSynchronizationMessage; import org.apollo.game.message.impl.NpcSynchronizationMessage;
import org.apollo.game.message.impl.OpenDialogueInterfaceMessage; import org.apollo.game.message.impl.OpenDialogueInterfaceMessage;
import org.apollo.game.message.impl.OpenInterfaceMessage; import org.apollo.game.message.impl.OpenInterfaceMessage;
import org.apollo.game.message.impl.OpenInterfaceOverlayMessage; import org.apollo.game.message.impl.OpenInterfaceSidebarMessage;
import org.apollo.game.message.impl.OpenOverlayMessage; import org.apollo.game.message.impl.OpenOverlayMessage;
import org.apollo.game.message.impl.OpenSidebarMessage;
import org.apollo.game.message.impl.PlayerSynchronizationMessage; import org.apollo.game.message.impl.PlayerSynchronizationMessage;
import org.apollo.game.message.impl.PositionMessage; import org.apollo.game.message.impl.PositionMessage;
import org.apollo.game.message.impl.PrivacyOptionMessage; import org.apollo.game.message.impl.PrivacyOptionMessage;
@@ -179,7 +180,7 @@ public final class Release317 extends Release {
register(UpdateItemsMessage.class, new UpdateItemsMessageEncoder()); register(UpdateItemsMessage.class, new UpdateItemsMessageEncoder());
register(UpdateSlottedItemsMessage.class, new UpdateSlottedItemsMessageEncoder()); register(UpdateSlottedItemsMessage.class, new UpdateSlottedItemsMessageEncoder());
register(UpdateSkillMessage.class, new UpdateSkillMessageEncoder()); register(UpdateSkillMessage.class, new UpdateSkillMessageEncoder());
register(OpenInterfaceOverlayMessage.class, new OpenInterfaceOverlayMessageEncoder()); register(OpenInterfaceSidebarMessage.class, new OpenInterfaceSidebarMessageEncoder());
register(EnterAmountMessage.class, new EnterAmountMessageEncoder()); register(EnterAmountMessage.class, new EnterAmountMessageEncoder());
register(SetWidgetTextMessage.class, new SetWidgetTextMessageEncoder()); register(SetWidgetTextMessage.class, new SetWidgetTextMessageEncoder());
register(NpcSynchronizationMessage.class, new NpcSynchronizationMessageEncoder()); register(NpcSynchronizationMessage.class, new NpcSynchronizationMessageEncoder());
@@ -210,6 +211,7 @@ public final class Release317 extends Release {
register(SendFriendMessage.class, new SendFriendMessageEncoder()); register(SendFriendMessage.class, new SendFriendMessageEncoder());
register(HintIconMessage.class, new HintIconMessageEncoder()); register(HintIconMessage.class, new HintIconMessageEncoder());
register(FlashTabInterfaceMessage.class, new FlashTabInterfaceMessageEncoder()); register(FlashTabInterfaceMessage.class, new FlashTabInterfaceMessageEncoder());
register(OpenSidebarMessage.class, new OpenSidebarMessageEncoder());
register(OpenOverlayMessage.class, new OpenOverlayMessageEncoder()); register(OpenOverlayMessage.class, new OpenOverlayMessageEncoder());
} }
} }
@@ -1,6 +1,6 @@
package org.apollo.net.release.r377; package org.apollo.net.release.r377;
import org.apollo.game.message.impl.OpenInterfaceOverlayMessage; import org.apollo.game.message.impl.OpenInterfaceSidebarMessage;
import org.apollo.net.codec.game.DataOrder; import org.apollo.net.codec.game.DataOrder;
import org.apollo.net.codec.game.DataTransformation; import org.apollo.net.codec.game.DataTransformation;
import org.apollo.net.codec.game.DataType; import org.apollo.net.codec.game.DataType;
@@ -9,17 +9,17 @@ import org.apollo.net.codec.game.GamePacketBuilder;
import org.apollo.net.release.MessageEncoder; import org.apollo.net.release.MessageEncoder;
/** /**
* A {@link MessageEncoder} for the {@link OpenInterfaceOverlayMessage}. * A {@link MessageEncoder} for the {@link OpenInterfaceSidebarMessage}.
* *
* @author Graham * @author Graham
*/ */
public final class OpenInterfaceOverlayMessageEncoder extends MessageEncoder<OpenInterfaceOverlayMessage> { public final class OpenInterfaceSidebarMessageEncoder extends MessageEncoder<OpenInterfaceSidebarMessage> {
@Override @Override
public GamePacket encode(OpenInterfaceOverlayMessage message) { public GamePacket encode(OpenInterfaceSidebarMessage message) {
GamePacketBuilder builder = new GamePacketBuilder(128); GamePacketBuilder builder = new GamePacketBuilder(128);
builder.put(DataType.SHORT, DataTransformation.ADD, message.getInterfaceId()); builder.put(DataType.SHORT, DataTransformation.ADD, message.getInterfaceId());
builder.put(DataType.SHORT, DataOrder.LITTLE, DataTransformation.ADD, message.getOverlayId()); builder.put(DataType.SHORT, DataOrder.LITTLE, DataTransformation.ADD, message.getSidebarId());
return builder.toGamePacket(); return builder.toGamePacket();
} }
@@ -1,8 +1,6 @@
package org.apollo.net.release.r377; package org.apollo.net.release.r377;
import org.apollo.game.message.impl.OpenOverlayMessage; import org.apollo.game.message.impl.OpenOverlayMessage;
import org.apollo.net.codec.game.DataOrder;
import org.apollo.net.codec.game.DataTransformation;
import org.apollo.net.codec.game.DataType; import org.apollo.net.codec.game.DataType;
import org.apollo.net.codec.game.GamePacket; import org.apollo.net.codec.game.GamePacket;
import org.apollo.net.codec.game.GamePacketBuilder; import org.apollo.net.codec.game.GamePacketBuilder;
@@ -17,8 +15,8 @@ public final class OpenOverlayMessageEncoder extends MessageEncoder<OpenOverlayM
@Override @Override
public GamePacket encode(OpenOverlayMessage message) { public GamePacket encode(OpenOverlayMessage message) {
GamePacketBuilder builder = new GamePacketBuilder(246); GamePacketBuilder builder = new GamePacketBuilder(50);
builder.put(DataType.SHORT, DataOrder.LITTLE, DataTransformation.ADD, message.getOverlayId()); builder.put(DataType.SHORT, message.getOverlayId());
return builder.toGamePacket(); return builder.toGamePacket();
} }
@@ -0,0 +1,25 @@
package org.apollo.net.release.r377;
import org.apollo.game.message.impl.OpenSidebarMessage;
import org.apollo.net.codec.game.DataOrder;
import org.apollo.net.codec.game.DataTransformation;
import org.apollo.net.codec.game.DataType;
import org.apollo.net.codec.game.GamePacket;
import org.apollo.net.codec.game.GamePacketBuilder;
import org.apollo.net.release.MessageEncoder;
/**
* A {@link MessageEncoder} for the {@link OpenSidebarMessage}.
*
* @author Major
*/
public final class OpenSidebarMessageEncoder extends MessageEncoder<OpenSidebarMessage> {
@Override
public GamePacket encode(OpenSidebarMessage message) {
GamePacketBuilder builder = new GamePacketBuilder(246);
builder.put(DataType.SHORT, DataOrder.LITTLE, DataTransformation.ADD, message.getSidebarId());
return builder.toGamePacket();
}
}
@@ -17,8 +17,9 @@ import org.apollo.game.message.impl.LogoutMessage;
import org.apollo.game.message.impl.NpcSynchronizationMessage; import org.apollo.game.message.impl.NpcSynchronizationMessage;
import org.apollo.game.message.impl.OpenDialogueInterfaceMessage; import org.apollo.game.message.impl.OpenDialogueInterfaceMessage;
import org.apollo.game.message.impl.OpenInterfaceMessage; import org.apollo.game.message.impl.OpenInterfaceMessage;
import org.apollo.game.message.impl.OpenInterfaceOverlayMessage; import org.apollo.game.message.impl.OpenInterfaceSidebarMessage;
import org.apollo.game.message.impl.OpenOverlayMessage; import org.apollo.game.message.impl.OpenOverlayMessage;
import org.apollo.game.message.impl.OpenSidebarMessage;
import org.apollo.game.message.impl.PlayerSynchronizationMessage; import org.apollo.game.message.impl.PlayerSynchronizationMessage;
import org.apollo.game.message.impl.PositionMessage; import org.apollo.game.message.impl.PositionMessage;
import org.apollo.game.message.impl.PrivacyOptionMessage; import org.apollo.game.message.impl.PrivacyOptionMessage;
@@ -175,7 +176,7 @@ public final class Release377 extends Release {
register(UpdateItemsMessage.class, new UpdateItemsMessageEncoder()); register(UpdateItemsMessage.class, new UpdateItemsMessageEncoder());
register(UpdateSlottedItemsMessage.class, new UpdateSlottedItemsMessageEncoder()); register(UpdateSlottedItemsMessage.class, new UpdateSlottedItemsMessageEncoder());
register(UpdateSkillMessage.class, new UpdateSkillMessageEncoder()); register(UpdateSkillMessage.class, new UpdateSkillMessageEncoder());
register(OpenInterfaceOverlayMessage.class, new OpenInterfaceOverlayMessageEncoder()); register(OpenInterfaceSidebarMessage.class, new OpenInterfaceSidebarMessageEncoder());
register(EnterAmountMessage.class, new EnterAmountMessageEncoder()); register(EnterAmountMessage.class, new EnterAmountMessageEncoder());
register(SetWidgetTextMessage.class, new SetWidgetTexMessageEncoder()); register(SetWidgetTextMessage.class, new SetWidgetTexMessageEncoder());
register(NpcSynchronizationMessage.class, new NpcSynchronizationMessageEncoder()); register(NpcSynchronizationMessage.class, new NpcSynchronizationMessageEncoder());
@@ -206,6 +207,7 @@ public final class Release377 extends Release {
register(SendFriendMessage.class, new SendFriendMessageEncoder()); register(SendFriendMessage.class, new SendFriendMessageEncoder());
register(HintIconMessage.class, new HintIconMessageEncoder()); register(HintIconMessage.class, new HintIconMessageEncoder());
register(FlashTabInterfaceMessage.class, new FlashTabInterfaceMessageEncoder()); register(FlashTabInterfaceMessage.class, new FlashTabInterfaceMessageEncoder());
register(OpenSidebarMessage.class, new OpenSidebarMessageEncoder());
register(OpenOverlayMessage.class, new OpenOverlayMessageEncoder()); register(OpenOverlayMessage.class, new OpenOverlayMessageEncoder());
} }