static async Task HandleRealmListRequest(ClientRequest clientRequest, BnetSession session)
{
var realmJoinRequest = clientRequest.GetVariant("Command_RealmListRequest_v1_b9")?.StringValue;
var realmListTicket = clientRequest.GetVariant("Param_RealmListTicket")?.BlobValue.ToByteArray();
if (session.RealmListTicket.Compare(realmListTicket))
{
var realmListResponse = new ClientResponse();
var realmlist = new RealmListUpdates();
realmListResponse.Attribute.Add(new Bgs.Protocol.Attribute
{
Name = "Param_RealmList",
Value = new Variant
{
BlobValue = ByteString.CopyFrom(Deflate("JSONRealmListUpdates", realmlist))
}
});
var realmCharacterCountList = new RealmCharacterCountList();
realmListResponse.Attribute.Add(new Bgs.Protocol.Attribute
{
Name = "Param_CharacterCountList",
Value = new Variant
{
BlobValue = ByteString.CopyFrom(Deflate("JSONRealmCharacterCountList", realmCharacterCountList))
}
});
await session.Send(realmListResponse);
}
}