using System.Collections.Generic; using System.IO; using UnityEditor.Experimental.GraphView; using UnityEditor.VFX.Block; using UnityEngine.Profiling; using UnityEngine.UIElements; namespace UnityEditor.VFX.UI { class VFXBlackboardAttributeField : VFXBlackboardFieldBase { private static readonly Dictionary s_TypeToIconPath = new() { { CustomAttributeUtility.Signature.Float, "Float" }, { CustomAttributeUtility.Signature.Vector2, "Vector2" }, { CustomAttributeUtility.Signature.Vector3, "Vector3" }, { CustomAttributeUtility.Signature.Vector4, "Vector4" }, { CustomAttributeUtility.Signature.Bool, "Boolean" }, { CustomAttributeUtility.Signature.Uint, "Integer" }, { CustomAttributeUtility.Signature.Int, "Integer" }, }; private readonly Pill m_Pill; public VFXBlackboardAttributeField(AttributeItem attribute) : base($"attr:{attribute.title}") { this.AddStyleSheetPath(Blackboard.StyleSheetPath); RegisterCallback(OnMouseHover); RegisterCallback(OnMouseHover); RegisterCallback(OnMouseHover); RegisterCallback(OnDetachFromPanel); m_Pill = new Pill(); Add(m_Pill); m_Label = m_Pill.Q