Nav apraksta
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using System;
  2. using System.Linq;
  3. using UnityEditor.Experimental.GraphView;
  4. using UnityEditor.Graphing;
  5. using UnityEngine;
  6. using UnityEngine.UIElements;
  7. using ContextualMenuManipulator = UnityEngine.UIElements.ContextualMenuManipulator;
  8. using ContextualMenuPopulateEvent = UnityEngine.UIElements.ContextualMenuPopulateEvent;
  9. using VisualElementExtensions = UnityEngine.UIElements.VisualElementExtensions;
  10. namespace UnityEditor.ShaderGraph
  11. {
  12. sealed class ShaderGroup : Group
  13. {
  14. GraphData m_Graph;
  15. public new GroupData userData
  16. {
  17. get => (GroupData)base.userData;
  18. set => base.userData = value;
  19. }
  20. public ShaderGroup()
  21. {
  22. VisualElementExtensions.AddManipulator(this, new ContextualMenuManipulator(BuildContextualMenu));
  23. style.backgroundColor = new StyleColor(new Color(25 / 255f, 25 / 255f, 25 / 255f, 25 / 255f));
  24. capabilities |= Capabilities.Ascendable;
  25. }
  26. public void BuildContextualMenu(ContextualMenuPopulateEvent evt)
  27. {
  28. }
  29. public override bool AcceptsElement(GraphElement element, ref string reasonWhyNotAccepted)
  30. {
  31. if (element is StackNode stackNode)
  32. {
  33. reasonWhyNotAccepted = "Vertex and Pixel Stacks cannot be grouped";
  34. return false;
  35. }
  36. var nodeView = element as IShaderNodeView;
  37. if (nodeView == null)
  38. {
  39. // sticky notes are not nodes, but still groupable
  40. return true;
  41. }
  42. if (nodeView.node is BlockNode)
  43. {
  44. reasonWhyNotAccepted = "Block Nodes cannot be grouped";
  45. return false;
  46. }
  47. return true;
  48. }
  49. }
  50. }