Référence › Référence des fonctions › Conditions

Conditions.common.Widget_UnitWidget

publique

Appel

addon:Widget_UnitWidget(value, units, update, field)

Disponible directement via addon ; aucune dépendance n'est nécessaire.

Ce qu'elle fait

Crée un sélecteur d'unité configuré lié à un enregistrement de valeur de condition. Renvoie le widget, que l'appelant ajoute au parent du rappel de condition.

Arguments

NomTypeCe qu'elle fait
selfRMAddonInstance de l'addon Rotation Master (implicite avec un appel par deux-points).
valuetableEnregistrement de valeur de condition mis à jour lorsqu'une unité est choisie.
unitstableTable clé d'unité → nom affiché, présentée dans le sélecteur.
updatefunctionFonction de rappel appelée après le changement de l'unité sélectionnée.
fieldstring | nilChamp de l'enregistrement de valeur à modifier ; unit par défaut.

Retours

1RMConditionSelectorSélecteur d'unité configuré ; ajoutez-le avec parent:AddChild(widget).

É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

et 52 autres: Incantation d'un sort spécifique (widget), Incantation interruptible (widget), Canalisation (widget), Progression de la canalisation (widget), Temps restant de canalisation (widget), Canalisation d'un sort spécifique (widget), Canalisation interruptible (widget), Classe (widget), Classification de l'unité (widget), En combat (widget), Historique des actions de combat (widget), Historique des actions de combat (temps) (widget), Type de créature (widget), Est mort ou fantôme (widget), Affaiblissement présent (widget), Temps restant de l'affaiblissement (widget), Cumuls de l'affaiblissement (widget), Type d'affaiblissement présent (widget), Distance (widget), Hostile (widget), Est amical (widget), En groupe (widget), Points de vie (widget), Pourcentage de vie (widget), Insensible (widget), Est identique à (widget), Niveau (widget), Mana (widget), Pourcentage de mana (widget), Marqueur de raid (widget), Points (widget), Ressource (widget), Pourcentage de ressource (widget), Alliés à portée (widget), Vie à portée (widget), Pourcentage de vie à portée (widget), Nombre selon le pourcentage de vie à portée (widget), Nombre selon la vie à portée (widget), Mana à portée (widget), Pourcentage de mana à portée (widget), Nombre selon le pourcentage de mana à portée (widget), Nombre selon le mana à portée (widget), Marqué JcJ (widget), Résistant (widget), Rôle (widget), Fuyard (widget), Caractéristique du personnage (widget), A une amélioration volable (widget), Menace (widget), Délai avant seuil de vie (widget), Délai avant pourcentage de vie (widget), L’unité existe (widget)

Source

UI/condition_unit.lua, ligne 23. En lecture seule dans le jeu ; Dupliquer crée une copie modifiable.

Conditions.common.Widget_UnitWidget(self, value, units, update, field)
    if field == nil then
        field = "unit"
    end
    local unit = addon:CreateConditionDropdown()
    unit:SetLabel(L["Unit"])
    unit:SetCallback("OnValueChanged", function(_, _, v)
        value[field] = v
        update()
    end)
    unit:SetDisabled(value.disabled)
    unit.configure = function()
        local choices=units
        local parent=unit.parent
        local top
        for _=1,128 do
            if not parent then break end
            top=parent:GetUserData('top')
            if top then break end
            parent=parent.parent
        end
        if field=='unit' and (value[field]=='announcementtarget' or top and top:GetUserData('announcementTarget')==true) then
            choices={};for key,label in pairs(units) do choices[key]=label end
            choices.announcementtarget=L['Announcement target']
        end
        unit:SetList(choices, addon.keys(choices))
        unit:SetValue(value[field])
    end

    return unit

Retour à Référence des fonctions