版本: Unity 6 (6000.0)
语言英语
  • C#
实验性: 此 API 处于实验阶段,将来可能会更改或移除。

GraphView

UnityEditor.Experimental.GraphView 中的类

/

继承自:UIElements.VisualElement


实现接口:ISelection

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交内容,但我们会阅读用户提出的每个建议更改,并在适用时进行更新。

关闭

提交失败

由于某种原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

描述

主要 GraphView 类。

属性

canPasteSerializedData询问是否可以粘贴序列化数据。
contentViewContainer主要内容容器。
deleteSelection删除选择回调。
edges图中的所有边。
elementResized元素大小调整回调。
elementsAddedToGroup当 GraphElements 添加到组时触发的回调。
elementsInsertedToStackNode当 GraphElements 插入到 StackNode 时触发的回调。
elementsRemovedFromGroup当 GraphElements 从组中删除时触发的回调。
elementsRemovedFromStackNode当 GraphElements 从 StackNode 中删除时触发的回调。
graphElements图中的所有 GraphElements。
graphViewChanged图中发生某些更改时触发的回调。请参见 GraphViewChange。
groupTitleChanged当组标题更改时触发的回调。
isReframable选择是否可重新框选。
maxScale最大缩放级别。
minScale最小缩放级别。
nodeCreationRequest当用户请求显示节点创建窗口时触发的回调。
nodes图中当前存在的所有节点。
placematContainerGraphView 使用的 PlacematContainer。
ports图中当前存在的所有端口。
referenceScale参考缩放级别。
scale当前图的缩放级别。
scaleStep缩放步长。请参见 ContentZoomer.scaleStep 获取详细信息。
selection图中当前选定的所有元素。
serializeGraphElements用于序列化图元素以进行复制/粘贴和其他操作的回调。
supportsWindowedBlackboard当此 GraphView 支持窗口式黑板时设置为 true。否则设置为 false。
unserializeAndPaste用于反序列化图元素并将其添加到图中的回调。
viewport图的视区。当前仅指自身。
viewTransform图的视图变换。
viewTransformChanged视图变换更改回调。
zoomerMaxElementCountWithPixelCacheRegen图中元素数量,当超过此数量时,缩放操作器将在每次刻度时关闭像素缓存重新生成,以避免性能下降。

公共方法

AddElement添加新的 GraphElement。应使用此方法而不是 Add() 来添加 GraphElements。
AddLayer在 GraphView 中添加新层。
AddToSelection将元素添加到选择中。
BuildContextualMenu在上下文菜单中添加菜单项。
CalculateRectToFitAll计算矩形大小和位置,以使图中的所有元素都适合。
ClearSelection清除选择。
DeleteElements从图视图中删除元素。
DeleteSelection删除选定元素。
FrameAll将图中的所有元素都置于焦点。
FrameNext将焦点置于当前选定元素之后的下一个元素。
FrameOrigin将焦点置于图的原点。
FramePrev将焦点置于当前选定元素之前的上一个元素。
FrameSelection将焦点置于当前选定的元素。
GetBlackboard获取与此 GraphView 关联的黑板。
GetCompatiblePorts获取与给定端口兼容的所有端口。
GetEdgeByGuid通过其 GUID 获取边。
GetElementByGuid获取具有给定 GUID 的任何元素。
GetNodeByGuid获取具有给定 GUID 的节点。
GetPortByGuid通过其 GUID 获取端口。
GetPortCenterOverride获取特定端口的另一个位置,并检查端口是否具有重写的位置。
ReleaseBlackboard从此 GraphView 中释放关联的黑板。
RemoveElement从图中删除元素。
RemoveFromSelection从选择中删除元素。
SetupZoom设置缩放属性。
UpdateViewTransform更新视区变换。

受保护方法

CanPasteSerializedData检查是否可以粘贴序列化数据的默认方法。
CreatePlacematContainer在派生类中重写此方法以创建自定义 PlacematContainer。
DeleteSelectionOperation删除选择的默认方法。
SerializeGraphElements序列化图元素的默认方法。
UnserializeAndPasteOperation反序列化元素并粘贴的默认方法。
ValidateTransform验证视图变换。

静态方法

CalculateFrameTransform根据缩放级别和窗口或父级的大小计算视图变换。
CollectElements检索与指定条件匹配的元素集。匹配的元素从图元素的可枚举集合中选择。

委托

CanPasteSerializedDataDelegate用于检查是否可以粘贴序列化数据的委托。
DeleteSelectionDelegate用于删除选择的委托。
ElementResized元素大小调整委托。
GraphViewChanged用于指示 GraphView 更改的委托,通常由操作器执行。
SerializeGraphElementsDelegate用于序列化图元素的委托。
UnserializeAndPasteDelegate用于反序列化和粘贴元素的委托。
ViewTransformChanged视图变换更改(缩放)委托。

