Llamar como
Functions.cache.getCached(cache, func, ...)
Regístrala como dependencia con el nombre Functions.cache.getCached (aceptar la sugerencia de autocompletado lo hace por ti) y luego llámala con ese nombre.
También se acepta con el antiguo espacio de nombres utils.
Qué hace
Llama a una observación una vez por caché y tupla exacta de argumentos, incluidos los resultados nil. Pasa la caché de evaluación para compartir observaciones dentro de un ciclo de recomendación; con caché nil se llama directamente.
Argumentos
| Nombre | Tipo | Qué hace |
|---|---|---|
cache | table | nil | Caché de evaluación, o nil para no usar caché. |
func | function | string | Función o nombre de función global que se llamará. |
... | any | Argumentos que se pasan sin cambios; los tipos, la identidad, la aridad y las posiciones nil distinguen las entradas de la caché. |
Retornos
| 1 | ... | Todos los resultados originales, conservando las posiciones nil y el número de retornos. |
|---|
Ediciones
Las funciones auxiliares integradas se registran en todas las ediciones. Lo que cambia es la API del juego que leen; donde falta alguna, la función auxiliar recurre a una alternativa o devuelve nil con un motivo.
No lee directamente ninguna API del juego.
Cómo la llama el addon
- Cualquier hechizo disponible (evaluate)
return Functions.cache.getCached(cache, addon.Platform.IsSpellReady, addon.Platform, spellid, evalStart) - Cargas de cualquier hechizo (evaluate)
local charges, why = Functions.cache.getCached(cache, addon.Platform.GetSpellCharges, addon.Platform, spellid) - Tiempo de reutilización de cualquier hechizo (evaluate)
local cooldown, why = Functions.cache.getCached(cache, addon.Platform.GetSpellCooldown, addon.Platform, spellid) - Cualquier hechizo al alcance (evaluate)
local exists,presenceReason=Functions.cache.getCached(cache, addon.Platform.GetUnitPresenceObservation, addon.Platform, "target") - Tiempo de recarga de cualquier hechizo (evaluate)
local charges, why = Functions.cache.getCached(cache, addon.Platform.GetSpellCharges, addon.Platform, spellid) - Ayudante de combate disponible (evaluate)
local available, why = Functions.cache.getCached(cache, addon.Platform.GetAssistedCombatAvailability, addon.Platform) - Hechizo de rotación del Ayudante de combate (evaluate)
return Functions.cache.getCached(cache, addon.Platform.IsAssistedRotationSpell, addon.Platform, spellid) - Sugerencia del Ayudante de combate (evaluate)
local suggestion, reason = Functions.cache.getCached(cache, addon.Platform.GetAssistedSuggestion, addon.Platform)
y 82 más: Atacable (evaluate), Lanzando (evaluate), Progreso del lanzamiento (evaluate), Tiempo restante de lanzamiento (evaluate), Lanzando un hechizo concreto (evaluate), Lanzamiento interrumpible (evaluate), Canalizando (evaluate), Progreso de la canalización (evaluate), Tiempo restante de canalización (evaluate), Canalizando un hechizo concreto (evaluate), Canalización interrumpible (evaluate), Clase (evaluate), Clasificación de la unidad (evaluate), En combate (evaluate), Está muerto o es un fantasma (evaluate), Distancia (evaluate), Recuento por distancia (evaluate), Eclipse (evaluate), Estadística ampliada del personaje (evaluate), Porcentaje de estadística ampliada del personaje (evaluate), Encuentro con jefe (evaluate), Hostil (evaluate), Forma alterada (evaluate), Es amistoso (evaluate), Glifo (evaluate), En grupo (evaluate), Recuento del grupo (evaluate), Salud (evaluate), Porcentaje de salud (evaluate), Árbol de talentos de héroe (evaluate), Con control (evaluate), Estancia (evaluate), Es la misma que (evaluate), Nivel de piedra angular de Mítica+ (evaluate), Bloqueado por pérdida de control (evaluate), Tipo de pérdida de control (evaluate), Maná (evaluate), Porcentaje de maná (evaluate), Marca de banda (evaluate), Recuento de marcas de banda (evaluate), En movimiento (evaluate), Al aire libre (evaluate), Tener mascota (evaluate), Hechizo de mascota activo o pendiente (evaluate), Hechizo de mascota disponible (evaluate), Cargas del hechizo de mascota (evaluate), Tiempo de reutilización del hechizo de mascota (evaluate), Historial de lanzamientos de mascota (evaluate), Tiempo del historial de lanzamientos de mascota (evaluate), Hechizo de mascota al alcance (evaluate), Tiempo de recarga del hechizo de mascota (evaluate), Felicidad de la mascota (evaluate), Tener mascota con nombre (evaluate), Estado del jugador (evaluate), Puntos (evaluate), Poder (evaluate), Porcentaje de poder (evaluate), Árbol de talentos principal (evaluate), Marcado para JcJ (evaluate), Rol de banda (evaluate), Rol (evaluate), Runas (evaluate), Reutilización de runas (evaluate), Hechizo activo o pendiente (evaluate), Repetición automática de hechizo activa (evaluate), Hechizo disponible (evaluate), Cargas del hechizo (evaluate), Tiempo de reutilización del hechizo (evaluate), Destello de activación del hechizo (evaluate), Hechizo al alcance (evaluate), Tiempo de recarga del hechizo (evaluate), Tambaleo (evaluate), Estadística del personaje (evaluate), Sigilo (evaluate), Tiempo restante de golpe del arma (evaluate), Talento (evaluate), Puntos del árbol de talentos (evaluate), Amenaza (evaluate), La unidad existe (evaluate), JcJ de la zona (evaluate), Conditions.spatial.rangeMember, Conditions.weapon.swingSpeed
Dependencias
getCachedInternal→utils.getCachedInternal
Código fuente
Functions/cache.lua, línea 164. Solo lectura en el juego; Duplicar crea una copia editable.
Functions.cache.getCached(cache, func, ...)
return getCachedInternal(cache, true, func, ...)