Example #1
0
        static void Init()
        {
            window   = (AutomaticLanguageAdd)EditorWindow.GetWindow(typeof(AutomaticLanguageAdd), true, "All texts without Language Loader");
            allTexts = EditorUtils.FindObjectsOfTypeAll <Text>();
            textToMapButton.Clear();
            allTextWithoutLoader.Clear();
            providerKeyToMapButton.Clear();
            allLanguageKeysProvider.Clear();
            languageKeysProviderToAdd.Clear();

            if (allLanguageNames == null)
            {
                List <SystemLanguage> allLanguagesValue = SystemLanguage.GetValues(typeof(SystemLanguage)).Cast <SystemLanguage>().ToList();

                allLanguageNames = new List <string>();

                foreach (SystemLanguage lang in allLanguagesValue)
                {
                    allLanguageNames.Add(lang.ToString());
                }
            }

            for (int i = 0; i < allTexts.Count; i++)
            {
                GameObject currentGameobject = allTexts[i].gameObject;
                if (currentGameobject.GetComponent <LanguageLoader>() == null)
                {
                    textToMapButton.Add(allTexts[i], false);
                    allTextWithoutLoader.Add(allTexts[i]);
                }
            }


            allLanguageKeysProvider = EditorUtils.FindObjectsOfTypeAll <ISourceCodeLanguageProvider>();
            for (int i = 0; i < allLanguageKeysProvider.Count; i++)
            {
                ISourceCodeLanguageProvider currentGameobject = allLanguageKeysProvider[i];

                List <string> allKeys = currentGameobject.GetAllProvidedKeys();

                foreach (string currentkey in allKeys)
                {
                    if (!providerKeyToMapButton.ContainsKey(currentkey))
                    {
                        providerKeyToMapButton.Add(currentkey, false);
                        languageKeysProviderToAdd.Add(currentkey);
                    }
                    else
                    {
                        Debug.Log("The key " + currentkey + " is already here");
                    }
                }
            }

            window.Show();
        }