继承的成员

静态属性

disabledUssClassName本地禁用的元素的 USS 类名称。

属性

canGrabFocus如果元素可以获得焦点,则返回 true。
delegatesFocus元素是否应将焦点委派给其子级。
focusable如果元素可以获得焦点,则为 true。
focusController返回此元素的焦点控制器。
tabIndex用于在焦点环中对可获得焦点的元素进行排序的整数。必须大于或等于零。
childCount此对象的 contentContainer 中的子元素数量。
contentContainer子元素将添加到其中,通常与元素本身相同。
contentRect元素的区域的矩形,在元素的本地空间中。(只读)
customStyleVisualElement 的自定义样式属性访问器。(只读)
dataSource将数据源分配给此 VisualElement,该数据源将覆盖任何继承的数据源。此数据源由所有子级继承。
dataSourcePath从数据源到值的路径。
dataSourceType可以分配给此 VisualElement 的数据源的可能类型。此信息仅由 UI Builder 使用,作为提示,在设计时无法指定有效数据源时,为数据源路径字段提供一些完成。
disablePlayModeTint除非将此属性设置为 true,否则默认情况下将应用播放模式色调。它将分层应用于此 VisualElement 及其在编辑器面板中存在的所有子级。
enabledInHierarchy如果 VisualElement 在其自己的层次结构中已启用,则返回 true。
enabledSelf如果 VisualElement 在本地已启用,则返回 true。
experimental返回 UIElements 的实验性接口。
generateVisualContent生成视觉元素的视觉内容的委托函数。
hierarchy访问此元素的物理层次结构。
languageDirection指示元素文本的方向。该值将传播到元素的子级。
layoutVisualElement 相对于其父级的相对位置和大小,由布局系统计算。(只读)
localBound返回一个 Rect,表示应用变换后但应用布局平移之前,轴对齐包围盒 (AABB)。
name此 VisualElement 的名称。
paddingRect元素的填充区域的矩形,在元素的本地空间中。
panel此 VisualElement 附加到的面板。
parent此 VisualElement 的父级。
pickingMode确定此元素是否可以在鼠标事件或 IPanel.Pick 查询期间被选中。
resolvedStyle视觉元素的最终渲染样式值,如它在当前帧中渲染的那样。(只读)
scaledPixelsPerPoint返回来自面板的结果缩放,该缩放考虑屏幕 DPI 和可自定义的缩放系数,但不考虑元素及其祖级的变换缩放。请参见 Panel.scaledPixelsPerPoint。这应该仅在属于面板的元素上调用。
schedule检索此 VisualElement 的 IVisualElementScheduler。
style设置 VisualElement 的样式值。
styleSheets返回一个 VisualElementStyleSheetSet,用于操作附加到此元素的样式表。
this[int]检索特定索引处的子元素。
tooltip在用户将鼠标悬停在元素上一段时间后,在信息框内显示的文本。这仅在编辑器 UI 中受支持。
transform返回此 VisualElement 的变换对象。ITransform
usageHints一组提示值,指定 VisualElement 的高级预期使用模式。此属性只能在 VisualElement 尚未成为面板的一部分时设置。一旦成为面板的一部分,此属性将变得实际上只读,尝试更改它将引发异常。正确 UsageHints 的规范将驱动系统根据预期的使用模式,做出有关如何处理或加速某些操作的更明智的决策。请注意,这些提示不会影响行为或视觉效果,但只会影响面板和其中元素的整体性能。建议始终考虑指定正确的 UsageHints,但请记住,某些 UsageHints 在特定条件下可能会在内部被忽略(例如,由于目标平台上的硬件限制)。
userData此属性可用于将应用程序特定的用户数据与此 VisualElement 相关联。
viewDataKey用于视图数据持久性,例如树展开状态、滚动位置或缩放级别。
visible指示是否应渲染此元素。
visualTreeAssetSource存储资产引用,如果生成的元素是从 VisualTreeAsset 克隆的。
worldBound返回一个 Rect,表示应用世界变换后,轴对齐包围盒 (AABB)。
worldTransform返回一个矩阵,该矩阵累积以下操作(按顺序):-本地缩放-本地旋转-本地平移-布局平移-父级 worldTransform(递归定义 - 如果没有父级,则考虑为单位矩阵)。

公共方法

