protected virtual void Save(bool saveAsText) { if ((Object)ScriptableSingleton<T>.s_Instance == (Object)null) { Debug.Log((object)"Cannot save ScriptableSingleton: no instance!"); } else { string filePath = ScriptableSingleton<T>.GetFilePath(); if (string.IsNullOrEmpty(filePath)) return; string directoryName = Path.GetDirectoryName(filePath); if (!Directory.Exists(directoryName)) Directory.CreateDirectory(directoryName); // InternalEditorUtility.SaveToSerializedFileAndForget((Object[])new T[1] // { //ScriptableSingleton<T>.s_Instance // }, filePath, (saveAsText ? 1 : 0) != 0); } }
private static void CreateAndLoad() { string filePath = ScriptableSingleton<T>.GetFilePath(); Debug.Log(filePath); if (!string.IsNullOrEmpty(filePath)) { //var asset = AssetDatabase.LoadAssetAtPath<ScriptableObject>(filePath); //if (asset) //{ // ScriptableSingleton<T>.s_Instance = asset as T; //} //else //{ // ScriptableSingleton<T>.s_Instance = ScriptableObject.CreateInstance<T>(); //} // // InternalEditorUtility.LoadSerializedFileAndForget(filePath); } if (!((Object) ScriptableSingleton<T>.s_Instance == (Object) null)) { Debug.Log("not null!"); return; } }