- small fixes and framework update.

This commit is contained in:
Tercio
2015-10-16 13:09:08 -03:00
parent f9271a6921
commit be4bb1d34f
4 changed files with 114 additions and 239 deletions
+38 -38
View File
@@ -188,8 +188,8 @@ function DF:CreateCoolTip()
CoolTip.frame1 = frame1
CoolTip.frame2 = frame2
DF:Fade (frame1, 0)
DF:Fade (frame2, 0)
DF:FadeFrame (frame1, 0)
DF:FadeFrame (frame2, 0)
--> button containers
frame1.Lines = {}
@@ -261,10 +261,10 @@ function DF:CreateCoolTip()
CoolTip.mouseOver = true
CoolTip.had_interaction = true
self:SetScript ("OnUpdate", nil)
DF:Fade (self, 0)
DF:FadeFrame (self, 0)
--rever
if (CoolTip.sub_menus) then
DF:Fade (frame2, 0)
DF:FadeFrame (frame2, 0)
end
end
end)
@@ -278,8 +278,8 @@ function DF:CreateCoolTip()
CoolTip.mouseOver = true
CoolTip.had_interaction = true
self:SetScript ("OnUpdate", nil)
DF:Fade (self, 0)
DF:Fade (frame1, 0)
DF:FadeFrame (self, 0)
DF:FadeFrame (frame1, 0)
end
end)
@@ -287,11 +287,11 @@ function DF:CreateCoolTip()
elapsedTime = elapsedTime+elapsed
if (elapsedTime > 0.7) then
if (not CoolTip.active and not CoolTip.buttonClicked and self == CoolTip.Host) then
DF:Fade (self, 1)
DF:Fade (frame2, 1)
DF:FadeFrame (self, 1)
DF:FadeFrame (frame2, 1)
elseif (not CoolTip.active) then
DF:Fade (self, 1)
DF:Fade (frame2, 1)
DF:FadeFrame (self, 1)
DF:FadeFrame (frame2, 1)
end
self:SetScript ("OnUpdate", nil)
frame2:SetScript ("OnUpdate", nil)
@@ -317,11 +317,11 @@ function DF:CreateCoolTip()
elapsedTime = elapsedTime+elapsed
if (elapsedTime > 0.7) then
if (not CoolTip.active and not CoolTip.buttonClicked and self == CoolTip.Host) then
DF:Fade (self, 1)
DF:Fade (frame2, 1)
DF:FadeFrame (self, 1)
DF:FadeFrame (frame2, 1)
elseif (not CoolTip.active) then
DF:Fade (self, 1)
DF:Fade (frame2, 1)
DF:FadeFrame (self, 1)
DF:FadeFrame (frame2, 1)
end
self:SetScript ("OnUpdate", nil)
frame1:SetScript ("OnUpdate", nil)
@@ -386,12 +386,12 @@ function DF:CreateCoolTip()
elapsedTime = elapsedTime+elapsed
if (elapsedTime > 0.7) then
if (not CoolTip.active and not CoolTip.buttonClicked) then
DF:Fade (frame1, 1)
DF:Fade (frame2, 1)
DF:FadeFrame (frame1, 1)
DF:FadeFrame (frame2, 1)
elseif (not CoolTip.active) then
DF:Fade (frame1, 1)
DF:Fade (frame2, 1)
DF:FadeFrame (frame1, 1)
DF:FadeFrame (frame2, 1)
end
frame1:SetScript ("OnUpdate", nil)
end
@@ -441,7 +441,7 @@ function DF:CreateCoolTip()
else
--hide second frame
DF:Fade (frame2, 1)
DF:FadeFrame (frame2, 1)
CoolTip.last_button = nil
end
else
@@ -491,11 +491,11 @@ function DF:CreateCoolTip()
elapsedTime = elapsedTime+elapsed
if (elapsedTime > 0.7) then
if (not CoolTip.active and not CoolTip.buttonClicked) then
DF:Fade (frame1, 1)
DF:Fade (frame2, 1)
DF:FadeFrame (frame1, 1)
DF:FadeFrame (frame2, 1)
elseif (not CoolTip.active) then
DF:Fade (frame1, 1)
DF:Fade (frame2, 1)
DF:FadeFrame (frame1, 1)
DF:FadeFrame (frame2, 1)
end
frame2:SetScript ("OnUpdate", nil)
end
@@ -524,8 +524,8 @@ function DF:CreateCoolTip()
frame1:SetScript ("OnUpdate", nil)
frame2:SetScript ("OnUpdate", nil)
DF:Fade (frame1, 0)
DF:Fade (frame2, 0)
DF:FadeFrame (frame1, 0)
DF:FadeFrame (frame2, 0)
else
CoolTip.mouseOver = true
CoolTip.had_interaction = true
@@ -999,7 +999,7 @@ function DF:CreateCoolTip()
menuButton:SetPoint ("left", frame2, "left")
menuButton:SetPoint ("right", frame2, "right")
DF:Fade (menuButton, 0)
DF:FadeFrame (menuButton, 0)
--> string length
local stringWidth = menuButton.leftText:GetStringWidth() + menuButton.rightText:GetStringWidth() + menuButton.leftIcon:GetWidth() + menuButton.rightIcon:GetWidth()
@@ -1048,7 +1048,7 @@ function DF:CreateCoolTip()
function CoolTip:ShowSub (index)
if (CoolTip.OptionsTable.IgnoreSubMenu) then
DF:Fade (frame2, 1)
DF:FadeFrame (frame2, 1)
return
end
@@ -1114,7 +1114,7 @@ function DF:CreateCoolTip()
end
for i = CoolTip.IndexesSub [index] + 1, #frame2.Lines do
DF:Fade (frame2.Lines[i], 1)
DF:FadeFrame (frame2.Lines[i], 1)
end
local spacing = 0
@@ -1217,7 +1217,7 @@ function DF:CreateCoolTip()
frame2:SetWidth (frame2.w + 44)
end
DF:Fade (frame2, 0)
DF:FadeFrame (frame2, 0)
CoolTip:CheckOverlap()
@@ -1246,7 +1246,7 @@ function DF:CreateCoolTip()
end
function CoolTip:HideSub()
DF:Fade (frame2, 1)
DF:FadeFrame (frame2, 1)
end
@@ -1259,7 +1259,7 @@ function DF:CreateCoolTip()
function CoolTip:monta_tooltip()
--> hide sub frame
DF:Fade (frame2, 1)
DF:FadeFrame (frame2, 1)
--> hide select bar
CoolTip:HideSelectedTexture (frame1)
@@ -1393,7 +1393,7 @@ function DF:CreateCoolTip()
end
--> unhide frame
DF:Fade (frame1, 0)
DF:FadeFrame (frame1, 0)
CoolTip:SetMyPoint (host)
--> fix sparks
@@ -1442,12 +1442,12 @@ function DF:CreateCoolTip()
frame2.w = 0
frame2:SetHeight (6)
if (CoolTip.SelectedIndexMain and CoolTip.IndexesSub [CoolTip.SelectedIndexMain] and CoolTip.IndexesSub [CoolTip.SelectedIndexMain] > 0) then
DF:Fade (frame2, 0)
DF:FadeFrame (frame2, 0)
else
DF:Fade (frame2, 1)
DF:FadeFrame (frame2, 1)
end
else
DF:Fade (frame2, 1)
DF:FadeFrame (frame2, 1)
end
CoolTip.active = true
@@ -1600,7 +1600,7 @@ function DF:CreateCoolTip()
frame1.frameWallpaper:Hide()
end
DF:Fade (frame1, 0)
DF:FadeFrame (frame1, 0)
for i = 1, CoolTip.Indexes do
if (CoolTip.SelectedIndexMain and CoolTip.SelectedIndexMain == i) then
@@ -2858,8 +2858,8 @@ function DF:CreateCoolTip()
function CoolTip:Close()
CoolTip.active = false
CoolTip.Host = nil
DF:Fade (frame1, 1)
DF:Fade (frame2, 1)
DF:FadeFrame (frame1, 1)
DF:FadeFrame (frame2, 1)
end
+20 -157
View File
@@ -1,5 +1,5 @@
local dversion = 11
local dversion = 12
local major, minor = "DetailsFramework-1.0", dversion
local DF, oldminor = LibStub:NewLibrary (major, minor)
@@ -103,6 +103,25 @@ function DF:GetFrameworkFolder()
return DF.folder
end
function DF:FadeFrame (frame, t)
if (t == 0) then
frame.hidden = false
frame.faded = false
frame.fading_out = false
frame.fading_in = false
frame:Show()
frame:SetAlpha (1)
elseif (t == 1) then
frame.hidden = true
frame.faded = true
frame.fading_out = false
frame.fading_in = false
frame:SetAlpha (0)
frame:Hide()
end
end
function DF.table.reverse (t)
local new = {}
local index = 1
@@ -317,162 +336,6 @@ function DF:CreateFlashAnimation (frame, onFinishFunc, onLoopFunc)
frame.Stop = stop
end
-----------------------------------------
local fade_IN_finished_func = function (frame)
if (frame.fading_in) then
frame.hidden = true
frame.faded = true
frame.fading_in = false
frame:Hide()
end
end
local fade_OUT_finished_func = function (frame)
if (frame:IsShown() and frame.fading_out) then
frame.hidden = false
frame.faded = false
frame.fading_out = false
else
frame:SetAlpha(0)
end
end
local just_fade_func = function (frame)
frame.hidden = false
frame.faded = true
frame.fading_in = false
end
local anim_OUT_alpha_func = function (frame)
frame.fading_out = false
end
local anim_IN_alpha_func = function (frame)
frame.fading_in = false
end
function DF:Fade (frame, tipo, velocidade, parametros)
if (_type (frame) == "table") then
if (frame.dframework) then
frame = frame.widget
end
end
velocidade = velocidade or 0.3
if (upper (tipo) == "IN") then
if (frame:GetAlpha() == 0 and frame.hidden and not frame.fading_out) then --> ja esta escondida
return
elseif (frame.fading_in) then --> ja esta com uma animação, se for true
return
end
if (frame.fading_out) then --> se tiver uma animação de aparecer em andamento se for true
frame.fading_out = false
end
UIFrameFadeIn (frame, velocidade, frame:GetAlpha(), 0)
frame.fading_in = true
frame.fadeInfo.finishedFunc = fade_IN_finished_func
frame.fadeInfo.finishedArg1 = frame
elseif (upper (tipo) == "OUT") then --> aparecer
if (frame:GetAlpha() == 1 and not frame.hidden and not frame.fading_in) then --> ja esta na tela
return
elseif (frame.fading_out) then --> já ta com fading out
return
end
if (frame.fading_in) then --> se tiver uma animação de hidar em andamento se for true
frame.fading_in = false
end
frame:Show()
UIFrameFadeOut (frame, velocidade, frame:GetAlpha(), 1.0)
frame.fading_out = true
frame.fadeInfo.finishedFunc = fade_OUT_finished_func
frame.fadeInfo.finishedArg1 = frame
elseif (tipo == 0) then --> força o frame a ser mostrado
frame.hidden = false
frame.faded = false
frame.fading_out = false
frame.fading_in = false
frame:Show()
frame:SetAlpha (1)
elseif (tipo == 1) then --> força o frame a ser hidado
frame.hidden = true
frame.faded = true
frame.fading_out = false
frame.fading_in = false
frame:SetAlpha (0)
frame:Hide()
elseif (tipo == -1) then --> apenas da fade sem hidar
if (frame:GetAlpha() == 0 and frame.hidden and not frame.fading_out) then --> ja esta escondida
return
elseif (frame.fading_in) then --> ja esta com uma animação, se for true
return
end
if (frame.fading_out) then --> se tiver uma animação de aparecer em andamento se for true
frame.fading_out = false
end
UIFrameFadeIn (frame, velocidade, frame:GetAlpha(), 0)
frame.fading_in = true
frame.fadeInfo.finishedFunc = just_fade_func
frame.fadeInfo.finishedArg1 = frame
elseif (upper (tipo) == "ALPHAANIM") then
local value = velocidade
local currentApha = frame:GetAlpha()
frame:Show()
if (currentApha < value) then
if (frame.fading_in) then --> se tiver uma animação de hidar em andamento se for true
frame.fading_in = false
frame.fadeInfo.finishedFunc = nil
end
UIFrameFadeOut (frame, 0.3, currentApha, value)
frame.fading_out = true
frame.fadeInfo.finishedFunc = anim_OUT_alpha_func
frame.fadeInfo.finishedArg1 = frame
else
if (frame.fading_out) then --> se tiver uma animação de hidar em andamento se for true
frame.fading_out = false
frame.fadeInfo.finishedFunc = nil
end
UIFrameFadeIn (frame, 0.3, currentApha, value)
frame.fading_in = true
frame.fadeInfo.finishedFunc = anim_IN_alpha_func
frame.fadeInfo.finishedArg1 = frame
end
elseif (upper (tipo) == "ALPHA") then --> setando um alpha determinado
if (frame.fading_in or frame.fading_out) then
frame.fadeInfo.finishedFunc = nil
UIFrameFadeIn (frame, velocidade, frame:GetAlpha(), frame:GetAlpha())
end
frame.hidden = false
frame.faded = false
frame.fading_in = false
frame.fading_out = false
frame:Show()
frame:SetAlpha (velocidade)
end
end
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--> points
+2 -2
View File
File diff suppressed because one or more lines are too long
+54 -42
View File
@@ -1172,6 +1172,7 @@ function atributo_misc:ToolTipDispell (instancia, numero, barra)
end
local UnitReaction = UnitReaction
local UnitDebuff = UnitDebuff
function _detalhes:CloseEnemyDebuffsUptime()
local combat = _detalhes.tabela_vigente
@@ -1215,29 +1216,34 @@ function _detalhes:CatchRaidDebuffUptime (in_or_out) -- "DEBUFF_UPTIME_IN"
return
end
local cacheGetTime = GetTime()
if (_IsInRaid()) then
local checked = {}
for raidIndex = 1, _GetNumGroupMembers() do
local his_target = _UnitGUID ("raid"..raidIndex.."target")
local rect = UnitReaction ("raid"..raidIndex.."target", "player")
if (his_target and rect and not checked [his_target] and rect <= 4) then
checked [his_target] = true
for debuffIndex = 1, 41 do
local name, _, _, _, _, _, _, unitCaster, _, _, spellid = UnitDebuff ("raid"..raidIndex.."target", debuffIndex)
if (name and unitCaster) then
local playerName, realmName = _UnitName (unitCaster)
local playerGUID = _UnitGUID (unitCaster)
if (playerGUID) then
if (realmName and realmName ~= "") then
playerName = playerName .. "-" .. realmName
local target = "raid"..raidIndex.."target"
local his_target = _UnitGUID (target)
if (his_target and not checked [his_target]) then
local rect = UnitReaction (target, "player")
if (rect and rect <= 4) then
checked [his_target] = true
for debuffIndex = 1, 41 do
local name, _, _, _, _, _, _, unitCaster, _, _, spellid = UnitDebuff (target, debuffIndex)
if (name and unitCaster) then
local playerGUID = _UnitGUID (unitCaster)
if (playerGUID) then
local playerName, realmName = _UnitName (unitCaster)
if (realmName and realmName ~= "") then
playerName = playerName .. "-" .. realmName
end
_detalhes.parser:add_debuff_uptime (nil, cacheGetTime, playerGUID, playerName, 0x00000417, his_target, _UnitName (target), 0x842, spellid, name, in_or_out)
end
_detalhes.parser:add_debuff_uptime (nil, GetTime(), playerGUID, playerName, 0x00000417, his_target, _UnitName ("raid"..raidIndex.."target"), 0x842, spellid, name, in_or_out)
end
end
end
@@ -1325,19 +1331,23 @@ function _detalhes:CatchRaidBuffUptime (in_or_out)
local focus_augmentation = {}
--> raid groups
local cacheGetTime = GetTime()
for raidIndex = 1, _GetNumGroupMembers() do
for buffIndex = 1, 41 do
local name, _, _, _, _, _, _, unitCaster, _, _, spellid = _UnitAura ("raid"..raidIndex, buffIndex, nil, "HELPFUL")
if (name and unitCaster == "raid"..raidIndex) then
local playerName, realmName = _UnitName ("raid"..raidIndex)
local playerGUID = _UnitGUID ("raid"..raidIndex)
if (playerGUID) then
if (realmName and realmName ~= "") then
playerName = playerName .. "-" .. realmName
end
_detalhes.parser:add_buff_uptime (nil, GetTime(), playerGUID, playerName, 0x00000514, playerGUID, playerName, 0x00000514, spellid, name, in_or_out)
local RaidIndex = "raid" .. raidIndex
local playerGUID = _UnitGUID (RaidIndex)
if (playerGUID) then
local playerName, realmName = _UnitName (RaidIndex)
if (realmName and realmName ~= "") then
playerName = playerName .. "-" .. realmName
end
for buffIndex = 1, 41 do
local name, _, _, _, _, _, _, unitCaster, _, _, spellid = _UnitAura (RaidIndex, buffIndex, nil, "HELPFUL")
if (name and unitCaster == RaidIndex) then
_detalhes.parser:add_buff_uptime (nil, cacheGetTime, playerGUID, playerName, 0x00000514, playerGUID, playerName, 0x00000514, spellid, name, in_or_out)
if (in_or_out == "BUFF_UPTIME_IN") then
if (_detalhes.PotionList [spellid]) then
@@ -1355,18 +1365,20 @@ function _detalhes:CatchRaidBuffUptime (in_or_out)
--> player sub group
for partyIndex = 1, _GetNumSubgroupMembers() do
for buffIndex = 1, 41 do
local name, _, _, _, _, _, _, unitCaster, _, _, spellid = _UnitAura ("party"..partyIndex, buffIndex, nil, "HELPFUL")
if (name and unitCaster == "party"..partyIndex) then
local playerName, realmName = _UnitName ("party"..partyIndex)
local playerGUID = _UnitGUID ("party" .. partyIndex)
if (playerGUID) then
if (realmName and realmName ~= "") then
playerName = playerName .. "-" .. realmName
end
_detalhes.parser:add_buff_uptime (nil, GetTime(), playerGUID, playerName, 0x00000514, playerGUID, playerName, 0x00000514, spellid, name, in_or_out)
local PartyIndex = "party" .. partyIndex
local playerGUID = _UnitGUID (PartyIndex)
if (playerGUID) then
local playerName, realmName = _UnitName (PartyIndex)
if (realmName and realmName ~= "") then
playerName = playerName .. "-" .. realmName
end
for buffIndex = 1, 41 do
local name, _, _, _, _, _, _, unitCaster, _, _, spellid = _UnitAura (PartyIndex, buffIndex, nil, "HELPFUL")
if (name and unitCaster == PartyIndex) then
_detalhes.parser:add_buff_uptime (nil, cacheGetTime, playerGUID, playerName, 0x00000514, playerGUID, playerName, 0x00000514, spellid, name, in_or_out)
if (in_or_out == "BUFF_UPTIME_IN") then
if (_detalhes.PotionList [spellid]) then
@@ -1396,7 +1408,7 @@ function _detalhes:CatchRaidBuffUptime (in_or_out)
end
end
_detalhes.parser:add_buff_uptime (nil, GetTime(), playerGUID, playerName, 0x00000514, playerGUID, playerName, 0x00000514, spellid, name, in_or_out)
_detalhes.parser:add_buff_uptime (nil, cacheGetTime, playerGUID, playerName, 0x00000514, playerGUID, playerName, 0x00000514, spellid, name, in_or_out)
end
end
end