Referencia › Referencia de funciones › Conditions

Conditions.common.Widget_UnitWidget

pública

Llamar como

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

Disponible directamente a través de addon; no hace falta ninguna dependencia.

Qué hace

Crea un selector de unidad configurado vinculado a un registro de valores de condición. Devuelve el widget para que quien llama lo añada al padre del callback de la condición.

Argumentos

NombreTipoQué hace
selfRMAddonInstancia del addon Rotation Master (implícita en las llamadas con dos puntos).
valuetableRegistro de valores de la condición que se actualiza al elegir una unidad.
unitstableMapa de clave de unidad a nombre visible que se muestra en el selector.
updatefunctionCallback invocado tras cambiar la unidad seleccionada.
fieldstring | nilCampo del registro de valores que se editará; unit por defecto.

Retornos

1RMConditionSelectorSelector de unidad configurado; añádelo con parent:AddChild(widget).

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

y 52 más: Lanzando un hechizo concreto (widget), Lanzamiento interrumpible (widget), Canalizando (widget), Progreso de la canalización (widget), Tiempo restante de canalización (widget), Canalizando un hechizo concreto (widget), Canalización interrumpible (widget), Clase (widget), Clasificación de la unidad (widget), En combate (widget), Historial de acciones de combate (widget), Tiempo del historial de acciones de combate (widget), Tipo de criatura (widget), Está muerto o es un fantasma (widget), Perjuicio presente (widget), Tiempo restante del perjuicio (widget), Acumulaciones del perjuicio (widget), Tipo de perjuicio presente (widget), Distancia (widget), Hostil (widget), Es amistoso (widget), En grupo (widget), Salud (widget), Porcentaje de salud (widget), Inmune (widget), Es la misma que (widget), Nivel (widget), Maná (widget), Porcentaje de maná (widget), Marca de banda (widget), Puntos (widget), Poder (widget), Porcentaje de poder (widget), Aliados dentro del alcance (widget), Salud dentro del alcance (widget), Porcentaje de salud dentro del alcance (widget), Recuento de porcentaje de salud dentro del alcance (widget), Recuento de salud dentro del alcance (widget), Maná dentro del alcance (widget), Porcentaje de maná dentro del alcance (widget), Recuento de porcentaje de maná dentro del alcance (widget), Recuento de maná dentro del alcance (widget), Marcado para JcJ (widget), Resistente (widget), Rol (widget), Huidizo (widget), Estadística del personaje (widget), Tiene beneficio robable (widget), Amenaza (widget), Tiempo hasta salud (widget), Tiempo hasta porcentaje de salud (widget), La unidad existe (widget)

Código fuente

UI/condition_unit.lua, línea 23. Solo lectura en el juego; Duplicar crea una copia editable.

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

Volver a Referencia de funciones