Add SetWidgetModelMessage

This commit is contained in:
Major-
2016-02-10 19:45:32 +00:00
parent d10eb1267f
commit 7a4392fe74
5 changed files with 113 additions and 0 deletions
@@ -0,0 +1,51 @@
package org.apollo.game.message.impl;
import org.apollo.net.message.Message;
/**
* A {@link Message} sent to the client to set a widget's displayed model.
*
* @author Major
*/
public final class SetWidgetModelMessage extends Message {
/**
* The model id.
*/
private final int model;
/**
* The interface id.
*/
private final int interfaceId;
/**
* Creates a new SetWidgetModelMessage.
*
* @param interfaceId The interface id.
* @param model The model id.
*/
public SetWidgetModelMessage(int interfaceId, int model) {
this.interfaceId = interfaceId;
this.model = model;
}
/**
* Gets the model id.
*
* @return The model id.
*/
public int getModel() {
return model;
}
/**
* Gets the interface id.
*
* @return The interface id.
*/
public int getInterfaceId() {
return interfaceId;
}
}
@@ -35,6 +35,7 @@ import org.apollo.game.message.impl.SetPlayerActionMessage;
import org.apollo.game.message.impl.SetUpdatedRegionMessage;
import org.apollo.game.message.impl.SetWidgetItemModelMessage;
import org.apollo.game.message.impl.SetWidgetModelAnimationMessage;
import org.apollo.game.message.impl.SetWidgetModelMessage;
import org.apollo.game.message.impl.SetWidgetNpcModelMessage;
import org.apollo.game.message.impl.SetWidgetPlayerModelMessage;
import org.apollo.game.message.impl.SetWidgetTextMessage;
@@ -189,11 +190,14 @@ public final class Release317 extends Release {
register(EnterAmountMessage.class, new EnterAmountMessageEncoder());
register(SetWidgetTextMessage.class, new SetWidgetTextMessageEncoder());
register(NpcSynchronizationMessage.class, new NpcSynchronizationMessageEncoder());
register(SetWidgetVisibilityMessage.class, new SetWidgetVisibilityMessageEncoder());
register(SetWidgetItemModelMessage.class, new SetWidgetItemModelMessageEncoder());
register(SetWidgetNpcModelMessage.class, new SetWidgetNpcModelMessageEncoder());
register(SetWidgetPlayerModelMessage.class, new SetWidgetPlayerModelMessageEncoder());
register(SetWidgetModelAnimationMessage.class, new SetWidgetModelAnimationMessageEncoder());
register(SetWidgetModelMessage.class, new SetWidgetModelMessageEncoder());
register(ConfigMessage.class, new ConfigMessageEncoder());
register(DisplayTabInterfaceMessage.class, new DisplayTabInterfaceMessageEncoder());
register(SetUpdatedRegionMessage.class, new SetUpdatedRegionMessageEncoder());
@@ -0,0 +1,28 @@
package org.apollo.game.release.r317;
import org.apollo.game.message.impl.SetWidgetModelMessage;
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 SetWidgetModelMessage}.
*
* @author Major
*/
public class SetWidgetModelMessageEncoder extends MessageEncoder<SetWidgetModelMessage> {
@Override
public GamePacket encode(SetWidgetModelMessage message) {
GamePacketBuilder builder = new GamePacketBuilder(8);
builder.put(DataType.SHORT, DataOrder.LITTLE, DataTransformation.ADD, message.getInterfaceId());
builder.put(DataType.SHORT, message.getModel());
return builder.toGamePacket();
}
}
@@ -183,11 +183,13 @@ public final class Release377 extends Release {
register(EnterAmountMessage.class, new EnterAmountMessageEncoder());
register(SetWidgetTextMessage.class, new SetWidgetTextMessageEncoder());
register(NpcSynchronizationMessage.class, new NpcSynchronizationMessageEncoder());
register(SetWidgetVisibilityMessage.class, new SetWidgetVisibilityMessageEncoder());
register(SetWidgetItemModelMessage.class, new SetWidgetItemModelMessageEncoder());
register(SetWidgetNpcModelMessage.class, new SetWidgetNpcModelMessageEncoder());
register(SetWidgetPlayerModelMessage.class, new SetWidgetPlayerModelMessageEncoder());
register(SetWidgetModelAnimationMessage.class, new SetWidgetModelAnimationMessageEncoder());
register(ConfigMessage.class, new ConfigMessageEncoder());
register(DisplayTabInterfaceMessage.class, new DisplayTabInterfaceMessageEncoder());
register(SetUpdatedRegionMessage.class, new SetUpdatedRegionMessageEncoder());
@@ -0,0 +1,28 @@
package org.apollo.game.release.r377;
import org.apollo.game.message.impl.SetWidgetModelMessage;
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 SetWidgetModelMessage}.
*
* @author Major
*/
public final class SetWidgetModelMessageEncoder extends MessageEncoder<SetWidgetModelMessage> {
@Override
public GamePacket encode(SetWidgetModelMessage message) {
GamePacketBuilder builder = new GamePacketBuilder(216);
builder.put(DataType.SHORT, DataOrder.LITTLE, DataTransformation.ADD, message.getModel());
builder.put(DataType.SHORT, DataOrder.LITTLE, DataTransformation.ADD, message.getInterfaceId());
return builder.toGamePacket();
}
}