Справочник › Справочник функций › Conditions

Conditions.common.Widget_UnitWidget

общедоступный

Как вызывать

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

Доступен напрямую через addon; зависимость не нужна.

Что делает

Создать настроенный выбор юнита, привязанный к записи значения условия. Возвращает виджет, который вызывающий добавляет к родителю обратного вызова условия.

Аргументы

ИмяТипЧто делает
selfRMAddonЭкземпляр аддона Rotation Master (неявно при вызове через двоеточие).
valuetableЗапись значения условия, обновляемая при выборе юнита.
unitstableТаблица соответствия ключей юнитов и отображаемых названий для списка выбора.
updatefunctionОбратный вызов после смены выбранного юнита.
fieldstring | nilИзменяемое поле записи значения; по умолчанию unit.

Возвращает

1RMConditionSelectorНастроенный выбор юнита; добавьте его через parent:AddChild(widget).

Издания

Встроенные помощники регистрируются во всех изданиях. Различается игровой API, который они читают; если нужного API нет, помощник использует запасной вариант или возвращает nil с причиной.

Не читает игровой API напрямую.

Как его вызывает аддон

и ещё 52: Применение определённого заклинания (widget), Применение можно прервать (widget), Поддержание (widget), Ход поддержания (widget), Оставшееся время поддержания (widget), Поддержание определённого заклинания (widget), Поддержание можно прервать (widget), Класс (widget), Классификация юнита (widget), В бою (widget), История боевых действий (widget), Время в истории боевых действий (widget), Тип существа (widget), Мёртв или призрак (widget), Есть отрицательный эффект (widget), Оставшееся время отриц. эффекта (widget), Наложения отриц. эффекта (widget), Есть тип отриц. эффекта (widget), Дистанция (widget), Враждебный (widget), Дружественный (widget), В группе (widget), Здоровье (widget), Процент здоровья (widget), Невосприимчивость (widget), Совпадает с (widget), Уровень (widget), Мана (widget), Процент маны (widget), Метка рейда (widget), Очки (widget), Ресурс (widget), Процент ресурса (widget), Союзники в радиусе (widget), Здоровье в радиусе (widget), Процент здоровья в радиусе (widget), Число по проценту здоровья в радиусе (widget), Число по здоровью в радиусе (widget), Мана в радиусе (widget), Процент маны в радиусе (widget), Число по проценту маны в радиусе (widget), Число по мане в радиусе (widget), В режиме PvP (widget), Сопротивляемость (widget), Роль (widget), Исполнитель (widget), Характеристика персонажа (widget), Есть похищаемый полож. эффект (widget), Угроза (widget), Время до уровня здоровья (widget), Время до процента здоровья (widget), Цель существует (widget)

Исходный код

UI/condition_unit.lua, строка 23. В игре только для чтения; «Дублировать» создаёт редактируемую копию.

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

Назад: Справочник функций