Ei kuvausta
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.

ShaderGraphDataExtension.cs 1.1KB

12345678910111213141516171819202122232425262728293031323334
  1. using System;
  2. using System.Collections.Generic;
  3. using UnityEditor.ShaderGraph.Drawing;
  4. using UnityEditor.ShaderGraph.Serialization;
  5. using UnityEngine;
  6. using UnityEngine.UIElements;
  7. namespace UnityEditor.ShaderGraph
  8. {
  9. [Serializable]
  10. internal abstract class AbstractShaderGraphDataExtension : JsonObject
  11. {
  12. internal virtual int paddingIdentationFactor => 15;
  13. internal abstract string displayName { get; }
  14. internal abstract void OnPropertiesGUI(VisualElement context, Action onChange, Action<string> registerUndo, GraphData owner);
  15. internal static List<AbstractShaderGraphDataExtension> ValidExtensions()
  16. {
  17. var result = new List<AbstractShaderGraphDataExtension>();
  18. foreach (var type in TypeCache.GetTypesDerivedFrom(typeof(AbstractShaderGraphDataExtension)))
  19. {
  20. if (type.IsGenericType || type == typeof(MultiJsonInternal.UnknownGraphDataExtension))
  21. continue;
  22. var subData = (AbstractShaderGraphDataExtension)Activator.CreateInstance(type);
  23. result.Add(subData);
  24. }
  25. return result;
  26. }
  27. }
  28. }