Arcturus-Community/src/main/java/com/eu/habbo/messages/outgoing/rooms/UpdateStackHeightComposer.java
2019-05-26 21:15:26 +03:00

45 lines
1.4 KiB
Java

package com.eu.habbo.messages.outgoing.rooms;
import com.eu.habbo.habbohotel.rooms.RoomTile;
import com.eu.habbo.messages.ServerMessage;
import com.eu.habbo.messages.outgoing.MessageComposer;
import com.eu.habbo.messages.outgoing.Outgoing;
import gnu.trove.set.hash.THashSet;
public class UpdateStackHeightComposer extends MessageComposer {
private int x;
private int y;
private double height;
private THashSet<RoomTile> updateTiles;
public UpdateStackHeightComposer(int x, int y, double height) {
this.x = x;
this.y = y;
this.height = height;
}
public UpdateStackHeightComposer(THashSet<RoomTile> updateTiles) {
this.updateTiles = updateTiles;
}
@Override
public ServerMessage compose() {
this.response.init(Outgoing.UpdateStackHeightComposer);
if (this.updateTiles != null) {
this.response.appendByte(this.updateTiles.size());
for (RoomTile t : this.updateTiles) {
this.response.appendByte((int) t.x);
this.response.appendByte((int) t.y);
this.response.appendShort(t.relativeHeight());
}
} else {
this.response.appendByte(1);
this.response.appendByte(this.x);
this.response.appendByte(this.y);
this.response.appendShort((int) (this.height));
}
return this.response;
}
}