Files
pfUI/modules/group.lua
T
2017-06-02 18:01:50 +02:00

90 lines
2.9 KiB
Lua

pfUI:RegisterModule("group", function ()
-- do not go further on disabled UFs
if C.unitframes.disable == "1" then return end
local default_border = C.appearance.border.default
if C.appearance.border.groupframes ~= "-1" then
default_border = C.appearance.border.groupframes
end
local spacing = C.unitframes.group.pspace
-- 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 = CreateFrame("Button","pfGroup",UIParent)
pfUI.uf.group:Hide()
pfUI.uf.group:RegisterEvent("PLAYER_ENTERING_WORLD")
pfUI.uf.group:RegisterEvent("PARTY_MEMBERS_CHANGED")
pfUI.uf.group:RegisterEvent("PARTY_MEMBER_ENABLE")
pfUI.uf.group:RegisterEvent("PARTY_MEMBER_DISABLE")
pfUI.uf.group:RegisterEvent("RAID_ROSTER_UPDATE")
pfUI.uf.group:RegisterEvent("GROUP_ROSTER_UPDATE")
pfUI.uf.group:SetScript("OnEvent", function()
PartyMemberBackground:Hide()
for i=1, 4 do
if C.unitframes.group.hide_in_raid == "1" and UnitInRaid("player") then
pfUI.uf.group[i]:Hide()
else
if GetNumPartyMembers() >= i then
pfUI.uf.group[i]:Show()
if UnitIsConnected("party"..i) or not UnitName("party"..i) then
pfUI.uf.group[i]:SetAlpha(1)
else
pfUI.uf.group[i]:SetAlpha(.25)
end
else
if pfUI.uf.group[i] then
pfUI.uf.group[i]:Hide()
end
end
end
end
end)
for i=1, 4 do
pfUI.uf.group[i] = pfUI.uf:CreateUnitFrame("Party", i, C.unitframes.group)
pfUI.uf.group[i]:UpdateFrameSize()
pfUI.uf.group[i]:SetPoint("TOPLEFT", 5, -5 - ((i-1)*75))
UpdateMovable(pfUI.uf.group[i])
pfUI.uf.group[i].target = 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)
UpdateMovable(pfUI.uf.group[i].target)
pfUI.uf.group[i].pet = pfUI.uf:CreateUnitFrame("PartyPet", i, C.unitframes.grouppet)
pfUI.uf.group[i].pet:UpdateFrameSize()
pfUI.uf.group[i].pet:SetPoint("BOTTOMLEFT", pfUI.uf.group[i], "BOTTOMRIGHT", 3*default_border, -default_border)
UpdateMovable(pfUI.uf.group[i].pet)
end
pfUI.uf.partytargetScanner = CreateFrame("Button",nil,UIParent)
pfUI.uf.partytargetScanner:SetScript("OnUpdate", function()
for i=1, 4 do
if UnitExists("party" .. i .. "target") or (pfUI.gitter and pfUI.gitter:IsShown()) then
pfUI.uf.group[i].target:Show()
else
pfUI.uf.group[i].target:Hide()
end
if UnitExists("partypet" .. i) or (pfUI.gitter and pfUI.gitter:IsShown()) then
pfUI.uf.group[i].pet:Show()
else
pfUI.uf.group[i].pet:Hide()
end
end
end)
end)