Рубрики
Tutorial

Запрос пользовательского интерфейса

EVE Online UI (Пользовательский интерфейс) представляет собой сложную структуру, которая существует из множества выделенных объектов, каждый из которых является дочерним по отношению к другому. Это древовидно-ориентированная структура данных. Для получения данных из игры, и совершения каких-либо действий или расчетов вы должны сначала получить нужные данные. Для этого был создан язык запросов пользовательского интерфейса. Это похоже на путь к какому-то файлу в файловой системе.

Рабочий стол/l_main/лоббиWnd/__maincontainer/главная/unockродители
/l_main/lobbyWnd/__maincontainer/главная/unockродители

Рабочий стол является корневым элементом пользовательского интерфейса, в общем, вы можете игнорировать его и писать UI Request, как во втором примере. Этот запрос пользовательского интерфейса равен первому.

После каждой косой черты/ следует писать имя дочернего элемента пользовательского интерфейса или оператора поиска.
Например, корневой элемент пользовательского интерфейса имеет имя Desktop, у него есть дочерний элемент с именем l_main, у него есть дочернее лоббиWnd.

ОПЕРАТОРЫ ПОИСКА

Операторы поиска — это текст после косой черты /searchOperatorHereОни
могут отличаться для глубокого поиска элемента пользовательского интерфейса, что вы хотите.

ОПЕРАТОРПримереОписание
имя/l_mainПринимайте дочерний элемент пользовательского интерфейса по определенному имени (с учетом регистра)
[index]/[0]Принимать дочерний элемент пользовательского интерфейса по индексу
"текст"/"Инвентарь"Принимать дочерний элемент пользовательского интерфейса по определенному значению Text (с учетом регистра)
#substring #/#main #Взять дочерний элемент пользовательского интерфейса путем подстроки в свойстве Name
@substring @/@undock @Взять дочерний элемент пользовательского интерфейса с помощью подстроки в свойстве Text
^подстрока^/^Тех II^Взять дочерний элемент пользовательского интерфейса с помощью подстроки в свойстве Hint
$substring$/$Scroll$Взять дочерний элемент пользовательского интерфейса, подстроку в свойстве Type (с учетом регистра)
?имя=значение?/?_height=100?Принимать дочерний элемент пользовательского интерфейса по значению определенного свойства пользовательского интерфейса
?имя=значениезначение2?/? _coloraPercent=100?получить доступ к свойствам вложенных элементов пользовательского интерфейса. Также будет использоваться в узле "UI Get Property" для получения значения любого пользовательского свойства на любой глубине.
?name=@substring@?/?_color=@FF@?Принимать дочерний элемент пользовательского интерфейса с помощью подстроки значения определенного свойства пользовательского интерфейса
-->/-->@Inventory @Поиск по всей вложенной иерархии до тех пор, пока не будет найден
->/->@Inventory @Принимать элемент пользовательского интерфейса, если какой-либо дочерний элемент элемента связан с запросом пользовательского интерфейса
<-/@Inventory@/<-/<-Перемещение назад (вверх) в иерархии
:requestA|запросB:/:l_main|$Window$:принимать элемент пользовательского интерфейса, если какой-либо из запросов относится к элементу. Вы можете использовать столько вариантов, сколько вам нужно

ПОИСК ЭЛЕМЕНТА ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА ПО ЗНАЧЕНИЮ СВОЙСТВА

Использовать оператор /?name=value? за это.

Возвращает элемент пользовательского интерфейса с определенным цветом.

/? _color=#FFFFFFFF?

Возвращает элемент пользовательского интерфейса по определенному значению альфа-канала в свойстве color.

/? _coloraPercent=100?

ПОЛУЧЕНИЕ ЗНАЧЕНИЯ ПОЛЬЗОВАТЕЛЬСКОГО СВОЙСТВА

Узел UI Get Property возвращает значение любого пользовательского свойства, даже вложенных свойств. Также он возвращает значение bool "Exists", которое представляет существующий статус запрошенного свойства в нужном элементе пользовательского интерфейса.

ПОЛУЧЕНИЕ ЭЛЕМЕНТА ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА С ПОМОЩЬЮ РЕКУРСИВНОГО ПОИСКА В ПОЛНОМ ОБЪЕМЕ С ПОМОЩЬЮ ЗАПРОСА ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА

/-->

Это префикс оператора /-->@undock@
It принимает элемент пользовательского интерфейса, который имеет отстыковку подстроки в свойстве Text. Не имеет значения, насколько глубоко в иерархии находится элемент.

Настоятельно рекомендуемый префикс, он может сделать UI Request супер коротким и чистым для чтения. Например, насколько чисто выглядит кнопка пользовательского интерфейса Request for Unock.
/-->горлый родитель/-->@undock@

Почему бы просто не использовать /-->@undock@?
Потому что слово «отстыковка» можно было найти в чате как сообщение, или как ник персонажа в списке чата. Вот почему сначала мы ищем корневой элемент пользовательского интерфейса кнопок станции, когда вы закреплены /-->undock parentent, а затем ищем текст «отстыковка» внутри. Если дать нам 100% гарантию, что это кнопка Отстыковки.

Может комбинироваться с любым поисковым оператором:
/-->#main#
/-->@undock@
/-->$ChatWindowStack$

и другими

https://youtu.be/PBS0R1Y1Cxk

Добавить комментарий