Я понятия не имею, как к этому подойти. Мне нужно написать сериализатор для объекта Array<>
, найденного в libgdx.
public static void initialize(Server server) {
Kryo kryo = server.getKryo();
kryo.register(ServerData.class);
kryo.register(PlayerNick.class);
kryo.register(MoveLeft.class);
kryo.register(MoveRight.class);
kryo.register(MoveUp.class);
kryo.register(MoveDown.class);
kryo.register(StandUp.class);
kryo.register(ButtonLeft.class);
kryo.register(ButtonRight.class);
//
kryo.register(PlayerData.class);
kryo.register(Vector2.class);
kryo.register(Array.class);
kryo.register(PlayerDataPacket.class);
}
public static void initialize(Client client) {
Kryo kryo = client.getKryo();
kryo.register(ServerData.class);
kryo.register(PlayerNick.class);
kryo.register(MoveLeft.class);
kryo.register(MoveRight.class);
kryo.register(MoveUp.class);
kryo.register(MoveDown.class);
kryo.register(StandUp.class);
kryo.register(ButtonLeft.class);
kryo.register(ButtonRight.class);
//
kryo.register(PlayerData.class);
kryo.register(Vector2.class);
kryo.register(Array.class);
kryo.register(PlayerDataPacket.class);
}
public static class PlayerData {
public String name;
public int id;
public Vector2 position;
}
public static class PlayerDataPacket {
public Array<PlayerData> playerList = new Array<PlayerData>();
}
Так происходит моя обычная сериализация. Здесь мне нужно написать собственный сериализатор для PlayerDataPacket
.
Я нашел это: https://groups.google.com/forum/#!topic/kryonet-users/9z4Ix2JO7JA, но он кажется устаревшим, так как не может найти несколько методов, плюс не говорит, как это сделать с Array<>
.