private void OnEnable() { // Get the target reference locTextGroup = target as LocalizedTextsGroup; // Inizialize both lits it they aren't yet if (locTextGroup.localizedTextsList == null) { locTextGroup.localizedTextsList = new List <LocalizedText>(); } if (locTextGroup.localGameLanguagesList == null) { locTextGroup.localGameLanguagesList = new GameLanguageItem[0]; } // Create all the editors for the Localized texts belonging to this group if (localizedTextEditors == null) { CreateEditors(); } // Cache the export/import option from the scriptable object syncOption = (SYNC_OPTIONS)locTextGroup.currentSyncOption; // In case AllGameLanguages has a valid Instance... if (AllGameLanguages.Instance == null) { return; } locTextGroup.localGameLanguagesList = AllGameLanguages.Instance.gameLanguagesList.ToArray(); if (toggles.Length != AllGameLanguages.Instance.gameLanguagesList.Count) { Array.Resize(ref toggles, AllGameLanguages.Instance.gameLanguagesList.Count); } // Mark all language import toggles at start for (int i = 0; i < toggles.Length; i++) { toggles[i] = true; } // Resize the URLs array of Sync settings to match the number // of gamelanguages in AllGameLanguages if (locTextGroup.remoteCsvUrls.Length != AllGameLanguages.Instance.gameLanguagesList.Count) { Array.Resize(ref locTextGroup.remoteCsvUrls, AllGameLanguages.Instance.gameLanguagesList.Count); } }
public static LocalizedTextsGroup CreateLocalizedTextsGroup() { LocalizedTextsGroup asset = ScriptableObject.CreateInstance <LocalizedTextsGroup>(); FileManager.createDirectory(BASE_PATH); if (AssetDatabase.LoadAssetAtPath <LocalizedTextsGroup>(BASE_PATH + AKAGF_PATHS.LOCALIZED_TEXTS_GROUP_NAME) == null) { AssetDatabase.CreateAsset(asset, BASE_PATH + AKAGF_PATHS.LOCALIZED_TEXTS_GROUP_NAME); AssetDatabase.SaveAssets(); return(asset); } Debug.Log("There is already a LocalizedTextsGroup.asset, change the name of that LocalizedTextsGroup first, then create another one."); return(null); }