Appel
Functions.cache.getCached(cache, func, ...)
Enregistrez-la comme dépendance nommée Functions.cache.getCached (accepter la complétion le fait pour vous), puis appelez-la sous ce nom.
Également acceptée sous l'ancien espace de noms utils.
Ce qu'elle fait
Appelle une observation une seule fois par cache et par tuple d'arguments exact, y compris pour les résultats nil. Passez le cache d'évaluation pour partager les observations au sein d'un cycle de recommandation ; avec un cache nil, l'appel est direct.
Arguments
| Nom | Type | Ce qu'elle fait |
|---|---|---|
cache | table | nil | Cache d'évaluation, ou nil pour contourner la mise en cache. |
func | function | string | Fonction, ou nom de fonction globale, à appeler. |
... | any | Arguments transmis tels quels ; les types, l'identité, l'arité et les positions nil distinguent les entrées du cache. |
Retours
| 1 | ... | Tous les résultats d'origine, en conservant les positions nil et le nombre de valeurs renvoyées. |
|---|
Éditions
Les fonctions utilitaires intégrées sont enregistrées sur toutes les éditions. Ce qui diffère, c'est l'API du jeu qu'elles lisent ; quand l'une manque, la fonction utilitaire se rabat sur une alternative ou renvoie nil avec une raison.
Elle ne lit directement aucune API du jeu.
Comment l'addon l'appelle
- N'importe quel sort disponible (evaluate)
return Functions.cache.getCached(cache, addon.Platform.IsSpellReady, addon.Platform, spellid, evalStart) - Charges de n'importe quel sort (evaluate)
local charges, why = Functions.cache.getCached(cache, addon.Platform.GetSpellCharges, addon.Platform, spellid) - Temps de recharge de n'importe quel sort (evaluate)
local cooldown, why = Functions.cache.getCached(cache, addon.Platform.GetSpellCooldown, addon.Platform, spellid) - N'importe quel sort à portée (evaluate)
local exists,presenceReason=Functions.cache.getCached(cache, addon.Platform.GetUnitPresenceObservation, addon.Platform, "target") - Temps de rechargement de n'importe quel sort (evaluate)
local charges, why = Functions.cache.getCached(cache, addon.Platform.GetSpellCharges, addon.Platform, spellid) - Assistant de combat disponible (evaluate)
local available, why = Functions.cache.getCached(cache, addon.Platform.GetAssistedCombatAvailability, addon.Platform) - Sort de rotation de l'Assistant de combat (evaluate)
return Functions.cache.getCached(cache, addon.Platform.IsAssistedRotationSpell, addon.Platform, spellid) - Suggestion de l'Assistant de combat (evaluate)
local suggestion, reason = Functions.cache.getCached(cache, addon.Platform.GetAssistedSuggestion, addon.Platform)
et 82 autres: Attaquable (evaluate), Incantation (evaluate), Progression de l'incantation (evaluate), Temps d'incantation restant (evaluate), Incantation d'un sort spécifique (evaluate), Incantation interruptible (evaluate), Canalisation (evaluate), Progression de la canalisation (evaluate), Temps restant de canalisation (evaluate), Canalisation d'un sort spécifique (evaluate), Canalisation interruptible (evaluate), Classe (evaluate), Classification de l'unité (evaluate), En combat (evaluate), Est mort ou fantôme (evaluate), Distance (evaluate), Nombre à distance (evaluate), Éclipse (evaluate), Caractéristique étendue du personnage (evaluate), Pourcentage de caractéristique étendue du personnage (evaluate), Rencontre de boss (evaluate), Hostile (evaluate), Forme de changeforme (evaluate), Est amical (evaluate), Glyphe (evaluate), En groupe (evaluate), Décompte du groupe (evaluate), Points de vie (evaluate), Pourcentage de vie (evaluate), Arbre de talents de héros (evaluate), Contrôle du personnage (evaluate), Instance (evaluate), Est identique à (evaluate), Niveau de clé mythique+ (evaluate), Blocage par perte de contrôle (evaluate), Type de perte de contrôle (evaluate), Mana (evaluate), Pourcentage de mana (evaluate), Marqueur de raid (evaluate), Nombre de marqueurs de raid (evaluate), En mouvement (evaluate), En extérieur (evaluate), A un familier (evaluate), Sort de familier actif ou en attente (evaluate), Sort de familier disponible (evaluate), Charges du sort de familier (evaluate), Temps de recharge du sort de familier (evaluate), Historique des sorts de familier lancés (evaluate), Historique des sorts de familier lancés (temps) (evaluate), Sort de familier à portée (evaluate), Temps de rechargement du sort de familier (evaluate), Bonheur du familier (evaluate), A un familier nommé (evaluate), État du joueur (evaluate), Points (evaluate), Ressource (evaluate), Pourcentage de ressource (evaluate), Arbre de talents principal (evaluate), Marqué JcJ (evaluate), Rôle de raid (evaluate), Rôle (evaluate), Runes (evaluate), Temps de recharge des runes (evaluate), Sort actif ou en attente (evaluate), Répétition automatique du sort active (evaluate), Sort disponible (evaluate), Charges du sort (evaluate), Temps de recharge du sort (evaluate), Lueur d'activation du sort (evaluate), Sort à portée (evaluate), Temps de rechargement du sort (evaluate), Report (evaluate), Caractéristique du personnage (evaluate), Camouflage (evaluate), Délai de frappe restant de l'arme (evaluate), Talent (evaluate), Points d'arbre de talents (evaluate), Menace (evaluate), L’unité existe (evaluate), Zone JcJ (evaluate), Conditions.spatial.rangeMember, Conditions.weapon.swingSpeed
Dépendances
getCachedInternal→utils.getCachedInternal
Source
Functions/cache.lua, ligne 164. En lecture seule dans le jeu ; Dupliquer crée une copie modifiable.
Functions.cache.getCached(cache, func, ...)
return getCachedInternal(cache, true, func, ...)