public static Type Get <Type>(bool create = true) where Type : ScriptableObject { if (ProxyEditor.IsSwitching()) { return(null); } var name = typeof(Type).Name; return(Locate.GetAsset <Type>(name + ".asset") ?? ScriptableObject.FindObjectOfType <Type>() ?? create?Singleton.Create <Type>(name + ".asset") : null); }