mirror of
https://github.com/brues-code/pfUI.git
synced 2026-09-28 02:16:02 +00:00
api: introduce new unitframes
This commit is contained in:
+20
-111
@@ -20,10 +20,6 @@ pfUI:RegisterModule("group", function ()
|
||||
pfUI.uf.group = CreateFrame("Button","pfGroup",UIParent)
|
||||
pfUI.uf.group:Hide()
|
||||
|
||||
pfUI.uf.group:RegisterEvent("RAID_TARGET_UPDATE")
|
||||
pfUI.uf.group:RegisterEvent("PARTY_LEADER_CHANGED")
|
||||
pfUI.uf.group:RegisterEvent("PARTY_LOOT_METHOD_CHANGED")
|
||||
|
||||
pfUI.uf.group:RegisterEvent("PLAYER_ENTERING_WORLD")
|
||||
pfUI.uf.group:RegisterEvent("PARTY_MEMBERS_CHANGED")
|
||||
pfUI.uf.group:RegisterEvent("PARTY_MEMBER_ENABLE")
|
||||
@@ -38,33 +34,6 @@ pfUI:RegisterModule("group", function ()
|
||||
if C.unitframes.group.hide_in_raid == "1" and UnitInRaid("player") then
|
||||
pfUI.uf.group[i]:Hide()
|
||||
else
|
||||
if event == "RAID_TARGET_UPDATE" or event == "PLAYER_ENTERING_WORLD" or event == "PARTY_MEMBERS_CHANGED" then
|
||||
local raidIcon = GetRaidTargetIndex("party" .. i)
|
||||
if raidIcon and UnitExists("party" .. i) then
|
||||
SetRaidTargetIconTexture(pfUI.uf.group[i].hp.raidIcon.texture, raidIcon)
|
||||
pfUI.uf.group[i].hp.raidIcon:Show()
|
||||
else
|
||||
pfUI.uf.group[i].hp.raidIcon:Hide()
|
||||
end
|
||||
end
|
||||
|
||||
if event == "PARTY_LEADER_CHANGED" or event == "PLAYER_ENTERING_WORLD" or event == "PARTY_MEMBERS_CHANGED" then
|
||||
if UnitIsPartyLeader("party"..i) then
|
||||
pfUI.uf.group[i].hp.leaderIcon:Show()
|
||||
else
|
||||
pfUI.uf.group[i].hp.leaderIcon:Hide()
|
||||
end
|
||||
end
|
||||
|
||||
if event == "PARTY_LOOT_METHOD_CHANGED" or event == "PLAYER_ENTERING_WORLD" or event == "PARTY_MEMBERS_CHANGED" then
|
||||
local _, lootmaster = GetLootMethod()
|
||||
if lootmaster and pfUI.uf.group[i].id == lootmaster then
|
||||
pfUI.uf.group[i].hp.lootIcon:Show()
|
||||
else
|
||||
pfUI.uf.group[i].hp.lootIcon:Hide()
|
||||
end
|
||||
end
|
||||
|
||||
if GetNumPartyMembers() >= i then
|
||||
pfUI.uf.group[i]:Show()
|
||||
if UnitIsConnected("party"..i) or not UnitName("party"..i) then
|
||||
@@ -81,88 +50,28 @@ pfUI:RegisterModule("group", function ()
|
||||
end
|
||||
end)
|
||||
|
||||
|
||||
for i=1, 4 do
|
||||
pfUI.uf.group[i] = CreateFrame("Button","pfGroup" .. i,UIParent)
|
||||
|
||||
pfUI.uf.group[i]:SetWidth(175)
|
||||
pfUI.uf.group[i]:SetHeight(40 + 2*default_border + spacing)
|
||||
pfUI.uf.group[i]:SetPoint("TOPLEFT", 5, -5 - ((i-1)*55))
|
||||
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]:Hide()
|
||||
pfUI.uf.group[i].id = i
|
||||
pfUI.uf.group[i].label = "party"
|
||||
|
||||
|
||||
pfUI.uf.group[i].hp = CreateFrame("Frame",nil, pfUI.uf.group[i])
|
||||
pfUI.uf.group[i].hp:SetWidth(175)
|
||||
pfUI.uf.group[i].hp:SetHeight(30)
|
||||
pfUI.uf.group[i].hp:SetPoint("TOP", 0, 0)
|
||||
CreateBackdrop(pfUI.uf.group[i].hp, default_border)
|
||||
|
||||
pfUI.uf.group[i].hp.bar = CreateFrame("StatusBar", nil, pfUI.uf.group[i].hp)
|
||||
pfUI.uf.group[i].hp.bar:SetStatusBarTexture("Interface\\AddOns\\pfUI\\img\\bar")
|
||||
pfUI.uf.group[i].hp.bar:SetAllPoints(pfUI.uf.group[i].hp)
|
||||
pfUI.uf.group[i].hp.bar:SetMinMaxValues(0, 100)
|
||||
|
||||
if C.unitframes.custombg == "1" then
|
||||
local cr, cg, cb, ca = strsplit(",", C.unitframes.custombgcolor)
|
||||
cr, cg, cb = tonumber(cr), tonumber(cg), tonumber(cb)
|
||||
pfUI.uf.group[i].hp.bar.texture = pfUI.uf.group[i].hp.bar:CreateTexture(nil,"BACKGROUND")
|
||||
pfUI.uf.group[i].hp.bar.texture:SetTexture(cr,cg,cb,ca)
|
||||
pfUI.uf.group[i].hp.bar.texture:SetAllPoints(pfUI.uf.group[i].hp.bar)
|
||||
end
|
||||
|
||||
pfUI.uf.group[i].power = CreateFrame("Frame",nil, pfUI.uf.group[i])
|
||||
pfUI.uf.group[i].power:SetWidth(175)
|
||||
pfUI.uf.group[i].power:SetHeight(10)
|
||||
pfUI.uf.group[i].power:SetPoint("BOTTOM", 0, 0)
|
||||
CreateBackdrop(pfUI.uf.group[i].power, default_border)
|
||||
|
||||
pfUI.uf.group[i].power.bar = CreateFrame("StatusBar", nil, pfUI.uf.group[i].power)
|
||||
pfUI.uf.group[i].power.bar:SetStatusBarTexture("Interface\\AddOns\\pfUI\\img\\bar")
|
||||
pfUI.uf.group[i].power.bar:SetAllPoints(pfUI.uf.group[i].power)
|
||||
pfUI.uf.group[i].power.bar:SetMinMaxValues(0, 100)
|
||||
|
||||
pfUI.uf:CreatePortrait(pfUI.uf.group[i], C.unitframes.group.portrait, spacing)
|
||||
|
||||
pfUI.uf.group[i].caption = pfUI.uf.group[i]:CreateFontString("Status", "OVERLAY", "GameFontNormal")
|
||||
pfUI.uf.group[i].caption:SetFont(pfUI.font_square, C.global.font_size, "OUTLINE")
|
||||
pfUI.uf.group[i].caption:ClearAllPoints()
|
||||
pfUI.uf.group[i].caption:SetParent(pfUI.uf.group[i].hp.bar)
|
||||
pfUI.uf.group[i].caption:SetPoint("LEFT",pfUI.uf.group[i].hp.bar, "LEFT", 10, 0)
|
||||
pfUI.uf.group[i].caption:SetJustifyH("LEFT")
|
||||
pfUI.uf.group[i].caption:SetFontObject(GameFontWhite)
|
||||
|
||||
pfUI.uf.group[i].hp.leaderIcon = CreateFrame("Frame",nil,pfUI.uf.group[i].hp.bar)
|
||||
pfUI.uf.group[i].hp.leaderIcon:SetWidth(10)
|
||||
pfUI.uf.group[i].hp.leaderIcon:SetHeight(10)
|
||||
pfUI.uf.group[i].hp.leaderIcon.texture = pfUI.uf.group[i].hp.leaderIcon:CreateTexture(nil,"BACKGROUND")
|
||||
pfUI.uf.group[i].hp.leaderIcon.texture:SetTexture("Interface\\GROUPFRAME\\UI-Group-LeaderIcon")
|
||||
pfUI.uf.group[i].hp.leaderIcon.texture:SetAllPoints(pfUI.uf.group[i].hp.leaderIcon)
|
||||
pfUI.uf.group[i].hp.leaderIcon:SetPoint("TOPLEFT", pfUI.uf.group[i].hp, "TOPLEFT", -4, 4)
|
||||
pfUI.uf.group[i].hp.leaderIcon:Hide()
|
||||
|
||||
pfUI.uf.group[i].hp.lootIcon = CreateFrame("Frame",nil,pfUI.uf.group[i].hp.bar)
|
||||
pfUI.uf.group[i].hp.lootIcon:SetWidth(10)
|
||||
pfUI.uf.group[i].hp.lootIcon:SetHeight(10)
|
||||
pfUI.uf.group[i].hp.lootIcon.texture = pfUI.uf.group[i].hp.lootIcon:CreateTexture(nil,"BACKGROUND")
|
||||
pfUI.uf.group[i].hp.lootIcon.texture:SetTexture("Interface\\GROUPFRAME\\UI-Group-MasterLooter")
|
||||
pfUI.uf.group[i].hp.lootIcon.texture:SetAllPoints(pfUI.uf.group[i].hp.lootIcon)
|
||||
pfUI.uf.group[i].hp.lootIcon:SetPoint("TOPLEFT", pfUI.uf.group[i].hp, "LEFT", -4, 4)
|
||||
pfUI.uf.group[i].hp.lootIcon:Hide()
|
||||
|
||||
pfUI.uf.group[i].hp.raidIcon = CreateFrame("Frame",nil,pfUI.uf.group[i].hp.bar.bar)
|
||||
pfUI.uf.group[i].hp.raidIcon:SetFrameStrata("HIGH")
|
||||
pfUI.uf.group[i].hp.raidIcon:SetWidth(24)
|
||||
pfUI.uf.group[i].hp.raidIcon:SetHeight(24)
|
||||
pfUI.uf.group[i].hp.raidIcon.texture = pfUI.uf.group[i].hp.raidIcon:CreateTexture(nil,"ARTWORK")
|
||||
pfUI.uf.group[i].hp.raidIcon.texture:SetTexture("Interface\\AddOns\\pfUI\\img\\raidicons")
|
||||
pfUI.uf.group[i].hp.raidIcon.texture:SetAllPoints(pfUI.uf.group[i].hp.raidIcon)
|
||||
pfUI.uf.group[i].hp.raidIcon:SetPoint("TOP", pfUI.uf.group[i].hp, "TOP", -4, 4)
|
||||
pfUI.uf.group[i].hp.raidIcon:Hide()
|
||||
|
||||
pfUI.uf.group[i]:RegisterForClicks('LeftButtonUp', 'RightButtonUp', 'MiddleButtonUp', 'Button4Up', 'Button5Up')
|
||||
|
||||
pfUI.uf:CreateUnit(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", 180, -5 - ((i-1)*75))
|
||||
UpdateMovable(pfUI.uf.group[i].target)
|
||||
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
|
||||
end
|
||||
end)
|
||||
|
||||
end)
|
||||
|
||||
Reference in New Issue
Block a user