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(); } }); }
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]); } }