Firstborn/Library/PackageCache/com.unity.shadergraph@12.1.8/Editor/Data/Interfaces/IInspectable.cs

22 lines
977 B
C#
Raw Normal View History

2023-03-28 13:24:16 -04:00
using System;
using System.Reflection;
using UnityEngine.UIElements;
namespace UnityEditor.ShaderGraph.Drawing
{
interface IInspectable
{
// Implementors can override this in order to display their desired string when selected and viewed through the inspector
string inspectorTitle { get; }
// This function should return the underlying data object that user wishes to expose to the Inspector
// For simple data properties like Integers/Floats this is the object that contains the properties
// For complex types like GraphData this is the GraphData itself, its up to the PropertyDrawer to define what it needs
object GetObjectToInspect();
// Used to provide any data needed by the property drawer from the inspectable
// The inspectorUpdateDelegate is used to trigger an inspector update
void SupplyDataToPropertyDrawer(IPropertyDrawer propertyDrawer, Action inspectorUpdateDelegate);
}
}