Пример #1
0
        private void displayForLanguage(Language language)
        {
            LanguageWorldData languageWorldData = this.languageWorldData[language];

            if (languageWorldData != null)
            {
                queryForWorlds(languageWorldData);
                displayButtonsForLanguage(languageWorldData.Language);
                loadButtonsForLanguage(languageWorldData.Language);
            }
        }
Пример #2
0
 private void queryForWorlds(LanguageWorldData languageWorldData)
 {
     if (!languageWorldData.WorldsQueried)
     {
         string room = Service.Get <GameStateController>().SceneConfig.DefaultZoneName;
         if (dataEntityCollection.TryGetComponent <PresenceData>(dataEntityCollection.LocalPlayerHandle, out var component) && !string.IsNullOrEmpty(component.Room))
         {
             room = component.Room;
         }
         Service.Get <INetworkServicesManager>().WorldService.GetWorldsWithRoomPopulation(room, languageWorldData.Language.ToString());
         languageWorldData.WorldsQueried = true;
     }
 }
Пример #3
0
        private void loadButtonsForLanguage(Language language)
        {
            if (!(buttonPrefab != null) || !this.languageWorldData.ContainsKey(language) || this.languageWorldData[language].ButtonsLoaded)
            {
                return;
            }
            HashSet <WorldDefinition> worlds = Service.Get <ZoneTransitionService>().Worlds;

            foreach (WorldDefinition item in worlds)
            {
                if (item.Language == language && !item.Igloo)
                {
                    loadWorldButton(item, language);
                }
            }
            LanguageWorldData languageWorldData = this.languageWorldData[language];

            languageWorldData.ButtonsLoaded = true;
        }
Пример #4
0
        private void initializeLanguageDropdown()
        {
            this.languageWorldData.Clear();
            Localizer                 localizer = Service.Get <Localizer>();
            List <string>             list      = new List <string>();
            HashSet <WorldDefinition> worlds    = Service.Get <ZoneTransitionService>().Worlds;

            foreach (WorldDefinition item in worlds)
            {
                if (!this.languageWorldData.ContainsKey(item.Language) && !item.Igloo)
                {
                    this.languageWorldData.Add(item.Language, new LanguageWorldData(list.Count, item.Language));
                    list.Add(localizer.GetTokenTranslation(LocalizationLanguage.GetLanguageToken(item.Language)));
                }
            }
            LanguageDropdown.ClearOptions();
            LanguageDropdown.AddOptions(list);
            Language          language          = LocalizationLanguage.GetLanguage();
            LanguageWorldData languageWorldData = this.languageWorldData[language];

            LanguageDropdown.value = languageWorldData.DropdownIndex;
            onLanguageFilterChanged(languageWorldData.DropdownIndex);
        }