分类
Tutorial

用户界面请求

EVE Online UI(用户界面)是一个复杂的结构,存在于许多专用对象中,每个对象都是另一个对象的子对象。 这是一个面向树的数据结构。 为了从游戏中获取数据,并进行任何操作或计算,您应该首先获得正确的数据。 为此,创建了 UI 请求语言。 它类似于文件系统中某种文件的路径。

桌面/l_main/大厅/__maincontainer/主/未对接父级
/l_main/大堂Wnd/__maincontainer/main/unockparent

桌面是一个根UI元素,通常,您可以忽略它并像第二个示例一样编写UI请求。 此 UI 请求等于第一个。

在每个斜杠 /之后,您应该写下子 UI 元素或搜索运算符的名称
例如,根 UI 元素的名称为 Desktop,它具有名称为 l_main 的子元素,它具有子 lobbyWnd

搜索运算符

搜索运算符 – 这是斜杠/searchOperatorHere
之后的文本对于深度搜索UI元素,它们可能不同。

算子例子描述
名字/l_main按特定名称获取子 UI 元素(区分大小写)
[index]/[0]按索引获取子 UI 元素
"文本"/"库存"按特定文本值获取子 UI 元素(区分大小写)
#substring#/#main#通过 Name 属性中的子字符串获取子 UI 元素
@substring@/@undock@通过 Text 属性中的子字符串获取子 UI 元素
^子字符串^/^技术 II^通过 Hint 属性中的子字符串获取子 UI 元素
$substring$/$Scroll$通过 Type 属性中的子字符串获取子 UI 元素(区分大小写)
名称=值?/?_height=100?通过特定 UI 属性的值获取子 UI 元素
名称=值值2?/?_colora百分比=100?访问嵌套的 UI 元素属性。 还将在"UI Get 属性"节点中使用,用于获取任何深度的任何自定义属性的值。
?名称=@substring@?/?_color=@FF@?通过特定 UI 属性的值子字符串获取子 UI 元素
-->/-->@Inventory@搜索整个嵌套层次结构,直到找到
->/->@Inventory@如果元素的任何子元素与 UI 请求相关,则获取该元素
<-/@Inventory@/<-/<-在层次结构中向后移动(上移)
:请求A|请求B:/:l_main|$Window$:如果任何请求应用于 UI 元素,则采用该元素。 您可以根据需要使用任意数量的变体

按属性值查找 UI 元素

使用运算符 /?name=value? 为了做到这一点。

返回具有特定颜色的 UI 元素

/?_color=#FFFFFFFF

按颜色属性中的特定 alpha 值返回 UI 元素

/?_colora百分比=100

获取自定义属性值

UI 获取属性节点返回任何自定义属性的值,甚至是嵌套属性。 此外,它还返回 bool 值"Exists",该值表示所需 UI 元素中请求属性的现有状态。

通过UI请求通过递归搜索来获取UI元素

/-->

这是运算符 /-->@undock@
它采用在 Text 属性中具有子字符串取消停靠的 UI 元素。 元素在层次结构中的深度无关紧要。

强烈推荐前缀,它可以使UI请求超级短而干净地阅读。 例如,它看起来有多干净 UI 请求取消停靠按钮。
/-->多克父母/-->@undock@

为什么不使用 /-->@undock@
因为"undock"这个词可以在聊天中作为消息找到,或者像聊天列表中某个角色的昵称。 这就是为什么首先我们搜索停靠站按钮的根UI元素的原因/-->undockparent,然后在里面搜索文本"undock"。 如果给我们100%保证这是取消停靠按钮。

可以与任何搜索运算符结合使用:
/-->#main#
/-->@undock@
/-->$ChatWindowStack$

https://youtu.be/PBS0R1Y1Cxk

发表回复