void OnEnable()
        {
            var dropdown = GetComponent <Dropdown>();

            if (dropdown == null)
            {
                return;
            }

            var currentLanguage = LocalizationManager.CurrentLanguage;

            if (LocalizationManager.Sources.Count == 0)
            {
                LocalizationManager.UpdateSources();
            }
            var languages = LocalizationManager.GetAllLanguages();

            // Fill the dropdown elements
            dropdown.ClearOptions();
            dropdown.AddOptions(languages);

            dropdown.value = languages.IndexOf(currentLanguage);
            dropdown.onValueChanged.RemoveListener(OnValueChanged);
            dropdown.onValueChanged.AddListener(OnValueChanged);
        }
        void TaskOnClick()
        {
            //--  to move into the next language ----

            List <string> languages = LocalizationManager.GetAllLanguages();
            int           Index     = languages.IndexOf(LocalizationManager.CurrentLanguage);

            if (Index < 0)
            {
                Index = 0;
            }
            else
            {
                if (gameObject.name.Substring(0, 1) == "+")
                {
                    Index = (Index + 1) % languages.Count;
                    Debug.Log("Language++");
                }
                else
                {
                    Debug.Log("Language--");
                    Index = (Index - 1) % languages.Count;
                }
            }
            LocalizationManager.CurrentLanguage = languages[Index];
        }
        public override void OnInspectorGUI()
        {
            string[]       Languages;
            LanguageSource source = setLan.mSource;

            if (source == null)
            {
                LocalizationManager.UpdateSources();
                Languages = LocalizationManager.GetAllLanguages().ToArray();
                System.Array.Sort(Languages);
            }
            else
            {
                Languages = source.GetLanguages().ToArray();
                System.Array.Sort(Languages);
            }

            int index = System.Array.IndexOf(Languages, mProp_Language.stringValue);

            GUI.changed = false;
            index       = EditorGUILayout.Popup("Language", index, Languages);
            if (GUI.changed)
            {
                if (index < 0 || index >= Languages.Length)
                {
                    mProp_Language.stringValue = string.Empty;
                }
                else
                {
                    mProp_Language.stringValue = Languages[index];
                }
                GUI.changed = false;
                serializedObject.ApplyModifiedProperties();
            }

            GUILayout.Space(5);
            if (setLan.mSource == null)
            {
                GUI.contentColor = Color.Lerp(Color.gray, Color.yellow, 0.1f);
            }
            source           = EditorGUILayout.ObjectField("Language Source:", source, typeof(LanguageSource), true) as LanguageSource;
            GUI.contentColor = Color.white;

            if (GUI.changed)
            {
                setLan.mSource = source;
            }

            serializedObject.ApplyModifiedProperties();
        }
Beispiel #4
0
        private void test()
        {
            List <string> allLanguages = LocalizationManager.GetAllLanguages();
            int           num          = allLanguages.IndexOf(LocalizationManager.CurrentLanguage);

            if (num < 0)
            {
                num = 0;
            }
            else
            {
                num = (num + 1) % allLanguages.Count;
            }
            Invoke("test", 3f);
        }
Beispiel #5
0
        public static string GetLanguageTitleByCode(string code)
        {
            string result = null;

            List <string> languages = LocalizationManager.GetAllLanguages();
            List <string> codes     = LocalizationManager.GetAllLanguagesCode();

            for (int i = 0; i < languages.Count; i++)
            {
                if (code.ToLower() == codes[i].ToLower())
                {
                    result = languages[i];
                }
            }

            return(result);
        }
        private void OnEnable()
        {
            Dropdown component = GetComponent <Dropdown>();

            if (!(component == null))
            {
                string currentLanguage = LocalizationManager.CurrentLanguage;
                if (LocalizationManager.Sources.Count == 0)
                {
                    LocalizationManager.UpdateSources();
                }
                List <string> allLanguages = LocalizationManager.GetAllLanguages();
                component.ClearOptions();
                component.AddOptions(allLanguages);
                component.value = allLanguages.IndexOf(currentLanguage);
                component.onValueChanged.RemoveListener(OnValueChanged);
                component.onValueChanged.AddListener(OnValueChanged);
            }
        }
Beispiel #7
0
        void test()
        {
            //--  to move into the next language ----

            List <string> languages = LocalizationManager.GetAllLanguages();
            int           Index     = languages.IndexOf(LocalizationManager.CurrentLanguage);

            if (Index < 0)
            {
                Index = 0;
            }
            else
            {
                Index = (Index + 1) % languages.Count;
            }

            //-- Call this function again in 3 seconds

            Invoke("test", 3);
        }
Beispiel #8
0
        public override void OnEnter()
        {
            var ok        = false;
            var languages = LocalizationManager.GetAllLanguages();
            var idx       = languages.IndexOf(LocalizationManager.CurrentLanguage);

            if (idx >= 0 && languages.Count > 1)
            {
                // select next language
                LocalizationManager.CurrentLanguage = languages[(idx + 1) % languages.Count];
                ok = true;
            }

            if (!success.IsNone)
            {
                success.Value = ok;
            }

            Fsm.Event(ok ? successEvent : failureEvent);

            Finish();
        }
        bool EditLanguageSelection()
        {
            var _changed = false;

            if (_target.language == null)
            {
                return(false);
            }

            // make sure our FsmString is not pointing to a variable.
            _target.language.UseVariable = false;


            LocalizationManager.UpdateSources();
            string[] Languages = LocalizationManager.GetAllLanguages().ToArray();
            System.Array.Sort(Languages);


            int index = System.Array.IndexOf(Languages, _target.language.Value);

            int newIndex = EditorGUILayout.Popup("Language", index, Languages);

            if (newIndex != index)
            {
                index    = newIndex;
                _changed = true;
                if (index < 0 || index >= Languages.Length)
                {
                    _target.language.Value = string.Empty;
                }
                else
                {
                    _target.language.Value = Languages[index];
                }
            }

            return(_changed);
        }