Quantcast
local T, C, L = unpack(Tukui)
if not C.unitframes.enable then return end
local oUF = oUFTukui or oUF

local DefaultPositions = {
	["TukuiPlayer"] = {"TOPRIGHT", UIParent, "CENTER", -250, -150},
	["TukuiTarget"] = {"TOPLEFT", UIParent, "CENTER", 250, -150},
	["TukuiTargetTarget"] = {"TOPLEFT", TukuiTarget, "BOTTOMLEFT", 0, -30},
	["TukuiPet"] = {"TOPRIGHT", TukuiPlayer, "BOTTOMRIGHT", 0, -30},
	["TukuiBoss1"] = {"TOPRIGHT", TukuiTarget, "BOTTOMRIGHT", 0, 150},
	["TukuiArena1"] = {"TOPRIGHT", TukuiTarget, "BOTTOMRIGHT", 0, 150},
}

T.unitframefuncs = {}
local function LoadUnitFrames(self)
	--Only run this once
	self:UnregisterAllEvents()

	for k, obj in next, oUF.objects do
		if T.unitframefuncs.general then
			T.unitframefuncs.general(obj)
		end

		if T.unitframefuncs[obj:GetName()] then
			T.unitframefuncs[obj:GetName()](obj)
		end
	end

	for frame, point in pairs(DefaultPositions) do
		if  _G[frame] and not _G[frame]:IsUserPlaced() then
			_G[frame]:ClearAllPoints()
			_G[frame]:SetPoint(unpack(point))
		end
	end
end

local UFLoader = CreateFrame("frame")
UFLoader:RegisterEvent("PLAYER_ENTERING_WORLD")
UFLoader:SetScript("OnEvent", LoadUnitFrames)