HasBubbleUpHandlers如果事件传播的 BubbleUp 阶段的事件处理程序已附加到此对象,则返回 true。
HasTrickleDownHandlers如果事件传播的 TrickleDown 阶段的事件处理程序已附加到此对象,则返回 true。
RegisterCallback向实例添加事件处理程序。如果事件处理程序已为同一阶段(TrickleDown 或 BubbleUp)注册,则此方法无效。
RegisterCallbackOnce向实例添加事件处理程序。如果事件处理程序已为同一阶段(TrickleDown 或 BubbleUp)注册,则此方法无效。事件处理程序在被精确调用一次后自动注销。
UnregisterCallback从实例中移除回调。
Blur告诉元素释放焦点。
Focus尝试将焦点赋予此元素。
Add将元素添加到此元素的 contentContainer。
AddToClassList向元素的类列表中添加一个类,以便从 USS 中分配样式。注意,类名区分大小写。
BringToFront将此元素移至其父级子元素列表的末尾。该元素将在视觉上位于任何重叠的同级元素的前面。
Children返回其 contentContainer 中的元素。
ClassListContains在该元素的类列表中搜索类。
Clear从此元素的 contentContainer 中移除所有子元素。
ClearBinding从元素中移除绑定。
ClearBindings从元素中移除所有绑定。
ClearClassList从该元素的类列表中移除所有类。AddToClassList
Contains检查此元素是否是指定子元素的祖先。
ContainsPoint检查指定点是否与该 VisualElement 的布局相交。
ElementAt检索特定索引处的子元素。
EnableInClassList启用或禁用具有给定名称的类。
FindAncestorUserData向上搜索该 VisualElement 的层次结构并检索存储的 userData(如果有)。
FindCommonAncestor在 VisualTree 层次结构中,查找两个 VisualElements 之间的最低公共祖先。
GetBinding获取为提供的目标属性提供的绑定实例。
GetBindingInfos获取有关当前元素所有绑定的信息。
GetClasses检索该元素的类。
GetDataSourceContext查询绑定对象的 dataSource 和 dataSourcePath。
GetFirstAncestorOfType从该元素的父级开始向上遍历层次结构,并返回此类型的第一个 VisualElement。
GetFirstOfType从该元素开始向上遍历层次结构,并返回此类型的第一个 VisualElement。
GetHierarchicalDataSourceContext查询从层次结构继承的 dataSource 和 dataSourcePath。
HasBinding允许知道目标属性是否与其相关联的绑定。
IndexOf检索指定 VisualElement 的子元素索引。
Insert将元素插入到此元素的 contentContainer 中。
MarkDirtyRepaint在下一帧触发 VisualElement 的重新绘制。当发生需要重新绘制的更改时,此方法在内部调用,例如当 UIElements.BaseField_1.value 更改或 Label 中的文本更改时。如果正在实现自定义控件,则可以调用此方法来触发重新绘制,当发生需要重新绘制的更改时,例如当使用 generateVisualContent 渲染网格且网格数据现在已更改时。
PlaceBehind将此元素放置在其父级子元素列表中同级元素的正前方。如果元素和同级元素的位置重叠,则该元素将在视觉上位于其同级元素的后面。
PlaceInFront将此元素放置在其父级子元素列表中同级元素的正后方。如果元素和同级元素的位置重叠,则该元素将在视觉上位于其同级元素的前面。
Remove从 contentContainer 层次结构中移除此子元素。
RemoveAt从此元素的 contentContainer 中移除位于该位置的子元素。
RemoveFromClassList从元素的类列表中移除类。
RemoveFromHierarchy从此元素的父级层次结构中移除此元素。
SendEvent将事件发送到事件处理程序。
SendToBack将此元素发送到其父级子元素列表的开头。该元素将在视觉上位于任何重叠的同级元素的后面。
SetBinding在目标和源之间分配绑定。
SetEnabled更改 VisualElement 的启用状态。禁用的 VisualElement 不会接收大多数事件。
Sort重新排序来自此 VisualElement contentContainer 的子元素。
ToggleInClassList在将给定类名添加到类列表和从类列表中移除给定类名之间切换。
TryGetBinding获取为提供的目标属性提供的绑定实例。
TryGetDataSourceContext查询绑定对象的 dataSource 和 dataSourcePath。
TryGetLastBindingToSourceResult返回从 UI 到数据源的绑定对象的最后一个 BindingResult。
TryGetLastBindingToUIResult返回从数据源到 UI 的绑定对象的最后一个 BindingResult。

受保护方法

HandleEventBubbleUp在 BubbleUp 阶段执行此元素上的逻辑,紧接在此元素的 BubbleUp 回调之前。调用 StopPropagation 将阻止沿传播路径进一步调用此方法。
HandleEventTrickleDown在 TrickleDown 阶段执行此元素上的逻辑,紧接在此元素的 TrickleDown 回调之后。调用 StopPropagation 将阻止沿传播路径进一步调用此方法。
NotifyPropertyChanged通知数据绑定系统控件的属性已更改。