/// <summary> /// Try to load the asset if it exists otherwise creates it /// </summary> protected void LoadAssetEditor() { Debug.Log("Attempt to load asset : " + PathResources + PathArabicDiacriticDictionarySO + NameArabicDiacriticDictionarySO + FormatArabicDiacriticDictionarySO); arabicDiacriticDictionary = AssetDatabase.LoadAssetAtPath <ArabicDiacriticDictionarySO>(PathResources + PathArabicDiacriticDictionarySO + NameArabicDiacriticDictionarySO + FormatArabicDiacriticDictionarySO); if (arabicDiacriticDictionary == null) { Debug.Log("Asset cannot be found or opened. Create a new one instead."); arabicDiacriticDictionary = CreateNewAsset(); } else { Debug.Log("Asset successfully loaded."); } if (arabicDiacriticDictionary.diacriticConfigs == null || arabicDiacriticDictionary.diacriticConfigs.Count == 0) { Debug.Log("Asset is currently empty. It will be filled with default data. (ArabicDiacriticDictionaryInit)"); arabicDiacriticDictionary.diacriticConfigs = new List <DiacriticConfig>(ArabicDiacriticDictionaryInit.DiacriticConfigs); EditorUtility.SetDirty(arabicDiacriticDictionary); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); } }
/// <summary> /// Loading Asset /// </summary> protected void LoadAsset() { if (fontsDictionaries == null) { fontsDictionaries = Resources.Load <ArabicDiacriticDictionarySO>(PathArabicDiacriticDictionarySO + NameArabicDiacriticDictionarySO); } }
/// <summary> /// Create a new asset /// </summary> /// <returns></returns> protected ArabicDiacriticDictionarySO CreateNewAsset() { if (!Directory.Exists(PathArabicDiacriticDictionarySO)) { Directory.CreateDirectory(PathArabicDiacriticDictionarySO); } ArabicDiacriticDictionarySO asset = ScriptableObject.CreateInstance <ArabicDiacriticDictionarySO>(); UnityEditor.AssetDatabase.CreateAsset(asset, PathResources + PathArabicDiacriticDictionarySO + NameArabicDiacriticDictionarySO + FormatArabicDiacriticDictionarySO); UnityEditor.AssetDatabase.SaveAssets(); return(asset); }