Exemplo n.º 1
0
        /// <summary>
        ///     초기화, 반드시 사용전 호출해서 API Key를 설정하고 사용한다.
        /// </summary>
        /// <returns></returns>
        public async Task InitAsync()
        {
            _network = new NetworkAvailableService();

            var uri = new Uri("ms-appx:///ApiKeys.publishsettings");

            try
            {
                var apiFile = await StorageFile.GetFileFromApplicationUriAsync(uri);

                var content = await FileIO.ReadTextAsync(apiFile);

                string[] stringSeparators = { "\r\n" };
                var      lines            = content.Split(stringSeparators, StringSplitOptions.None);
                _apiKeys = (from kkk in lines
                            where kkk.Length > 0 //Apikey 파일 편집시 new line이 들어가는 경우, outofbound Exception이 발생하여 이 부분을 처리하였습니다.
                            let key = kkk.Split('=')
                                      select new KeyValuePair <string, string>(key[0], key[1])).ToList();
            }
            catch (FileNotFoundException)
            {
                await new MessageDialog("ApiKeys 파일을 찾지 못햇습니다. \n다시 확인해 주세요.").ShowAsync();
                return;
            }
            catch (Exception)
            {
                await new MessageDialog("ApiKeys 파일을 읽는 중에 문제가 발생하였습니다. \n 다시 확인해 주세요.").ShowAsync();
                return;
            }

            SelectedGameServer = GameConfigs.ServerKR;
            SelectedLocale     = GameConfigs.LocaleKR;
        }
Exemplo n.º 2
0
        /// <summary>
        ///     초기화, 반드시 사용전 호출해서 API Key를 설정하고 사용한다.
        /// </summary>
        /// <returns></returns>
        public async Task InitAsync()
        {
            _network = new NetworkAvailableService();


            try
            {
                //임베디드 리소스 파일 불러오기
                var assembly         = typeof(App).GetTypeInfo().Assembly;
                var textStreamReader =
                    new StreamReader(assembly.GetManifestResourceStream("Diablo3Hub.ApiKeys.publishsettings"));
                if (textStreamReader.Peek() == -1)
                {
                    return;
                }
                var      content          = textStreamReader.ReadLine();
                string[] stringSeparators = { "\r\n" };
                var      lines            = content.Split(stringSeparators, StringSplitOptions.None);
                //Apikey 파일 편집시 new line이 들어가는 경우, outofbound Exception이 발생하여 이 부분을 처리하였습니다.
                _apiKeys = (from kkk in lines
                            where kkk.Length > 0
                            let key = kkk.Split('=')
                                      select new KeyValuePair <string, string>(key[0], key[1])).ToList();
            }
            catch (FileNotFoundException)
            {
                //ApiKeys.publishsettings 파일을 프로젝트에 추가해서 사용해야 합니다.
                //블리자드(https://dev.battle.net/)에서 발급받은 API Key와 Secret을 입력하시면 됩니다.
                await new MessageDialog("ApiKeys 파일을 찾지 못햇습니다. \n다시 확인해 주세요.").ShowAsync();
                return;
            }
            catch (Exception)
            {
                await new MessageDialog("ApiKeys 파일을 읽는 중에 문제가 발생하였습니다. \n 다시 확인해 주세요.").ShowAsync();
                return;
            }

            SelectedGameServer = GameConfigs.ServerKR;
            SelectedLocale     = GameConfigs.LocaleKR;
        }
Exemplo n.º 3
0
 public DefaultNetworkAvailableStrategy(INetworkAvailableService service)
 {
     (_service = service).AvailabilityChanged += _service_AvailabilityChanged;
 }