/// <summary> /// Creates the instance and saves it as asset. /// </summary> /// <returns></returns> public static T createSingletonInstance() { #if UNITY_EDITOR if (instance != null || IsAvailable) { return(default(T)); } T asset = CreateInstance <T>(); string path = RuntimeUtils.inEditorSelectedProjectWindowPath(); string assetPathAndName = AssetDatabase.GenerateUniqueAssetPath(path + "/" + typeof(T).Name + ".asset"); AssetDatabase.CreateAsset(asset, assetPathAndName); AssetDatabase.SaveAssets(); EditorUtility.FocusProjectWindow(); Selection.activeObject = asset; return(asset); #else return(default(T)); #endif }
/// <summary> /// returns the current path of a selected project folder or "Assets" /// </summary> /// <returns></returns> public static string selectedProjectWindowPath() { return(RuntimeUtils.inEditorSelectedProjectWindowPath()); }