private void DrawNoKeysDetected()
        {
            EditorGUILayout.HelpBox(string.Format("No keys found in path {0}\n\n You want to create one?", KeysFilePath), MessageType.Info);

            EditorWindowHelper.HorizontalLayout(() =>
            {
                if (GUILayout.Button("Create Keys file"))
                {
                    var newFile = ScriptableObject.CreateInstance <SimpleLanguageKeys>();
                    AssetDatabase.CreateAsset(newFile, KeysFilePath);
                    EditorUtility.SetDirty(newFile);
                    AssetDatabase.SaveAssets();
                }
            });
        }
        private void DrawNoConfigDetected()
        {
            EditorGUILayout.HelpBox(string.Format("No config found in path {0}\n\n You want to create one?", ConfigFilePath), MessageType.Info);

            EditorWindowHelper.HorizontalLayout(() =>
            {
                if (GUILayout.Button("Create Config"))
                {
                    AssetDatabase.CreateFolder("Assets/Resources", "Localization");
                    var newConfig = ScriptableObject.CreateInstance <SimpleLanguageConfig>();
                    AssetDatabase.CreateAsset(newConfig, ConfigFilePath);
                    EditorUtility.SetDirty(newConfig);
                    AssetDatabase.SaveAssets();
                }
            });
        }
        protected override void OnDrawGUI()
        {
            if (CurrentConfig == null)
            {
                DrawNoConfigDetected();
                return;
            }

            if (CurrentKeys == null)
            {
                DrawNoKeysDetected();
                return;
            }

            if (!CurrentConfig.Languages.Any())
            {
                EditorWindowHelper.HorizontalLayout(() =>
                {
                    EditorGUILayout.HelpBox("No languages detected!", MessageType.Info);
                });
            }

            EditorGUILayout.LabelField("Basic Configuration");

            EditorGUI.BeginChangeCheck();

            CurrentConfig.AutodetectLanguage =
                EditorGUILayout.Toggle("Autodetect Language: ", CurrentConfig.AutodetectLanguage);

            if (GUI.changed)
            {
                EditorUtility.SetDirty(CurrentConfig);
                AssetDatabase.SaveAssets();
            }

            EditorGUI.EndChangeCheck();

            DrawLanguages();

            EditorWindowHelper.HorizontalLayout(() =>
            {
                if (GUILayout.Button("Create Language!"))
                {
                    EditOrCreateLanguage();
                }
            });
        }
Пример #4
0
        private void DrawCultures()
        {
            EditorGUILayout.LabelField("Selected Cultures:");

            if (!_currentLanguageData.Language.Cultures.Any())
            {
                EditorGUILayout.HelpBox("Add at least one culture", MessageType.Info);
            }

            for (int i = _currentLanguageData.Language.Cultures.Count - 1; i >= 0; i--)
            {
                var culture = _currentLanguageData.Language.Cultures[i];

                EditorWindowHelper.HorizontalLayout(() =>
                {
                    EditorGUILayout.LabelField(culture);
                    var rect = GUILayoutUtility.GetLastRect();
                    if (GUI.Button(new Rect(rect.x + 100, rect.y, 25, rect.height), "-"))
                    {
                        _currentLanguageData.Language.Cultures.Remove(culture);
                    }
                });
            }

            EditorGUI.BeginChangeCheck();
            _selectedCulture = EditorGUILayout.Popup("Add Culture:", _selectedCulture, Cultures);

            if (GUI.changed)
            {
                IsCultureAddValid();
            }

            EditorGUI.EndChangeCheck();

            if (!string.IsNullOrEmpty(_cultureErrors))
            {
                EditorGUILayout.HelpBox(_cultureErrors, MessageType.Error);
            }

            if (GUILayout.Button("Add Culture") && IsCultureAddValid())
            {
                _currentLanguageData.Language.Cultures.Add(Cultures[_selectedCulture]);
            }
        }