forked from MagicBane/Server
One serialization not 3.
This commit is contained in:
@@ -9,15 +9,15 @@
|
|||||||
|
|
||||||
package engine.net.client.msg;
|
package engine.net.client.msg;
|
||||||
|
|
||||||
import engine.Enum;
|
|
||||||
import engine.Enum.GameObjectType;
|
|
||||||
import engine.exception.SerializationException;
|
import engine.exception.SerializationException;
|
||||||
import engine.net.AbstractConnection;
|
import engine.net.AbstractConnection;
|
||||||
import engine.net.AbstractNetMsg;
|
import engine.net.AbstractNetMsg;
|
||||||
import engine.net.ByteBufferReader;
|
import engine.net.ByteBufferReader;
|
||||||
import engine.net.ByteBufferWriter;
|
import engine.net.ByteBufferWriter;
|
||||||
import engine.net.client.Protocol;
|
import engine.net.client.Protocol;
|
||||||
import engine.objects.*;
|
import engine.objects.AbstractCharacter;
|
||||||
|
import engine.objects.Corpse;
|
||||||
|
import engine.objects.NPC;
|
||||||
|
|
||||||
public class LoadCharacterMsg extends ClientNetMsg {
|
public class LoadCharacterMsg extends ClientNetMsg {
|
||||||
|
|
||||||
@@ -70,7 +70,7 @@ public class LoadCharacterMsg extends ClientNetMsg {
|
|||||||
@Override
|
@Override
|
||||||
protected void _serialize(ByteBufferWriter writer) throws SerializationException {
|
protected void _serialize(ByteBufferWriter writer) throws SerializationException {
|
||||||
|
|
||||||
if (absChar != null && absChar.getObjectType() == GameObjectType.NPC) {
|
if (absChar != null) {
|
||||||
NPC npc = (NPC) absChar;
|
NPC npc = (NPC) absChar;
|
||||||
|
|
||||||
if (npc.region != null) {
|
if (npc.region != null) {
|
||||||
@@ -81,66 +81,11 @@ public class LoadCharacterMsg extends ClientNetMsg {
|
|||||||
writer.putInt(-1);
|
writer.putInt(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
} else if (absChar != null) {
|
|
||||||
|
|
||||||
if (absChar.getObjectType().equals(GameObjectType.PlayerCharacter)) {
|
|
||||||
Regions region = absChar.region;
|
|
||||||
|
|
||||||
if (region == null) {
|
|
||||||
writer.putInt(-1);
|
|
||||||
writer.putInt(-1);
|
|
||||||
} else {
|
|
||||||
Building regionBuilding = Regions.GetBuildingForRegion(region);
|
|
||||||
if (regionBuilding == null) {
|
|
||||||
writer.putInt(-1);
|
|
||||||
writer.putInt(-1);
|
|
||||||
} else {
|
|
||||||
writer.putInt(region.getLevel());
|
|
||||||
writer.putInt(region.getRoom());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (absChar.getObjectType().equals(GameObjectType.Mob)){
|
|
||||||
Regions region = absChar.region;
|
|
||||||
|
|
||||||
if (region == null){
|
|
||||||
writer.putInt(-1);
|
|
||||||
writer.putInt(-1);
|
|
||||||
}else{
|
|
||||||
Building regionBuilding = Regions.GetBuildingForRegion(region);
|
|
||||||
if (regionBuilding == null){
|
|
||||||
writer.putInt(-1);
|
|
||||||
writer.putInt(-1);
|
|
||||||
}else{
|
|
||||||
writer.putInt(region.getLevel());
|
|
||||||
writer.putInt(region.getRoom());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//TODO below is Mob Region Serialization, not implemented. default to -1, which is ground.
|
|
||||||
}else {
|
|
||||||
|
|
||||||
Mob mobile = (Mob) absChar;
|
|
||||||
|
|
||||||
if (mobile.building != null &&
|
|
||||||
mobile.building.getBlueprint() != null) {
|
|
||||||
|
|
||||||
Blueprint blueprint = mobile.building.getBlueprint();
|
|
||||||
|
|
||||||
if (blueprint.getBuildingGroup().equals(Enum.BuildingGroup.ARTYTOWER)) {
|
|
||||||
writer.putInt(-0);
|
|
||||||
writer.putInt(-0);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
writer.putInt(-1);
|
|
||||||
writer.putInt(-1);
|
|
||||||
}
|
|
||||||
|
|
||||||
} else if (corpse != null){
|
} else if (corpse != null){
|
||||||
writer.putInt(-1);
|
writer.putInt(-1);
|
||||||
writer.putInt(-1);
|
writer.putInt(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (corpse != null) {
|
if (corpse != null) {
|
||||||
writer.putInt(Float.floatToIntBits(corpse.getLoc().getX()));
|
writer.putInt(Float.floatToIntBits(corpse.getLoc().getX()));
|
||||||
writer.putInt(Float.floatToIntBits(corpse.getLoc().getY()));
|
writer.putInt(Float.floatToIntBits(corpse.getLoc().getY()));
|
||||||
|
|||||||
Reference in New Issue
Block a user