Как вызывать
Functions.cache.getCached(cache, func, ...)
Запишите его как зависимость с именем Functions.cache.getCached (принятие автодополнения делает это само) и вызывайте по этому имени.
Также принимается под прежним пространством имён utils.
Что делает
Вызвать наблюдение один раз на кэш и точный кортеж аргументов, включая результаты nil. Передайте кэш вычисления, чтобы делиться наблюдениями в пределах цикла рекомендаций; при nil вызов выполняется напрямую.
Аргументы
| Имя | Тип | Что делает |
|---|---|---|
cache | table | nil | Кэш вычисления или nil, чтобы обойти кэширование. |
func | function | string | Функция или имя глобальной функции для вызова. |
... | any | Аргументы передаются без изменений; типы, идентичность, количество и позиции nil различают записи кэша. |
Возвращает
| 1 | ... | Все исходные результаты с сохранением позиций nil и числа возвращаемых значений. |
|---|
Издания
Встроенные помощники регистрируются во всех изданиях. Различается игровой API, который они читают; если нужного API нет, помощник использует запасной вариант или возвращает nil с причиной.
Не читает игровой API напрямую.
Как его вызывает аддон
- Любое заклинание доступно (evaluate)
return Functions.cache.getCached(cache, addon.Platform.IsSpellReady, addon.Platform, spellid, evalStart) - Заряды любого заклинания (evaluate)
local charges, why = Functions.cache.getCached(cache, addon.Platform.GetSpellCharges, addon.Platform, spellid) - Восстановление любого заклинания (evaluate)
local cooldown, why = Functions.cache.getCached(cache, addon.Platform.GetSpellCooldown, addon.Platform, spellid) - Любое заклинание в зоне досягаемости (evaluate)
local exists,presenceReason=Functions.cache.getCached(cache, addon.Platform.GetUnitPresenceObservation, addon.Platform, "target") - Время перезарядки любого заклинания (evaluate)
local charges, why = Functions.cache.getCached(cache, addon.Platform.GetSpellCharges, addon.Platform, spellid) - Боевой помощник доступен (evaluate)
local available, why = Functions.cache.getCached(cache, addon.Platform.GetAssistedCombatAvailability, addon.Platform) - Заклинание ротации Боевого помощника (evaluate)
return Functions.cache.getCached(cache, addon.Platform.IsAssistedRotationSpell, addon.Platform, spellid) - Предложение боевого помощника (evaluate)
local suggestion, reason = Functions.cache.getCached(cache, addon.Platform.GetAssistedSuggestion, addon.Platform)
и ещё 82: Можно атаковать (evaluate), Применение (evaluate), Ход применения (evaluate), Оставшееся время применения (evaluate), Применение определённого заклинания (evaluate), Применение можно прервать (evaluate), Поддержание (evaluate), Ход поддержания (evaluate), Оставшееся время поддержания (evaluate), Поддержание определённого заклинания (evaluate), Поддержание можно прервать (evaluate), Класс (evaluate), Классификация юнита (evaluate), В бою (evaluate), Мёртв или призрак (evaluate), Дистанция (evaluate), Число в радиусе (evaluate), Затмение (evaluate), Расширенная характеристика (evaluate), Расширенная характеристика (%) (evaluate), Бой с боссом (evaluate), Враждебный (evaluate), Облик (evaluate), Дружественный (evaluate), Символ (evaluate), В группе (evaluate), Подсчёт группы (evaluate), Здоровье (evaluate), Процент здоровья (evaluate), Древо талантов героя (evaluate), Под контролем (evaluate), Подземелье (evaluate), Совпадает с (evaluate), Уровень ключа «Эпохальный+» (evaluate), Заблокировано потерей контроля (evaluate), Тип потери контроля (evaluate), Мана (evaluate), Процент маны (evaluate), Метка рейда (evaluate), Количество меток рейда (evaluate), Движение (evaluate), Под открытым небом (evaluate), Есть питомец (evaluate), Заклинание питомца активно или ожидает (evaluate), Заклинание питомца доступно (evaluate), Заряды заклинания питомца (evaluate), Восстановление заклинания питомца (evaluate), История применений питомца (evaluate), Время в истории применений питомца (evaluate), Заклинание питомца в зоне досягаемости (evaluate), Время перезарядки заклинания питомца (evaluate), Настроение питомца (evaluate), Есть питомец с именем (evaluate), Состояние игрока (evaluate), Очки (evaluate), Ресурс (evaluate), Процент ресурса (evaluate), Основная ветка талантов (evaluate), В режиме PvP (evaluate), Роль в рейде (evaluate), Роль (evaluate), Руны (evaluate), Восстановление руны (evaluate), Заклинание активно или ожидает (evaluate), Автоповтор заклинания активен (evaluate), Заклинание доступно (evaluate), Заряды заклинания (evaluate), Восстановление заклинания (evaluate), Свечение эффекта заклинания (evaluate), Заклинание в зоне досягаемости (evaluate), Время перезарядки заклинания (evaluate), Stagger (evaluate), Характеристика персонажа (evaluate), Незаметность (evaluate), Оставшееся время до удара (evaluate), Талант (evaluate), Очки в ветке талантов (evaluate), Угроза (evaluate), Цель существует (evaluate), PvP в зоне (evaluate), Conditions.spatial.rangeMember, Conditions.weapon.swingSpeed
Зависимости
getCachedInternal→utils.getCachedInternal
Исходный код
Functions/cache.lua, строка 164. В игре только для чтения; «Дублировать» создаёт редактируемую копию.
Functions.cache.getCached(cache, func, ...)
return getCachedInternal(cache, true, func, ...)