Импортировать готовый пример можно отсюда https://eu.eyeauras.net/share/S202402232313367YDKhksLfySg
Чтобы считать текущее состояние, имя или какие-либо действия и триггеры внутри самой ауры, для начала нужно найти ее саму, а уже затем можно пошарить внутри.
Очень часто бывает, что из скрипта нужно получить какие-то результаты работы триггеров. К примеру, распознанный текст или координаты найденной картинки.
Для начала, давайте попробуем самое простое - узнаем, какое в данный момент у ауры состояние, т.е. активна она или нет.
Давайте для начала настроим то, с чем мы будем работать из скрипта
Examples
и в ней подпапку FindAura
Switch
Switch
добавим триггер Fixed Value
. По сути это просто ручной переключатель.Script
(можете подключить фантазию, имя этой ауры нам не важно)Script
создадим OnEnter
действие C# Script
var aura = AuraTree.GetAuraByPath(@".\Switch"); // or by absolute path AuraTree.GetAuraByPath(@"Examples\FindTrigger\Switch");
// print the status, it will be true/false or null (for undefined state)
Log.Info($"Aura {aura.FullPath} IsActive: {aura.IsActive}");
Чтобы получить доступ к дереву аур (штука слева, где ваши ауры и папки), мы обращаемся к AuraTree.
Метод GetAuraByPath
умеет искать по абсолютному или относительному пути. Если аура не будет найдена - он прервет скрипт с ошибкой. У него есть брат-близнец, который называется FindAuraByPath
, который вернет null
, если ничего не найдет. Эта схема с Get*
и Find*
будет встречаться много где и вы всегда можете расчитывать на такое поведение.
Далее, когда мы нашли ауру, мы можем прочитать ее текущее состояние из свойства IsActive
.
Помимо этого там есть еще несколько важных и полезных вещей, таких как имя ауры, триггеры и действия, которые в ней и т.п. К этому мы обратимся в следующих примерах.