private async void WebCallbackListenerOnLobbyRequested(object sender, EventArgs eventArgs) { if (!ShellViewModel.ValidLobbyFilePresent()) { return; } var lobbyProcessor = new LobbyFileProcessor(Const.BattleLobbyPath); var region = lobbyProcessor.GetRegion(); if (!_lobbyParameter.ContainsKey(region)) { _lobbyParameter[region] = await _restApi.GetLobbyParameter(region.ToString()); } if (!_lobbyHeroes.ContainsKey(region)) { var result = await _restApi.GetLobbyHeroList(region.ToString()); _lobbyHeroes[region] = result.Select(h => h.Name).ToList(); } if (!_lobbyMaps.ContainsKey(region)) { var result = await _restApi.GetLobbyMapList(region.ToString()); _lobbyMaps[region] = result.Select(h => h.Name).ToList(); } var game = lobbyProcessor.ParseLobbyInfo(_lobbyParameter[region], _lobbyHeroes[region], _lobbyMaps[region]); Execute.OnUIThread(() => { FillMMR(game); Show(); }); }