mirror of
https://github.com/brues-code/pfUI.git
synced 2026-09-22 07:36:56 +00:00
80 lines
3.0 KiB
Lua
80 lines
3.0 KiB
Lua
pfUI:RegisterModule("group", function ()
|
|
-- do not go further on disabled UFs
|
|
if C.unitframes.disable == "1" then return end
|
|
|
|
-- scan for group targets
|
|
pfUI.uf.groupscanner = CreateFrame("Frame", nil, UIParent)
|
|
pfUI.uf.groupscanner:Hide()
|
|
pfUI.uf.groupscanner:SetScript("OnUpdate", function()
|
|
if ( this.limit or 1) > GetTime() then return else this.limit = GetTime() + .2 end
|
|
|
|
for i=1, 4 do
|
|
if (UnitExists("party" .. i) and UnitExists("party" .. i .. "target")) or (pfUI.unlock and pfUI.unlock:IsShown()) then
|
|
pfUI.uf.group[i].target:Show()
|
|
else
|
|
pfUI.uf.group[i].target:Hide()
|
|
end
|
|
end
|
|
end)
|
|
|
|
-- hide blizzard group frames
|
|
for i=1, 4 do
|
|
if _G["PartyMemberFrame" .. i] then
|
|
_G["PartyMemberFrame" .. i]:Hide()
|
|
_G["PartyMemberFrame" .. i].Show = function () return end
|
|
end
|
|
end
|
|
|
|
pfUI.uf.group = {}
|
|
|
|
function pfUI.uf.group:UpdateConfig()
|
|
local startid = C.unitframes.selfingroup == "1" and 0 or 1
|
|
local spacing = C.unitframes.group.pspace
|
|
local default_border = C.appearance.border.default
|
|
if C.appearance.border.unitframes ~= "-1" then
|
|
default_border = C.appearance.border.unitframes
|
|
end
|
|
|
|
for i=0, 4 do
|
|
local active = i >= 1 or startid == 0
|
|
|
|
if active then
|
|
pfUI.uf.group[i] = pfUI.uf.group[i] or pfUI.uf:CreateUnitFrame("Party", i, C.unitframes.group)
|
|
pfUI.uf.group[i]:UpdateFrameSize()
|
|
pfUI.uf.group[i]:SetPoint("TOPLEFT", 5, -5 - ((i-startid)*75))
|
|
pfUI.uf.group[i]:UpdateConfig()
|
|
UpdateMovable(pfUI.uf.group[i])
|
|
elseif pfUI.uf.group[i] then
|
|
pfUI.uf.group[i]:UpdateConfig()
|
|
RemoveMovable(pfUI.uf.group[i])
|
|
end
|
|
|
|
if C.unitframes.grouptarget.visible == "1" and active then
|
|
pfUI.uf.group[i].target = pfUI.uf.group[i].target or pfUI.uf:CreateUnitFrame("Party" .. i .. "Target", nil, C.unitframes.grouptarget, 0.2)
|
|
pfUI.uf.group[i].target:UpdateFrameSize()
|
|
pfUI.uf.group[i].target:SetPoint("TOPLEFT", pfUI.uf.group[i], "TOPRIGHT", 3*default_border, 0)
|
|
pfUI.uf.group[i].target:UpdateConfig()
|
|
UpdateMovable(pfUI.uf.group[i].target)
|
|
pfUI.uf.groupscanner:Show()
|
|
elseif pfUI.uf.group[i] and pfUI.uf.group[i].target then
|
|
pfUI.uf.groupscanner:Hide()
|
|
pfUI.uf.group[i].target:UpdateConfig()
|
|
RemoveMovable(pfUI.uf.group[i].target)
|
|
end
|
|
|
|
if C.unitframes.grouppet.visible == "1" and active then
|
|
pfUI.uf.group[i].pet = pfUI.uf.group[i].pet or pfUI.uf:CreateUnitFrame("PartyPet", i, C.unitframes.grouppet, 0.5)
|
|
pfUI.uf.group[i].pet:UpdateFrameSize()
|
|
pfUI.uf.group[i].pet:SetPoint("BOTTOMLEFT", pfUI.uf.group[i], "BOTTOMRIGHT", 3*default_border, -default_border)
|
|
pfUI.uf.group[i].pet:UpdateConfig()
|
|
UpdateMovable(pfUI.uf.group[i].pet)
|
|
elseif pfUI.uf.group[i] and pfUI.uf.group[i].pet then
|
|
pfUI.uf.group[i].pet:UpdateConfig()
|
|
RemoveMovable(pfUI.uf.group[i].pet)
|
|
end
|
|
end
|
|
end
|
|
|
|
pfUI.uf.group:UpdateConfig()
|
|
end)
|