레퍼런스 › 함수 레퍼런스 › Conditions

Conditions.common.Widget_UnitWidget

공개

호출 방법

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

addon을 통해 바로 쓸 수 있으며, 의존성이 필요 없습니다.

하는 일

조건 값 레코드에 연결된 설정된 유닛 선택기를 만듭니다. 호출자가 조건 콜백 부모에 추가할 위젯을 반환합니다.

인수

이름유형하는 일
selfRMAddonRotation Master 애드온 인스턴스 (콜론 호출에서는 암묵적).
valuetable유닛을 선택하면 갱신되는 조건 값 레코드.
unitstable선택기에 표시할 유닛 키-표시 이름 맵.
updatefunction선택한 유닛이 바뀐 뒤 호출되는 콜백.
fieldstring | nil편집할 값 레코드 필드. 기본값은 unit입니다.

반환값

1RMConditionSelector설정된 유닛 선택기. parent:AddChild(widget)로 추가하세요.

버전

기본 제공 도우미는 모든 버전에 등록됩니다. 다른 점은 읽는 게임 API이며, API가 없으면 도우미는 대체 동작을 하거나 이유와 함께 nil을 반환합니다.

게임 API를 직접 읽지 않습니다.

애드온에서 호출하는 방식

  • 공격 가능 (widget)
    local unit = addon:Widget_UnitWidget(value, Functions.collections.deepcopy(addon.units, { "player", "pet" }),
  • 근접 사거리 밖 (widget)
    parent:AddChild(addon:Widget_UnitWidget(value,addon.units,function()
  • 강화 효과 있음 (widget)
    local unit = addon:Widget_UnitWidget(value, addon.units,
  • 강화 효과 남은 시간 (widget)
    local unit = addon:Widget_UnitWidget(value, addon.units,
  • 강화 효과 중첩 (widget)
    local unit = addon:Widget_UnitWidget(value, addon.units,
  • 시전 (widget)
    local unit = addon:Widget_UnitWidget(value, addon.units,
  • 시전 진행도 (widget)
    local unit = addon:Widget_UnitWidget(value, addon.units,
  • 시전 남은 시간 (widget)
    local unit = addon:Widget_UnitWidget(value, addon.units,

외 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

함수 레퍼런스(으)로 돌아가기