local function SetChatFilters() |
local add, del = ChatFrame_AddMessageEventFilter, ChatFrame_RemoveMessageEventFilter |
if db.activated then |
local vars = { |
{"CHAT_MSG_SYSTEM", db.hidesys, _.m, OnSysFilter}, |
{"CHAT_MSG_SYSTEM", db.anti_hidesys, _.n, OnSysAntiFilter}, |
{"CHAT_MSG_WHISPER_INFORM", db.anti_hidereply, _.o, OnWhispAntiFilter}, |
} |
for i, j in ipairs(vars) do |
if vars[i][2] and not vars[i][3] then |
add(vars[i][1], vars[i][4]) |
vars[i][3] = not vars[i][3] |
elseif vars[i][3] and not vars[i][2] then |
del(vars[i][1], vars[i][4]) |
vars[i][3] = not vars[i][3] |
end |
end |
if db.hidesys and not _.m then |
add("CHAT_MSG_SYSTEM", OnSysFilter) |
_.m = true |
elseif _.m and not db.hidesys then |
del("CHAT_MSG_SYSTEM", OnSysFilter) |
_.m = false |
end |
if db.anti_hidesys and not _.n then |
add("CHAT_MSG_SYSTEM", OnSysAntiFilter) |
_.n = true |
elseif _.n and not db.anti_hidesys then |
del("CHAT_MSG_SYSTEM", OnSysAntiFilter) |
_.n = false |
end |
if db.anti_hidereply and not _.o then |
add("CHAT_MSG_WHISPER_INFORM", OnWhispAntiFilter) |
_.o = true |
elseif _.o and not db.anti_hidereply then |
del("CHAT_MSG_WHISPER_INFORM", OnWhispAntiFilter) |
_.o = false |
end |
end |
end |
|
local function SetEvents() |
local a, add, del = "EasyDND", EasyDND.RegisterEvent, EasyDND.UnregisterEvent |
if db.activated then |
local vars = { |
{"PLAYER_ENTERING_WORLD", db.modebg or db.modeinst, _.g, Stub}, |
{ { "AUCTION_HOUSE_SHOW", "AUCTION_HOUSE_CLOSED" }, db.modeah, _.i, Stub}, |
{ { "BANKFRAME_OPENED", "BANKFRAME_CLOSED", "GUILDBANKFRAME_OPENED", "GUILDBANKFRAME_CLOSED" }, db.modebank, _.j, Stub}, |
{ { "MAIL_SHOW", "MAIL_CLOSED" }, db.modemail, _.k, Stub}, |
{ { "PLAYER_REGEN_DISABLED", "PLAYER_REGEN_ENABLED" }, db.modecbt, _.l, Stub}, |
} |
for i, j in ipairs(vars) do |
if vars[i][2] and not vars[i][3] then |
if type(vars[i][1]) == "string" then |
add(a, vars[i][1], Stub) |
else |
for k, l in pairs(vars[i][1]) do |
add(a, l, Stub) |
end |
end |
vars[i][3] = not vars[i][3] |
elseif vars[i][3] and not vars[i][2] then |
if type(vars[i][1]) == "string" then |
del(a, vars[i][1], Stub) |
else |
for k, l in pairs(vars[i][1]) do |
del(a, l, Stub) |
end |
end |
vars[i][3] = not vars[i][3] |
end |
if ( db.modebg or db.modeinst ) and not _.g then |
add(a, "PLAYER_ENTERING_WORLD", Stub) |
_.g = true |
elseif _.g and not ( db.modebg and db.modeinst ) then |
del(a, "PLAYER_ENTERING_WORLD", Stub) |
_.g = false |
end |
if db.modeah and not _.i then |
add(a, "AUCTION_HOUSE_SHOW", Stub) |
add(a, "AUCTION_HOUSE_CLOSED", Stub) |
_.i = true |
elseif _.i and not db.modeah then |
del(a, "AUCTION_HOUSE_SHOW", Stub) |
del(a, "AUCTION_HOUSE_CLOSED", Stub) |
_.i = false |
end |
if db.modebank and not _.j then |
add(a, "BANKFRAME_OPENED", Stub) |
add(a, "BANKFRAME_CLOSED", Stub) |
add(a, "GUILDBANKFRAME_OPENED", Stub) |
add(a, "GUILDBANKFRAME_CLOSED", Stub) |
_.j = true |
elseif _.j and not db.modebank then |
del(a, "BANKFRAME_OPENED", Stub) |
del(a, "BANKFRAME_CLOSED", Stub) |
del(a, "GUILDBANKFRAME_OPENED", Stub) |
del(a, "GUILDBANKFRAME_CLOSED", Stub) |
_.j = false |
end |
if db.modemail and not _.k then |
add(a, "MAIL_SHOW", Stub) |
add(a, "MAIL_CLOSED", Stub) |
_.k = true |
elseif _.k and not db.modemail then |
del(a, "MAIL_SHOW", Stub) |
del(a, "MAIL_CLOSED", Stub) |
_.k = false |
end |
if db.modecbt and not _.l then |
add(a, "PLAYER_REGEN_DISABLED", Stub) |
add(a, "PLAYER_REGEN_ENABLED", Stub) |
_.l = true |
elseif _.l and not db.modecbt then |
del(a, "PLAYER_REGEN_DISABLED", Stub) |
del(a, "PLAYER_REGEN_ENABLED", Stub) |
_.l = false |
end |
end |
end |
|