123456789101112131415161718192021222324252627282930313233343536373839 |
- using System.Linq;
- using UnityEditor.IMGUI.Controls;
- using UnityEngine;
-
- namespace UnityEditor.Timeline
- {
- class CurveTreeViewNode : TreeViewItem
- {
- public bool forceGroup { get; }
- public System.Type iconType { get; }
- public GUIContent iconOverlay { get; }
-
- EditorCurveBinding[] m_Bindings;
-
- public EditorCurveBinding[] bindings
- {
- get { return m_Bindings; }
- }
-
- public CurveTreeViewNode(int id, TreeViewItem parent, string displayName, EditorCurveBinding[] bindings, bool _forceGroup = false)
- : base(id, parent != null ? parent.depth + 1 : -1, parent, displayName)
- {
- m_Bindings = bindings;
- forceGroup = _forceGroup;
-
-
- // capture the preview icon type. If all subbindings are the same type, use that. Otherwise use null as a default
- iconType = null;
- if (parent != null && parent.depth >= 0 && bindings != null && bindings.Length > 0 && bindings.All(b => b.type == bindings[0].type))
- {
- iconType = bindings[0].type;
-
- // for components put the component type in a tooltip
- if (iconType != null && typeof(Component).IsAssignableFrom(iconType))
- iconOverlay = new GUIContent(string.Empty, ObjectNames.NicifyVariableName(iconType.Name));
- }
- }
- }
- }
|