No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CreateShaderSubGraph.cs 1.1KB

12345678910111213141516171819202122232425262728
  1. using System.IO;
  2. using UnityEditor.ProjectWindowCallback;
  3. using UnityEngine.Rendering;
  4. namespace UnityEditor.ShaderGraph
  5. {
  6. class CreateShaderSubGraph : EndNameEditAction
  7. {
  8. [MenuItem("Assets/Create/Shader Graph/Sub Graph", priority = CoreUtils.Sections.section1 + CoreUtils.Priorities.assetsCreateShaderMenuPriority + 1)]
  9. public static void CreateMaterialSubGraph()
  10. {
  11. ProjectWindowUtil.StartNameEditingIfProjectWindowExists(0, CreateInstance<CreateShaderSubGraph>(),
  12. string.Format("New Shader Sub Graph.{0}", ShaderSubGraphImporter.Extension), null, null);
  13. }
  14. public override void Action(int instanceId, string pathName, string resourceFile)
  15. {
  16. var graph = new GraphData { isSubGraph = true };
  17. var outputNode = new SubGraphOutputNode();
  18. graph.AddNode(outputNode);
  19. graph.outputNode = outputNode;
  20. outputNode.AddSlot(ConcreteSlotValueType.Vector4);
  21. graph.path = "Sub Graphs";
  22. FileUtilities.WriteShaderGraphToDisk(pathName, graph);
  23. AssetDatabase.Refresh();
  24. }
  25. }
  26. }