Beispiel #1
0
        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();
            });
        }