private static SOArchitecture_Settings GetInstance() { #if UNITY_EDITOR SOArchitecture_Settings instance = FindInstanceInProject(); if (instance == null) { return(CreateInstance()); } return(instance); #else return(null); #endif }
private static SOArchitecture_Settings CreateInstance() { #if UNITY_EDITOR SOArchitecture_Settings newSettings = CreateInstance <SOArchitecture_Settings>(); if (!Directory.Exists(DefaultNewSettingsLocation)) { Directory.CreateDirectory(DefaultNewSettingsLocation); } AssetDatabase.CreateAsset(newSettings, DefaultNewSettingsLocation + DefaultNewSettingsName); AssetDatabase.SaveAssets(); Selection.activeObject = newSettings; Debug.LogWarning("No SOArchitecture_Settings asset found! " + "Created new one at asset root, feel free to move it wherever you please in your project.", newSettings); return(newSettings); #else throw new System.NullReferenceException(); #endif }