private static void OnTypeSelectedEvent(Type type) { if (type == null) throw new ArgumentNullException("type"); string path = ScriptableObjectUtility.GetSelectionAssetPath(type.Name); if (path == null) throw new ArgumentNullException("path"); ScriptableObject asset = ScriptableObjectUtility.CreateAssetAtPath(type, path, "New " + type.Name); EditorUtility.FocusProjectWindow(); EditorUtility.SetDirty(asset); Selection.activeObject = asset; window.Close(); }