init
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
local E, L = unpack(select(2, ...)); --Import: Engine, Locales
|
||||
local B = E:GetModule("Blizzard")
|
||||
|
||||
--Lua functions
|
||||
local min = math.min
|
||||
--WoW API / Variables
|
||||
local GetScreenHeight = GetScreenHeight
|
||||
|
||||
local hideRule = "[@arena1,exists][@arena2,exists][@arena3,exists][@arena4,exists][@arena5,exists][@boss1,exists][@boss2,exists][@boss3,exists][@boss4,exists]"
|
||||
|
||||
function B:SetObjectiveFrameAutoHide()
|
||||
if E.db.general.watchFrameAutoHide then
|
||||
RegisterStateDriver(WatchFrame, "visibility", hideRule)
|
||||
else
|
||||
UnregisterStateDriver(WatchFrame, "visibility")
|
||||
end
|
||||
end
|
||||
|
||||
function B:SetWatchFrameHeight()
|
||||
local top = WatchFrame:GetTop() or 0
|
||||
local screenHeight = GetScreenHeight()
|
||||
local gapFromTop = screenHeight - top
|
||||
local maxHeight = screenHeight - gapFromTop
|
||||
local watchFrameHeight = min(maxHeight, E.db.general.watchFrameHeight)
|
||||
|
||||
WatchFrame:Height(watchFrameHeight)
|
||||
end
|
||||
|
||||
function B:MoveWatchFrame()
|
||||
local WatchFrameHolder = CreateFrame("Frame", "WatchFrameHolder", E.UIParent)
|
||||
WatchFrameHolder:Size(207, 22)
|
||||
WatchFrameHolder:Point("TOPRIGHT", E.UIParent, "TOPRIGHT", -135, -300)
|
||||
|
||||
E:CreateMover(WatchFrameHolder, "WatchFrameMover", L["Objective Frame"], nil, nil, nil, nil, nil, "general,objectiveFrameGroup")
|
||||
WatchFrameHolder:SetAllPoints(WatchFrameMover)
|
||||
|
||||
WatchFrame:ClearAllPoints()
|
||||
WatchFrame:SetPoint("TOP", WatchFrameHolder, "TOP")
|
||||
B:SetWatchFrameHeight()
|
||||
WatchFrame:SetClampedToScreen(false)
|
||||
|
||||
hooksecurefunc(WatchFrame, "SetPoint", function(_, _, parent)
|
||||
if parent ~= WatchFrameHolder then
|
||||
WatchFrame:ClearAllPoints()
|
||||
WatchFrame:SetPoint("TOP", WatchFrameHolder, "TOP")
|
||||
end
|
||||
end)
|
||||
|
||||
self:SetObjectiveFrameAutoHide()
|
||||
end
|
||||
Reference in New Issue
Block a user