local _; VUHDO_DEBUFF_BLACKLIST_SORTABLE = { }; VUHDO_DEBUFF_IGNORE_COMBO_MODEL = { }; VUHDO_SELECTED_DEBUFF_IGNORE = ""; -- local tSpellNameById; function VUHDO_initDebuffIgnoreComboModel() table.wipe(VUHDO_DEBUFF_BLACKLIST_SORTABLE); for tName, _ in pairs(VUHDO_DEBUFF_BLACKLIST) do tinsert(VUHDO_DEBUFF_BLACKLIST_SORTABLE, tName); end table.sort(VUHDO_DEBUFF_BLACKLIST_SORTABLE, function(aDebuff, anotherDebuff) return VUHDO_resolveSpellId(aDebuff) < VUHDO_resolveSpellId(anotherDebuff); end ); table.wipe(VUHDO_DEBUFF_IGNORE_COMBO_MODEL); for _, tName in pairs(VUHDO_DEBUFF_BLACKLIST_SORTABLE) do tSpellNameById = VUHDO_resolveSpellId(tName); if (tSpellNameById ~= tName) then tinsert(VUHDO_DEBUFF_IGNORE_COMBO_MODEL, { tName, "[" .. tName .. "] " .. tSpellNameById }); else tinsert(VUHDO_DEBUFF_IGNORE_COMBO_MODEL, { tName, tName }); end end end -- local tText; function VUHDO_saveDebuffIgnoreClicked(aButton) local tText = _G[aButton:GetParent():GetName() .. "IgnoreComboBoxEditBox"]:GetText(); if (tText ~= nil) then VUHDO_DEBUFF_BLACKLIST[strtrim(tText)] = true; VUHDO_initDebuffIgnoreComboModel(); _G[aButton:GetParent():GetName() .. "IgnoreComboBox"]:Hide(); _G[aButton:GetParent():GetName() .. "IgnoreComboBox"]:Show(); end end -- function VUHDO_deleteDebuffIgnoreClicked(aButton) local tText = _G[aButton:GetParent():GetName() .. "IgnoreComboBoxEditBox"]:GetText(); if (tText ~= nil) then if (VUHDO_DEBUFF_BLACKLIST[strtrim(tText)]) then VUHDO_DEBUFF_BLACKLIST[strtrim(tText)] = nil; else local tSpellId = string.match(tText, '([^%]%[]+)'); if (tSpellId ~= nil and VUHDO_DEBUFF_BLACKLIST[tSpellId]) then VUHDO_DEBUFF_BLACKLIST[tSpellId] = nil; end end VUHDO_initDebuffIgnoreComboModel(); _G[aButton:GetParent():GetName() .. "IgnoreComboBox"]:Hide(); _G[aButton:GetParent():GetName() .. "IgnoreComboBox"]:Show(); end end -- function VUHDO_addDebuffToBlacklist(aCuDeIconFrame) if not aCuDeIconFrame then return; end local debuffName = aCuDeIconFrame["debuffInfo"]; if debuffName then local debuffSpellId = strtrim(aCuDeIconFrame["debuffSpellId"]); if not VUHDO_DEBUFF_BLACKLIST[debuffSpellId] then VUHDO_DEBUFF_BLACKLIST[debuffSpellId] = true; VUHDO_updateAllDebuffIcons(false); VUHDO_initDebuffIgnoreComboModel(); VUHDO_Msg(format(VUHDO_I18N_DEBUFF_BLACKLIST_ADDED, debuffSpellId, debuffName), 1, 0.4, 0.4); end end end