12345678910111213141516171819202122232425262728293031323334 |
- using UnityEngine;
- using UnityEngine.PostProcessing;
- using UnityEditor.ProjectWindowCallback;
- using System.IO;
- namespace UnityEditor.PostProcessing
- {
- public class PostProcessingFactory
- {
- [MenuItem("Assets/Create/Post-Processing Profile", priority = 201)]
- static void MenuCreatePostProcessingProfile()
- {
- var icon = EditorGUIUtility.FindTexture("ScriptableObject Icon");
- ProjectWindowUtil.StartNameEditingIfProjectWindowExists(0, ScriptableObject.CreateInstance<DoCreatePostProcessingProfile>(), "New Post-Processing Profile.asset", icon, null);
- }
- internal static PostProcessingProfile CreatePostProcessingProfileAtPath(string path)
- {
- var profile = ScriptableObject.CreateInstance<PostProcessingProfile>();
- profile.name = Path.GetFileName(path);
- AssetDatabase.CreateAsset(profile, path);
- return profile;
- }
- }
- class DoCreatePostProcessingProfile : EndNameEditAction
- {
- public override void Action(int instanceId, string pathName, string resourceFile)
- {
- PostProcessingProfile profile = PostProcessingFactory.CreatePostProcessingProfileAtPath(pathName);
- ProjectWindowUtil.ShowCreatedAsset(profile);
- }
- }
- }
|