public static MultiColumnHeaderState.Column[] CreateColumnHeaders() { LCLocalizationSettings settings = LocalizationManager.Instance.GetCurrentSettings(); MultiColumnHeaderState.Column[] columns = new MultiColumnHeaderState.Column[settings.LanguagesCount + 1]; int i = 0; columns[i++] = new MultiColumnHeaderState.Column() { headerContent = new GUIContent("Key"), autoResize = true, allowToggleVisibility = false, canSort = true, }; foreach (Language language in settings.GetLanguages()) { columns[i++] = new MultiColumnHeaderState.Column() { headerContent = new GUIContent(language.Name), autoResize = true, allowToggleVisibility = true, canSort = false, }; } return(columns); }
protected override void RowGUI(RowGUIArgs args) { SerializedProperty rowsProp = GetRowsProp(); SerializedProperty currentRowProp = rowsProp.GetArrayElementAtIndex(args.row); Rect keyRect = args.GetCellRect(args.GetColumn(0)); EditorGUI.LabelField(new Rect(keyRect.x, keyRect.y, 10, keyRect.height), args.item.id.ToString()); AddHorizontalPadding(ref keyRect, 2); AddHorizontalPadding(ref keyRect, 10, 0); CenterRectUsingSingleLineHeight(ref keyRect); SerializedProperty keyProp = GetLanguageRowKeyProp(currentRowProp); EditorGUI.DelayedTextField(keyRect, keyProp, GUIContent.none); LCLocalizationSettings settings = LocalizationManager.Instance.GetCurrentSettings(); for (int i = 0; i < settings.LanguagesCount; ++i) { SerializedProperty languageItemsProp = GetLanguageItemsProp(currentRowProp); SerializedProperty textProp = GetLanguageTextProp(languageItemsProp.GetArrayElementAtIndex(i)); Rect textRect = args.GetCellRect(args.GetColumn(i + 1)); AddHorizontalPadding(ref textRect, 2); CenterRectUsingSingleLineHeight(ref textRect); textProp.stringValue = EditorGUI.TextArea(textRect, textProp.stringValue); } }
internal void SetSettingsInEditor(LCLocalizationSettings settings) { if (_core.GetSettings() != settings) { SetSettings(settings); EditorUtility.SetDirty(_core); } }
internal LanguageDatatableItem GetLanguageText(Language language) { LCLocalizationSettings settings = LocalizationManager.Instance.GetCurrentSettings(); int languageIndex = settings.GetLanguageIndex(language); if (languageIndex >= 0 && languageIndex < _languageItems.Count) { return(_languageItems[languageIndex]); } return(null); }
public void SetSettings(LCLocalizationSettings settings) { if (_core.GetSettings() != settings) { _core.SetSettings(settings); if (OnSettingsChanged != null) { OnSettingsChanged.Invoke(); } } }
private void DrawUseSettingsButton() { LCLocalizationSettings settings = LocalizationManager.Instance.GetCurrentSettings(); bool areSettingsAlreadyLoaded = (settings == target); if (areSettingsAlreadyLoaded) { EditorGUILayout.LabelField("Theses settings are the currently loaded."); } else { using (new EditorGUILayout.HorizontalScope()) { GUILayout.FlexibleSpace(); if (GUILayout.Button(new GUIContent("Use these settings", "Load these settings in the LocalizationManager."), GUILayout.MaxWidth(200))) { LocalizationManager.Instance.SetSettings(target as LCLocalizationSettings); } } } EditorGUI.EndDisabledGroup(); }
void AddNewLine() { SerializedProperty rowsProp = GetRowsProp(); int newItemIndex = rowsProp.arraySize; rowsProp.InsertArrayElementAtIndex(newItemIndex); SerializedProperty newRowProp = rowsProp.GetArrayElementAtIndex(newItemIndex); SerializedProperty newKeyProp = GetLanguageRowKeyProp(newRowProp); newKeyProp.stringValue = "None"; SerializedProperty guidProp = GetGuidProp(newRowProp); GuidSPHelper.CreateAndAssignNewGuid(guidProp); LCLocalizationSettings settings = LocalizationManager.Instance.GetCurrentSettings(); SerializedProperty languageItemsProp = GetLanguageItemsProp(newRowProp); languageItemsProp.arraySize = settings.LanguagesCount; _languageDatatableSo.ApplyModifiedProperties(); }
/// <summary> /// Use the LocalizationManager to set the settings /// </summary> internal void SetSettings(LCLocalizationSettings newSettings) { _settings = newSettings; }