Предыдущие версии
Название | Размер | Обновлено | Версия игры | Загрузок | |
v3.0.2 release | 107.97 KB | Jan 29, 2023 | 10.0.5 +2 | 1,075 | ![]() |
v3.0.1 release | 107.03 KB | Dec 4, 2022 | 10.0.2 +2 | 1,816 | ![]() |
v3.0.0 release | 107.64 KB | Oct 30, 2022 | 10.0.0 +2 | 1,665 | ![]() |
v2.0.11 release | 90.56 KB | Sep 27, 2022 | 9.2.7 +2 | 1,396 | ![]() |
v2.0.10-BCC release | 89.84 KB | Sep 1, 2022 | 2.5.4 | 227 | ![]() |
v2.0.9-BCC release | 89.77 KB | Feb 26, 2022 | 2.5.3 | 1,069 | ![]() |
v2.0.9-Classic release | 89.77 KB | Feb 26, 2022 | 1.14.2 | 158 | ![]() |
v2.0.9 release | 89.77 KB | Feb 26, 2022 | 9.2.0 | 2,233 | ![]() |
v2.0.8 release | 89.77 KB | Jun 18, 2021 | 9.0.5 | 2,201 | ![]() |
v2.0.8-BCC release | 89.77 KB | Jun 18, 2021 | 2.5.1 | 1,301 | ![]() |
v2.0.8-Classic release | 89.77 KB | Jun 18, 2021 | 1.13.7 | 440 | ![]() |
v2.0.7-Classic release | 89.77 KB | Nov 1, 2020 | 1.13.5 | 1,077 | ![]() |
v2.0.7 release | 89.77 KB | Nov 1, 2020 | 9.0.1 | 3,994 | ![]() |
v2.0.6-Classic release | 88.57 KB | Apr 26, 2020 | 1.13.4 | 1,039 | ![]() |
v2.0.6 release | 88.57 KB | Apr 26, 2020 | 8.3.0 | 3,968 | ![]() |
v2.0.5-Classic release | 88.57 KB | Sep 11, 2019 | 1.13.2 | 1,948 | ![]() |
v2.0.5 release | 88.57 KB | Sep 11, 2019 | 8.2.0 | 3,200 | ![]() |
v2.0.4-Classic release | 89.30 KB | Sep 9, 2019 | 1.13.2 | 566 | ![]() |
v2.0.4 release | 89.30 KB | Sep 9, 2019 | 8.2.0 | 296 | ![]() |
v2.0.3-Classic release | 89.08 KB | Sep 7, 2019 | 1.13.2 | 608 | ![]() |
v2.0.3 release | 87.84 KB | Sep 7, 2019 | 8.2.0 | 441 | ![]() |
v2.0.2 release | 90.64 KB | Aug 8, 2018 | 8.0.1 | 4,633 | ![]() |
v2.0.1 release | 90.46 KB | Aug 6, 2018 | 8.0.1 | 417 | ![]() |
v2.0.0 release | 90.20 KB | Aug 5, 2018 | 8.0.1 | 324 | ![]() |
v1.6.0 release | 86.82 KB | Sep 25, 2017 | 7.3.0 | 3,880 | ![]() |
v1.5.10 release | 86.64 KB | Mar 31, 2017 | 7.2.0 | 2,011 | ![]() |
v1.5.9 release | 86.42 KB | Dec 31, 2016 | 7.1.0 | 1,144 | ![]() |
v1.5.8 release | 86.33 KB | Dec 19, 2016 | 7.1.0 | 481 | ![]() |
v1.5.7 release | 86.26 KB | Oct 28, 2016 | 7.1.0 | 713 | ![]() |
v1.5.6 release | 85.99 KB | Sep 26, 2016 | 7.0.3 | 726 | ![]() |
v1.5.5 release | 85.22 KB | Sep 20, 2016 | 7.0.3 | 395 | ![]() |
v1.5.4 release | 83.69 KB | Aug 31, 2016 | 7.0.3 | 776 | ![]() |
v1.5.3 release | 83.02 KB | Aug 10, 2016 | 7.0.3 | 548 | ![]() |
v1.5.2 release | 82.90 KB | Jul 30, 2016 | 7.0.3 | 461 | ![]() |
v1.5.1 release | 82.70 KB | Jul 24, 2016 | 7.0.3 | 430 | ![]() |
v1.5.0 release | 82.51 KB | Jul 24, 2016 | 7.0.3 | 323 | ![]() |
v1.4.4 release | 80.96 KB | Jul 20, 2016 | 7.0.3 | 563 | ![]() |
v1.4.3 release | 80.96 KB | Jul 20, 2016 | 7.0.3 | 276 | ![]() |
v1.4.2 release | 80.96 KB | Jul 9, 2016 | 6.2.4 | 501 | ![]() |
v1.4.1 release | 80.96 KB | Jun 16, 2016 | 6.2.4 | 516 | ![]() |
v1.4.0 release | 80.48 KB | Jun 9, 2016 | 6.2.4 | 442 | ![]() |
v1.3.1 release | 79.86 KB | Mar 31, 2016 | 6.2.4 | 676 | ![]() |
v1.3.0 release | 77.99 KB | Mar 7, 2016 | 6.2.3 | 427 | ![]() |
v1.2.1 release | 71.82 KB | Mar 2, 2016 | 6.2.3 | 327 | ![]() |
v1.2.0 release | 71.63 KB | Feb 27, 2016 | 6.2.3 | 459 | ![]() |
v1.1.0 release | 65.15 KB | Feb 23, 2016 | 6.2.3 | 378 | ![]() |
v1.0.0 release | 64.17 KB | Feb 19, 2016 | 6.2.3 | 371 | ![]() |
Скриншоты
Описание
Меньше HUD, больше игры!
Намерение Immersive состоит в том, чтобы автоматически скрыть HUD игрока и показывать элементы только тогда, когда они необходимы. Это позволяет вам лучше оценить красоту мира и знаний WoW без всякого беспорядка на экране.
Самый последний
Новинка в версии v2.0. 4!
- Исправлена ошибка, приводившая к многочисленным ошибкам при принятии траектории полета.
- Исправлена ошибка, из-за которой левая и правая мультибары не отображались корректно при наведении курсора мыши на точку доступа.
- Исправлена ошибка, из-за которой скрывался ряд микро-кнопок в строке главного меню.
Особенности
Immersive-это расширяемая структура, которая управляет видимостью элементов экрана на основе контекста. В настоящее время поддерживаются интерфейсы включают:
- Пользовательский интерфейс Blizzard по умолчанию
- ElvUI (необходимо вручную включить из параметров интерфейса)
Например, рамка игрока показывает здоровье игрока и его ресурс (например, Ману). При включенном иммерсивном режиме кадр игрока отображается только во время боя, когда у игрока нет максимального здоровья или он находится на Арене / поле битвы.
Immersive добавляет уникальную привязку ключа под названием «активировать режим паники», это позволяет установить привязку ключа, которая временно отключит Immersive и покажет все экранные элементы.
Некоторые фреймы имеют возможность включить уникальное поведение, например фрейм чата. Если фрейм чата находится в режиме «Chat Gems» и был скрыт Immersive, то каждый раз при получении нового сообщения он будет создавать / обновлять драгоценный камень чата, представляющий собой один канал чата. Каналы чата включают в себя Say, Yell, Party и т. д. При наведении курсора на драгоценный камень чата появится всплывающая подсказка с указанием названия канала и количества полученных сообщений.
Нажав на любой драгоценный камень чата, вы также откроете рамку чата. Если ни одно сообщение с какого-либо канала не было получено, то по умолчанию отображается желтый драгоценный камень чата, позволяющий игроку открыть фрейм чата.
![]() |
![]() |
![]() |
Большинство кадров можно показать, наведя курсор мыши на область, которую обычно занимает кадр. Существуют некоторые исключения, такие как фрейм чата, работающий в режиме «Chat Gems».
Известные Проблемы
- Фоны Raid-фреймов иногда не исчезают правильно, когда новые члены присоединяются к группе.
- Горячие точки иногда не совпадают с расположением элементов при использовании ElvUI.
Предложения
- Сторонний графическийинтерфейс: добавьте поддержку LUI.
- Сторонний графическийинтерфейс: добавьте поддержку Tukui.
- Расширить драгоценные камни режиме: добавить драгоценные камни режиме поддержка других периодах, таких как Рейд, квест трекер, миникарта и т. д.
- Gem Click/Hover: добавьте опцию активации элемента из gem по щелчку мыши или с помощью мыши.
Для Разработчиков
Базовая Интеграция
Immersive предоставляет простую точку расширения, которая позволяет разработчикам модов включать свои элементы HUD в фреймворк. Во-первых, нам нужен доступ к сервису Immersive api. Это достигается с помощью следующего кода:
местный движок, API-интерфейс, язык, параметры = распаковать(погружения)
Служба Api предоставляет нам доступ к следующим функциям:
- Api: RegisterElement (name[, params]) инициализирует и регистрирует экземпляр элемента. Элемент Immersive — это набор кадров на экране, которые разделяют условия видимости, а также такие настройки, как длительность затухания. Параметр name является обязательным и должен быть глобально уникальным, подумайте о том, чтобы включить имя вашего аддона для уникальности. Параметр params является необязательным и предоставляет значения по умолчанию для элемента. Текущие поддерживаемые значения по умолчанию следующие:
- Включено: указывает, был ли элемент включен или отключен игроком в настройках интерфейса.
- DelayTime: задержка (в секундах) перед тем, как элемент начнет исчезать.
- FadeTime: количество времени (в секундах), которое требуется элементу, чтобы исчезнуть.
- IsHotspot: определяет, проверяются ли какие-либо зарегистрированные горячие точки во время проверки элементов, если элемент отключен, то он не может быть активирован наведением мыши.
- Режим: режим указывает, должны ли быть выполнены все условия для активации элемента или может быть выполнено любое условие для активации элемента. Это значение по умолчанию равно значению «ANY».
- Api: GetElement (name) получить существующий экземпляр элемента с указанным именем.
- Api: UnregisterElement (name) отменяет регистрацию экземпляра элемента с указанным именем.
- Api: UnregisterAllElements () отменяет регистрацию всех экземпляров элементов. Это влияет на все элементы глобально, и этого следует избегать!
- Api: RegisterCondition (name, func, title, tooltip) регистрирует условие для использования в нескольких модулях. Этот процесс регистрации используется функцией element: AddConditionRange для обеспечения возможности настройки плеера. Свойства заголовка и всплывающей подсказки предоставляются для целей локализации.
- Api: UnregisterCondition (name) отменяет регистрацию условия с указанным именем.
- Api: UnregisterAllConditions () отменяет регистрацию всех условий. Это влияет на все элементы глобально, и этого следует избегать!
- Api: RegisterMode (name, validate, title) регистрирует режим работы для использования в нескольких модулях. Это позволяет указать пользовательское поведение для элемента. По умолчанию предусмотрены следующие режимы:
- Любой: элемент активируется, если выполняется какое-либо условие.
- Все: элемент активируется только при соблюдении всех условий.
- Скрытый: элемент никогда не активируется никаким условием, элемент все еще может быть активирован, если включена точка доступа.
- Api: GetMode (name) получить существующий режим работы с указанным именем.
- Api: GetAvailableModes (element) получает все доступные режимы на основе указанного элемента. Некоторые режимы работы ограничены определенными элементами.
Примером регистрации элемента может быть:
local element = Api:RegisterElement("CoolAddonElement")
Как только элемент зарегистрирован в фреймворке, мы можем начать интеграцию. Следующие свойства доступны для изменения:
- элемент.Название Имя элемента. Это имя предоставляется Api: RegisterElement.
- элемент.Enabled указывает, был ли элемент включен или отключен игроком в настройках интерфейса.
- элемент.DelayTime Задержка (в секундах) перед тем, как элемент начнет исчезать. Смотрите элемента:применить() ниже.
- элемент.FadeTime Количество времени (в секундах), которое требуется элементу, чтобы исчезнуть. Смотрите элемента:применить() ниже.
- элемент.IsHotspot определяет, проверяются ли какие-либо зарегистрированные горячие точки во время проверки элементов, если элемент отключен, то он не может быть активирован наведением мыши.
- элемент.Режим Режим указывает, должны ли быть выполнены все условия для активации элемента или может быть выполнено любое условие для активации элемента. Это значение по умолчанию равно значению «Any».
- элемент.Анимация это базовый кадр, созданный для обработки исчезающей анимации. (см. WoW Api CreateFrame). Доступ к этому объекту может быть полезен при необходимости обработки событий. Прямое управление этим объектом требуется только в расширенных сценариях.
- элемент.Анимация.FadeIn это базовая анимационная группа, созданная для обработки затухания. Прямое управление этим объектом требуется только в расширенных сценариях.
- элемент.Анимация.FadeOut это базовая анимационная группа, созданная для обработки затухания. Прямое управление этим объектом требуется только в расширенных сценариях.
Для вызова доступны следующие функции:
- элемент: AddFrame (frame) добавляет кадр в коллекцию элементов для управления и анимации.
- элемент: RemoveFrame (frame) удаляет существующий кадр из коллекции элементов.
- элемент: AddCondition (func) добавляет условие, которое будет определять поведение всех присоединенных кадров. Указанная функция должна возвращать либо истинное, либо ложное значение, и в зависимости от режима элемента это будет определять, следует ли его активировать.
- элемент: AddConditionRange (range) добавляет диапазон предварительно зарегистрированных условий, условие добавляется только в том случае, если значение пары равно true. Эта функция обычно используется совместно с базой данных настроек. Пример объекта settings, который будет передан в функцию, может быть следующим: { IsInCombat = true }
- элемент: RemoveCondition (func) удаляет существующее условие.
- элемент: AddHotspot (left, bottom, width, height) добавляет горячую точку для элемента. Точка доступа указывает область экрана (в пикселях), на которую игрок может навести курсор мыши, чтобы заставить элемент активироваться.
- элемент: RemoveHotspot (left, bottom, width, height) удаляет существующую горячую точку из элемента.
- элемент: ClearHotspots() удаляет все существующие горячие точки из элемента.
- element: Apply() эта функция применяет любые изменения, внесенные в элемент.Задержка или элемент.Свойства FadeTime.
Также можно использовать следующие обратные вызовы:
- элемент.OnFadeIn = функция (кадр, Альфа)… end запускает каждое обновление игры для каждого кадра в элементе, у которого изменилась альфа-версия. И кадр, и Альфа, на которую он был изменен, доступны в обратном вызове.
- элемент.OnFadeOut = функция (кадр, Альфа)… end запускает каждое обновление игры для каждого кадра в элементе, у которого изменилась альфа-версия. И кадр, и Альфа, на которую он был изменен, доступны в обратном вызове.
- элемент.OnBeforeUpdate = функция (кадр)… end запускает каждое обновление игры для каждого кадра в элементе до того, как произойдут какие-либо Альфа-изменения.
- элемент.OnAfterUpdate = функция (кадр)… end запускает каждое обновление игры для каждого кадра в элементе после любых Альфа-изменений.
Расширенная Интеграция
В расширенных сценариях также можно создать отдельный модуль, который будет управляться Immersive. Пожалуйста, обратитесь к модулю «по умолчанию» в Immersive в качестве примера того, как вы можете создать и структурировать модуль. Ниже также приведен упрощенный пример объявления модуля:
местный движок, API-интерфейс, язык, параметры = распаковать(погружения) -- Регистрация local CoolAddon = Engine:RegisterModule("CoolAddonModule") -- Инициализируйте модуль. функция CoolAddon:OnInitialize() конец -- Вызывается, когда модуль включен. функция CoolAddon:OnEnable() конец -- Вызывается, когда модуль отключен. функция CoolAddon:OnDisable() конец -- Зарегистрируйте настройки по умолчанию для модуля. функция CoolAddon:OnRegisterDefaults() возвращение { Enabled = true, IsCool = true } конец -- Регистрирует элементы управления для панели параметров функция CoolAddon:OnRegisterOptions() локальные настройки = Настройки:Get(self.Name) локальная панель = CreateFrame("рамка") panel.name = "классный аддон" panel.parent = Locale.CONFIG_MODULE_IMMERSIVE_NAME panel.OK = функция() -- Применить параметры конец panel.cancel = функция() -- Параметры отмены конец panel.default = function() -- Установить параметры по умолчанию конец panel.refresh = функция() -- Обновить элементы управления опциями в соответствии с настройками конец конец
Добавить комментарий