|
|
|
|
local _, Cell = ...
|
|
|
|
|
local L = Cell.L
|
|
|
|
|
local F = Cell.funcs
|
|
|
|
|
local P = Cell.pixelPerfectFuncs
|
|
|
|
|
local A = Cell.animations
|
|
|
|
|
|
|
|
|
|
local marks, worldMarks
|
|
|
|
|
|
|
|
|
|
local marksFrame = CreateFrame("Frame", "CellRaidMarksFrame", Cell.frames.mainFrame, "SecureFrameTemplate,BackdropTemplate")
|
|
|
|
|
Cell.frames.raidMarksFrame = marksFrame
|
|
|
|
|
marksFrame:SetSize(196, 40)
|
|
|
|
|
PixelUtil.SetPoint(marksFrame, "BOTTOMRIGHT", CellParent, "CENTER", -1, 1)
|
|
|
|
|
marksFrame:SetClampedToScreen(true)
|
|
|
|
|
marksFrame:SetMovable(true)
|
|
|
|
|
marksFrame:RegisterForDrag("LeftButton")
|
|
|
|
|
marksFrame:SetScript("OnDragStart", function()
|
|
|
|
|
marksFrame:StartMoving()
|
|
|
|
|
marksFrame:SetUserPlaced(false)
|
|
|
|
|
end)
|
|
|
|
|
marksFrame:SetScript("OnDragStop", function()
|
|
|
|
|
marksFrame:StopMovingOrSizing()
|
|
|
|
|
P.SavePosition(marksFrame, CellDB["tools"]["marks"][4])
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------
|
|
|
|
|
-- mover
|
|
|
|
|
-------------------------------------------------
|
|
|
|
|
marksFrame.moverText = marksFrame:CreateFontString(nil, "OVERLAY", "CELL_FONT_WIDGET")
|
|
|
|
|
marksFrame.moverText:SetPoint("TOP", 0, -3)
|
|
|
|
|
marksFrame.moverText:SetText(L["Mover"])
|
|
|
|
|
marksFrame.moverText:Hide()
|
|
|
|
|
|
|
|
|
|
local function ShowMover(show)
|
|
|
|
|
if show then
|
|
|
|
|
if not CellDB["tools"]["marks"][1] then return end
|
|
|
|
|
marksFrame:EnableMouse(true)
|
|
|
|
|
marksFrame.moverText:Show()
|
|
|
|
|
Cell.StylizeFrame(marksFrame, {0, 1, 0, 0.4}, {0, 0, 0, 0})
|
|
|
|
|
if not F.HasPermission(true) then -- button not shown
|
|
|
|
|
if strfind(CellDB["tools"]["marks"][3], "^target") then
|
|
|
|
|
marks:Show()
|
|
|
|
|
elseif strfind(CellDB["tools"]["marks"][3], "^world") then
|
|
|
|
|
worldMarks:Show()
|
|
|
|
|
else
|
|
|
|
|
marks:Show()
|
|
|
|
|
worldMarks:Show()
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
marksFrame:SetAlpha(1)
|
|
|
|
|
else
|
|
|
|
|
marksFrame:EnableMouse(false)
|
|
|
|
|
marksFrame.moverText:Hide()
|
|
|
|
|
Cell.StylizeFrame(marksFrame, {0, 0, 0, 0}, {0, 0, 0, 0})
|
|
|
|
|
if not F.HasPermission(true) then -- button should not shown
|
|
|
|
|
if not (Cell.vars.groupType == "solo" and CellDB["tools"]["marks"][2]) then
|
|
|
|
|
marks:Hide()
|
|
|
|
|
end
|
|
|
|
|
worldMarks:Hide()
|
|
|
|
|
end
|
|
|
|
|
marksFrame:SetAlpha(CellDB["tools"]["fadeOut"] and 0 or 1)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
Cell.RegisterCallback("ShowMover", "RaidMarks_ShowMover", ShowMover)
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------
|
|
|
|
|
-- colors
|
|
|
|
|
-------------------------------------------------
|
|
|
|
|
local markColors = {
|
|
|
|
|
{1, 1, 0}, -- star
|
|
|
|
|
{1, 0.5, 0}, -- circle
|
|
|
|
|
{0.5, 0, 1}, -- diamond
|
|
|
|
|
{0, 1, 0.2}, -- triangle
|
|
|
|
|
{0.5, 0.5, 0.5}, -- moon
|
|
|
|
|
{0, 0.5, 1}, -- square
|
|
|
|
|
{1, 0, 0}, -- cross
|
|
|
|
|
{1, 1, 1}, -- skull
|
|
|
|
|
{1, 0.19, 0.19}, -- clear
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------
|
|
|
|
|
-- marks
|
|
|
|
|
-------------------------------------------------
|
|
|
|
|
marks = Cell.CreateFrame("CellRaidMarksFrame_Marks", marksFrame, 196, 20, true)
|
|
|
|
|
marks:SetPoint("BOTTOMLEFT")
|
|
|
|
|
marks:Hide()
|
|
|
|
|
|
|
|
|
|
local ticker
|
|
|
|
|
local markButtons = {}
|
|
|
|
|
for i = 1, 9 do
|
|
|
|
|
markButtons[i] = Cell.CreateButton(marks, "", "accent-hover", {20, 20})
|
|
|
|
|
markButtons[i].texture = markButtons[i]:CreateTexture(nil, "ARTWORK")
|
|
|
|
|
P.Point(markButtons[i].texture, "TOPLEFT", markButtons[i], "TOPLEFT", 2, -2)
|
|
|
|
|
P.Point(markButtons[i].texture, "BOTTOMRIGHT", markButtons[i], "BOTTOMRIGHT", -2, 2)
|
|
|
|
|
|
|
|
|
|
if i == 9 then
|
|
|
|
|
-- clear all marks
|
|
|
|
|
markButtons[i].texture:SetTexture("Interface\\Buttons\\UI-GroupLoot-Pass-Up")
|
|
|
|
|
markButtons[i]:SetScript("OnClick", function()
|
|
|
|
|
markButtons[i]:SetEnabled(false)
|
|
|
|
|
markButtons[i].texture:SetDesaturated(true)
|
|
|
|
|
for j = 1, 8 do
|
|
|
|
|
SetRaidTarget("player", j)
|
|
|
|
|
end
|
|
|
|
|
C_Timer.After(0.5, function()
|
|
|
|
|
SetRaidTarget("player", 0)
|
|
|
|
|
markButtons[i]:SetEnabled(true)
|
|
|
|
|
markButtons[i].texture:SetDesaturated(false)
|
|
|
|
|
end)
|
|
|
|
|
end)
|
|
|
|
|
else
|
|
|
|
|
markButtons[i].texture:SetTexture("Interface\\TargetingFrame\\UI-RaidTargetingIcons")
|
|
|
|
|
SetRaidTargetIconTexture(markButtons[i].texture, i)
|
|
|
|
|
markButtons[i]:RegisterForClicks("LeftButtonDown", "RightButtonDown")
|
|
|
|
|
markButtons[i]:SetScript("OnClick", function(self, button)
|
|
|
|
|
if button == "LeftButton" then
|
|
|
|
|
-- set raid target icon
|
|
|
|
|
if GetRaidTargetIndex("target") == i then
|
|
|
|
|
SetRaidTarget("target", 0)
|
|
|
|
|
else
|
|
|
|
|
SetRaidTarget("target", i)
|
|
|
|
|
end
|
|
|
|
|
elseif button == "RightButton" then
|
|
|
|
|
-- lock raid target icon
|
|
|
|
|
local unit, name, class = F.GetTargetUnitInfo()
|
|
|
|
|
if unit and name then
|
|
|
|
|
if markButtons[i].locked then
|
|
|
|
|
F.NotifyMarkUnlock(i, name, class)
|
|
|
|
|
SetRaidTarget(markButtons[i].locked, 0)
|
|
|
|
|
markButtons[i]:SetBackdropBorderColor(0, 0, 0, 1)
|
|
|
|
|
markButtons[i].locked = nil
|
|
|
|
|
if markButtons[i].ticker then
|
|
|
|
|
markButtons[i].ticker:Cancel()
|
|
|
|
|
markButtons[i].ticker = nil
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
F.NotifyMarkLock(i, name, class)
|
|
|
|
|
SetRaidTarget(unit, i)
|
|
|
|
|
markButtons[i]:SetBackdropBorderColor(markColors[i][1], markColors[i][2], markColors[i][3], 1)
|
|
|
|
|
markButtons[i].locked = unit
|
|
|
|
|
markButtons[i].ticker = C_Timer.NewTicker(1.5, function()
|
|
|
|
|
if UnitName(unit) == name then
|
|
|
|
|
if GetRaidTargetIndex(unit) ~= i then
|
|
|
|
|
SetRaidTarget(unit, i)
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
markButtons[i].locked = nil
|
|
|
|
|
markButtons[i].ticker:Cancel()
|
|
|
|
|
markButtons[i].ticker = nil
|
|
|
|
|
markButtons[i]:SetBackdropBorderColor(0, 0, 0, 1)
|
|
|
|
|
end
|
|
|
|
|
end)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
markButtons[i].bg:SetColorTexture(0.1, 0.1, 0.1, 0.7)
|
|
|
|
|
markButtons[i]:SetBackdropColor(0, 0, 0, 0)
|
|
|
|
|
markButtons[i].color = {0, 0, 0, 0}
|
|
|
|
|
markButtons[i].hoverColor = {markColors[i][1], markColors[i][2], markColors[i][3], 0.35}
|
|
|
|
|
|
|
|
|
|
-- if i == 1 then
|
|
|
|
|
-- P.Point(markButtons[i], "TOPLEFT")
|
|
|
|
|
-- else
|
|
|
|
|
-- P.Point(markButtons[i], "LEFT", markButtons[i-1], "RIGHT", 2, 0)
|
|
|
|
|
-- end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
marks:SetScript("OnHide", function()
|
|
|
|
|
for i = 1, 8 do
|
|
|
|
|
markButtons[i].locked = nil
|
|
|
|
|
if markButtons[i].ticker then
|
|
|
|
|
markButtons[i].ticker:Cancel()
|
|
|
|
|
markButtons[i].ticker = nil
|
|
|
|
|
end
|
|
|
|
|
markButtons[i]:SetBackdropBorderColor(0, 0, 0, 1)
|
|
|
|
|
end
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------
|
|
|
|
|
-- world marks
|
|
|
|
|
-------------------------------------------------
|
|
|
|
|
worldMarks = Cell.CreateFrame("CellRaidMarksFrame_WorldMarks", marksFrame, 196, 20, true)
|
|
|
|
|
worldMarks:SetPoint("BOTTOMLEFT")
|
|
|
|
|
worldMarks:Hide()
|
|
|
|
|
|
|
|
|
|
local worldMarkIndices = {5, 6, 3, 2, 7, 1, 4, 8}
|
|
|
|
|
local worldMarkButtons = {}
|
|
|
|
|
for i = 1, 9 do
|
|
|
|
|
worldMarkButtons[i] = Cell.CreateButton(worldMarks, "", "accent-hover", {20, 20}, false, false, nil, nil, "SecureActionButtonTemplate")
|
|
|
|
|
worldMarkButtons[i]:RegisterForClicks("LeftButtonUp", "LeftButtonDown") -- NOTE: ActionButtonUseKeyDown will affect this
|
|
|
|
|
worldMarkButtons[i].texture = worldMarkButtons[i]:CreateTexture(nil, "ARTWORK")
|
|
|
|
|
|
|
|
|
|
if i == 9 then
|
|
|
|
|
-- clear all marks
|
|
|
|
|
P.Point(worldMarkButtons[i].texture, "TOPLEFT", worldMarkButtons[i], "TOPLEFT", 2, -2)
|
|
|
|
|
P.Point(worldMarkButtons[i].texture, "BOTTOMRIGHT", worldMarkButtons[i], "BOTTOMRIGHT", -2, 2)
|
|
|
|
|
worldMarkButtons[i].texture:SetTexture("Interface\\Buttons\\UI-GroupLoot-Pass-Up")
|
|
|
|
|
worldMarkButtons[i]:SetAttribute("type", "worldmarker")
|
|
|
|
|
worldMarkButtons[i]:SetAttribute("action", "clear")
|
|
|
|
|
else
|
|
|
|
|
P.Point(worldMarkButtons[i].texture, "TOPLEFT", worldMarkButtons[i], "TOPLEFT", 1, -1)
|
|
|
|
|
P.Point(worldMarkButtons[i].texture, "BOTTOMRIGHT", worldMarkButtons[i], "BOTTOMRIGHT", -1, 1)
|
|
|
|
|
worldMarkButtons[i].texture:SetColorTexture(markColors[i][1], markColors[i][2], markColors[i][3], 0.4)
|
|
|
|
|
worldMarkButtons[i]:SetAttribute("type", "worldmarker")
|
|
|
|
|
worldMarkButtons[i]:SetAttribute("marker", worldMarkIndices[i])
|
|
|
|
|
-- worldMarkButtons[i]:SetAttribute("type", "macro")
|
|
|
|
|
-- worldMarkButtons[i]:SetAttribute("macrotext", "/wm "..worldMarkIndices[i])
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
worldMarkButtons[i].bg:SetColorTexture(0.1, 0.1, 0.1, 0.7)
|
|
|
|
|
worldMarkButtons[i]:SetBackdropColor(0, 0, 0, 0)
|
|
|
|
|
worldMarkButtons[i].color = {0, 0, 0, 0}
|
|
|
|
|
worldMarkButtons[i].hoverColor = {markColors[i][1], markColors[i][2], markColors[i][3], 0.35}
|
|
|
|
|
|
|
|
|
|
-- if i == 1 then
|
|
|
|
|
-- P.Point(worldMarkButtons[i], "TOPLEFT")
|
|
|
|
|
-- else
|
|
|
|
|
-- P.Point(worldMarkButtons[i], "LEFT", worldMarkButtons[i-1], "RIGHT", 2, 0)
|
|
|
|
|
-- end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local worldMarksTimer
|
|
|
|
|
worldMarks:SetScript("OnShow", function()
|
|
|
|
|
worldMarksTimer = C_Timer.NewTicker(0.5, function()
|
|
|
|
|
for i = 1, 8 do
|
|
|
|
|
if IsRaidMarkerActive(worldMarkIndices[i]) then
|
|
|
|
|
worldMarkButtons[i]:SetBackdropBorderColor(markColors[i][1], markColors[i][2], markColors[i][3], 1)
|
|
|
|
|
else
|
|
|
|
|
worldMarkButtons[i]:SetBackdropBorderColor(0, 0, 0, 1)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end)
|
|
|
|
|
end)
|
|
|
|
|
worldMarks:SetScript("OnHide", function()
|
|
|
|
|
if worldMarksTimer then
|
|
|
|
|
worldMarksTimer:Cancel()
|
|
|
|
|
worldMarksTimer = nil
|
|
|
|
|
end
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------
|
|
|
|
|
-- fade out
|
|
|
|
|
-------------------------------------------------
|
|
|
|
|
local buttons = {}
|
|
|
|
|
for _, b in pairs(markButtons) do
|
|
|
|
|
tinsert(buttons, b)
|
|
|
|
|
end
|
|
|
|
|
for _, b in pairs(worldMarkButtons) do
|
|
|
|
|
tinsert(buttons, b)
|
|
|
|
|
end
|
|
|
|
|
A.ApplyFadeInOutToParent(marksFrame, function()
|
|
|
|
|
return CellDB["tools"]["fadeOut"] and not marksFrame.moverText:IsShown()
|
|
|
|
|
end, unpack(buttons))
|
|
|
|
|
|
|
|
|
|
-------------------------------------------------
|
|
|
|
|
-- functions
|
|
|
|
|
-------------------------------------------------
|
|
|
|
|
local function Rearrange(marksConfig)
|
|
|
|
|
local scaled20 = P.Scale(20)
|
|
|
|
|
|
|
|
|
|
if strfind(marksConfig, "_h$") then
|
|
|
|
|
local width = scaled20 * 9 + P.Scale(2) * 8
|
|
|
|
|
|
|
|
|
|
marks:SetSize(width, scaled20)
|
|
|
|
|
worldMarks:SetSize(width, scaled20)
|
|
|
|
|
|
|
|
|
|
if strfind(marksConfig, "^target") then
|
|
|
|
|
marksFrame:SetSize(width, P.Scale(40))
|
|
|
|
|
worldMarks:Hide()
|
|
|
|
|
P.ClearPoints(marks)
|
|
|
|
|
P.Point(marks, "BOTTOMLEFT")
|
|
|
|
|
elseif strfind(marksConfig, "^world") then
|
|
|
|
|
marksFrame:SetSize(width, P.Scale(40))
|
|
|
|
|
marks:Hide()
|
|
|
|
|
P.ClearPoints(worldMarks)
|
|
|
|
|
P.Point(worldMarks, "BOTTOMLEFT")
|
|
|
|
|
else -- both
|
|
|
|
|
marksFrame:SetSize(width, P.Scale(60))
|
|
|
|
|
P.ClearPoints(worldMarks)
|
|
|
|
|
P.Point(worldMarks, "BOTTOMLEFT")
|
|
|
|
|
P.ClearPoints(marks)
|
|
|
|
|
P.Point(marks, "BOTTOMLEFT", worldMarks, "TOPLEFT", 0, 2)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- repoint each button
|
|
|
|
|
for i = 1, 9 do
|
|
|
|
|
P.ClearPoints(markButtons[i])
|
|
|
|
|
P.ClearPoints(worldMarkButtons[i])
|
|
|
|
|
if i == 1 then
|
|
|
|
|
P.Point(markButtons[i], "TOPLEFT")
|
|
|
|
|
P.Point(worldMarkButtons[i], "TOPLEFT")
|
|
|
|
|
else
|
|
|
|
|
P.Point(markButtons[i], "TOPLEFT", markButtons[i-1], "TOPRIGHT", 2, 0)
|
|
|
|
|
P.Point(worldMarkButtons[i], "TOPLEFT", worldMarkButtons[i-1], "TOPRIGHT", 2, 0)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
elseif strfind(marksConfig, "_v$") then
|
|
|
|
|
local height = scaled20 * 9 + P.Scale(2) * 8
|
|
|
|
|
|
|
|
|
|
marks:SetSize(scaled20, height)
|
|
|
|
|
worldMarks:SetSize(scaled20, height)
|
|
|
|
|
|
|
|
|
|
if strfind(marksConfig, "^target") then
|
|
|
|
|
marksFrame:SetSize(scaled20, height + scaled20)
|
|
|
|
|
worldMarks:Hide()
|
|
|
|
|
P.ClearPoints(marks)
|
|
|
|
|
P.Point(marks, "BOTTOMLEFT")
|
|
|
|
|
elseif strfind(marksConfig, "^world") then
|
|
|
|
|
marksFrame:SetSize(scaled20, height + scaled20)
|
|
|
|
|
marks:Hide()
|
|
|
|
|
P.ClearPoints(worldMarks)
|
|
|
|
|
P.Point(worldMarks, "BOTTOMLEFT")
|
|
|
|
|
else -- both
|
|
|
|
|
marksFrame:SetSize(P.Scale(40) + P.Scale(2), height + scaled20)
|
|
|
|
|
P.ClearPoints(worldMarks)
|
|
|
|
|
P.Point(worldMarks, "BOTTOMLEFT")
|
|
|
|
|
P.ClearPoints(marks)
|
|
|
|
|
P.Point(marks, "BOTTOMLEFT", worldMarks, "BOTTOMRIGHT", 2, 0)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- repoint each button
|
|
|
|
|
for i = 1, 9 do
|
|
|
|
|
P.ClearPoints(markButtons[i])
|
|
|
|
|
P.ClearPoints(worldMarkButtons[i])
|
|
|
|
|
if i == 1 then
|
|
|
|
|
P.Point(markButtons[i], "TOPLEFT")
|
|
|
|
|
P.Point(worldMarkButtons[i], "TOPLEFT")
|
|
|
|
|
else
|
|
|
|
|
P.Point(markButtons[i], "TOPLEFT", markButtons[i-1], "BOTTOMLEFT", 0, -2)
|
|
|
|
|
P.Point(worldMarkButtons[i], "TOPLEFT", worldMarkButtons[i-1], "BOTTOMLEFT", 0, -2)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local function CheckPermission()
|
|
|
|
|
if InCombatLockdown() then
|
|
|
|
|
marksFrame:RegisterEvent("PLAYER_REGEN_ENABLED")
|
|
|
|
|
else
|
|
|
|
|
marksFrame:UnregisterEvent("PLAYER_REGEN_ENABLED")
|
|
|
|
|
if CellDB["tools"]["marks"][1] then
|
|
|
|
|
if strfind(CellDB["tools"]["marks"][3], "^target") then
|
|
|
|
|
if marksFrame.moverText:IsShown() or Cell.vars.hasPartyMarkPermission then
|
|
|
|
|
marks:Show()
|
|
|
|
|
else
|
|
|
|
|
marks:Hide()
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
elseif strfind(CellDB["tools"]["marks"][3], "^world") then
|
|
|
|
|
if marksFrame.moverText:IsShown() or Cell.vars.hasPartyMarkPermission then
|
|
|
|
|
worldMarks:Show()
|
|
|
|
|
else
|
|
|
|
|
worldMarks:Hide()
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
else -- both
|
|
|
|
|
if marksFrame.moverText:IsShown() or Cell.vars.hasPartyMarkPermission then
|
|
|
|
|
marks:Show()
|
|
|
|
|
worldMarks:Show()
|
|
|
|
|
else
|
|
|
|
|
marks:Hide()
|
|
|
|
|
worldMarks:Hide()
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- override
|
|
|
|
|
if Cell.vars.groupType == "solo" and CellDB["tools"]["marks"][2] then
|
|
|
|
|
marks:Show()
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
Rearrange(CellDB["tools"]["marks"][3])
|
|
|
|
|
else
|
|
|
|
|
marks:Hide()
|
|
|
|
|
worldMarks:Hide()
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
marksFrame:SetScript("OnEvent", function()
|
|
|
|
|
CheckPermission()
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
Cell.RegisterCallback("PermissionChanged", "RaidMarks_PermissionChanged", CheckPermission)
|
|
|
|
|
|
|
|
|
|
local function UpdateTools(which)
|
|
|
|
|
F.Debug("|cffBBFFFFUpdateTools:|r", which)
|
|
|
|
|
if not which or which == "marks" then
|
|
|
|
|
CheckPermission()
|
|
|
|
|
ShowMover(Cell.vars.showMover and CellDB["tools"]["marks"][1])
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if not which or which == "fadeOut" then
|
|
|
|
|
if CellDB["tools"]["fadeOut"] and not marksFrame.moverText:IsShown() then
|
|
|
|
|
marksFrame:SetAlpha(0)
|
|
|
|
|
else
|
|
|
|
|
marksFrame:SetAlpha(1)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if not which then -- position
|
|
|
|
|
P.LoadPosition(marksFrame, CellDB["tools"]["marks"][4])
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
Cell.RegisterCallback("UpdateTools", "RaidMarks_UpdateTools", UpdateTools)
|
|
|
|
|
|
|
|
|
|
local function UpdatePixelPerfect()
|
|
|
|
|
-- P.Resize(marksFrame)
|
|
|
|
|
-- P.Resize(marks)
|
|
|
|
|
-- P.Resize(worldMarks)
|
|
|
|
|
P.Repoint(marks) -- only marks needs to repoint
|
|
|
|
|
|
|
|
|
|
for i = 1, 9 do
|
|
|
|
|
markButtons[i]:UpdatePixelPerfect()
|
|
|
|
|
worldMarkButtons[i]:UpdatePixelPerfect()
|
|
|
|
|
P.Repoint(markButtons[i].texture)
|
|
|
|
|
P.Repoint(worldMarkButtons[i].texture)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
Cell.RegisterCallback("UpdatePixelPerfect", "Marks_UpdatePixelPerfect", UpdatePixelPerfect)
|