This commit is contained in:
Bunny67
2018-06-02 10:55:43 +03:00
parent 3578bd7521
commit f0547dbe52
2 changed files with 88 additions and 82 deletions
+14 -8
View File
@@ -81,7 +81,7 @@ local HIDDEN = 0
local function UpdateTooltip(self) local function UpdateTooltip(self)
if self:GetParent().__owner.unit == "player" then if self:GetParent().__owner.unit == "player" then
GameTooltip:SetPlayerBuff(self:GetID()) GameTooltip:SetPlayerBuff(self:GetID() - 1)
elseif self.filter == 'HELPFUL' then elseif self.filter == 'HELPFUL' then
GameTooltip:SetUnitBuff(self:GetParent().__owner.unit, self:GetID(), self.filter) GameTooltip:SetUnitBuff(self:GetParent().__owner.unit, self:GetID(), self.filter)
else else
@@ -143,16 +143,18 @@ local function customFilter(element, unit, button, texture)
end end
local function updateIcon(element, unit, index, offset, filter, isDebuff, visible) local function updateIcon(element, unit, index, offset, filter, isDebuff, visible)
local texture, count, dispelType, duration, expiration = UnitAura(unit, index, filter) local texture, count, dispelType, duration, expiration
if unit == "player" then if unit == "player" then
local idx = GetPlayerBuff(index - 1, filter) local idx = GetPlayerBuff(index - 1, filter)
if idx < 0 then return end --if idx < 0 then return end
index = idx --index = idx
texture = GetPlayerBuffTexture(idx) texture = GetPlayerBuffTexture(idx)
count = GetPlayerBuffApplications(idx) count = GetPlayerBuffApplications(idx)
dispelType = GetPlayerBuffDispelType(idx) dispelType = GetPlayerBuffDispelType(idx)
duration = GetPlayerBuffTimeLeft(idx) duration = GetPlayerBuffTimeLeft(idx)
else
texture, count, dispelType, duration, expiration = UnitAura(unit, index, filter)
end end
if element.forceShow then if element.forceShow then
@@ -160,8 +162,7 @@ local function updateIcon(element, unit, index, offset, filter, isDebuff, visibl
count, dispelType, duration, expiration = 5, 'Magic', 0, 60 count, dispelType, duration, expiration = 5, 'Magic', 0, 60
end end
if not texture then return end if texture then
local position = visible + offset + 1 local position = visible + offset + 1
local button = element[position] local button = element[position]
if not button then if not button then
@@ -201,8 +202,7 @@ local function updateIcon(element, unit, index, offset, filter, isDebuff, visibl
show = (element.CustomFilter or customFilter) (element, unit, button, texture, count, dispelType, duration, expiration) show = (element.CustomFilter or customFilter) (element, unit, button, texture, count, dispelType, duration, expiration)
end end
if not show then return HIDDEN end if show then
-- We might want to consider delaying the creation of an actual cooldown -- We might want to consider delaying the creation of an actual cooldown
-- object to this point, but I think that will just make things needlessly -- object to this point, but I think that will just make things needlessly
-- complicated. -- complicated.
@@ -251,6 +251,10 @@ local function updateIcon(element, unit, index, offset, filter, isDebuff, visibl
end end
return VISIBLE return VISIBLE
else
return HIDDEN
end
end
end end
local function SetPosition(element, from, to) local function SetPosition(element, from, to)
@@ -302,6 +306,8 @@ local function filterIcons(element, unit, filter, limit, isDebuff, offset, dontH
end end
local function UpdateAuras(self, event, unit) local function UpdateAuras(self, event, unit)
if event == "PLAYER_AURAS_CHANGED" then unit = "player" end
if self.unit ~= unit then return end if self.unit ~= unit then return end
local auras = self.Auras local auras = self.Auras
+4 -4
View File
@@ -22,7 +22,7 @@ local UnitIsUnit = UnitIsUnit
function UF:Construct_Buffs(frame) function UF:Construct_Buffs(frame)
local buffs = CreateFrame("Frame", frame:GetName().."Buffs", frame) local buffs = CreateFrame("Frame", frame:GetName().."Buffs", frame)
buffs.spacing = E.Spacing buffs.spacing = E.Spacing
--buffs.PreSetPosition = (not frame:GetScript("OnUpdate")) and self.SortAuras or nil buffs.PreSetPosition = (not frame:GetScript("OnUpdate")) and self.SortAuras or nil
buffs.PostCreateIcon = self.Construct_AuraIcon buffs.PostCreateIcon = self.Construct_AuraIcon
buffs.PostUpdateIcon = self.PostUpdateAura buffs.PostUpdateIcon = self.PostUpdateAura
--buffs.CustomFilter = self.AuraFilter --buffs.CustomFilter = self.AuraFilter
@@ -37,7 +37,7 @@ end
function UF:Construct_Debuffs(frame) function UF:Construct_Debuffs(frame)
local debuffs = CreateFrame("Frame", frame:GetName().."Debuffs", frame) local debuffs = CreateFrame("Frame", frame:GetName().."Debuffs", frame)
debuffs.spacing = E.Spacing debuffs.spacing = E.Spacing
--debuffs.PreSetPosition = (not frame:GetScript("OnUpdate")) and self.SortAuras or nil debuffs.PreSetPosition = (not frame:GetScript("OnUpdate")) and self.SortAuras or nil
debuffs.PostCreateIcon = self.Construct_AuraIcon debuffs.PostCreateIcon = self.Construct_AuraIcon
debuffs.PostUpdateIcon = self.PostUpdateAura debuffs.PostUpdateIcon = self.PostUpdateAura
--debuffs.CustomFilter = self.AuraFilter --debuffs.CustomFilter = self.AuraFilter
@@ -298,7 +298,7 @@ local function SortAurasByCaster(a, b)
end end
function UF:SortAuras() function UF:SortAuras()
if not self.db then return end --[[if not self.db then return end
--Sorting by Index is Default --Sorting by Index is Default
if self.db.sortMethod == "TIME_REMAINING" then if self.db.sortMethod == "TIME_REMAINING" then
@@ -309,7 +309,7 @@ function UF:SortAuras()
tsort(self, SortAurasByDuration) tsort(self, SortAurasByDuration)
elseif self.db.sortMethod == "PLAYER" then elseif self.db.sortMethod == "PLAYER" then
tsort(self, SortAurasByCaster) tsort(self, SortAurasByCaster)
end end]]
--Look into possibly applying filter priorities for auras here. --Look into possibly applying filter priorities for auras here.