Fixed an issue with the loot on the end of the mythic plus panel

This commit is contained in:
Tercio Jose
2024-07-31 18:53:54 -03:00
committed by andrew6180
parent 434b529cea
commit a65839529b
9 changed files with 54 additions and 14 deletions
+6 -3
View File
@@ -549,13 +549,16 @@ local setColorProperties = function(parent, widget, widgetTable, currentXOffset,
label:ClearAllPoints() label:ClearAllPoints()
if (bAlignAsPairs) then if (bAlignAsPairs) then
PixelUtil.SetPoint(label, "topleft", widget:GetParent(), "topleft", currentXOffset, currentYOffset)
PixelUtil.SetPoint(widget.widget, "left", label, "left", nAlignAsPairsLength, 0)
if (not widget.highlightFrame) then if (not widget.highlightFrame) then
local highlightFrame = createOptionHighlightFrame(widget, label, (widgetWidth or 140) + nAlignAsPairsLength + 5) local highlightFrame = createOptionHighlightFrame(widget, label, (widgetWidth or 140) + nAlignAsPairsLength + 5)
widget.highlightFrame = highlightFrame widget.highlightFrame = highlightFrame
end end
----
widget._valueChangeHook = valueChangeHook
--widget.highlightFrame:SetScript("OnClick", highlightFrameOnClickToggle) --todo make this function for color picker color pick start
PixelUtil.SetPoint(label, "topleft", widget:GetParent(), "topleft", currentXOffset, currentYOffset)
PixelUtil.SetPoint(widget.widget, "right", widget.highlightFrame, "right", -3, 0)
else else
if (widgetTable.boxfirst or bUseBoxFirstOnAllWidgets) then if (widgetTable.boxfirst or bUseBoxFirstOnAllWidgets) then
label:SetPoint("left", widget.widget, "right", 2, 0) label:SetPoint("left", widget.widget, "right", 2, 0)
+34
View File
@@ -87,6 +87,11 @@ end
---@field lines line[] ---@field lines line[]
---@field fixedLineWidth number ---@field fixedLineWidth number
---@field chartName string ---@field chartName string
---@field dataPoint_OnEnterFunc fun(self: df_chart, onEnterFunc: function, ...) set the function to be called when the mouse hover over a data point in the chart
---@field dataPoint_OnEnterPayload any[] set the payload to be passed to the function set by DataPoint_OnEnterFunc
---@field dataPoint_OnLeaveFunc fun(self: df_chart, onLeaveFunc: function, ...) set the function to be called when the mouse leaves a data point in the chart
---@field dataPoint_OnLeavePayload any[] set the payload to be passed to the function set by DataPoint_OnLeaveFunc
---@field GetOnEnterLeaveFunctions fun(self: df_chart) : function, any[], function, any[] return the functions and payloads set by DataPoint_OnEnterFunc and DataPoint_OnLeaveFunc
---@field ChartFrameConstructor fun(self: df_chart) set the default values for the chart frame ---@field ChartFrameConstructor fun(self: df_chart) set the default values for the chart frame
---@field GetLine fun(self: df_chart) : line return a line and also internally handle next line ---@field GetLine fun(self: df_chart) : line return a line and also internally handle next line
---@field GetLines fun(self: df_chart) : line[] return a table with all lines already created ---@field GetLines fun(self: df_chart) : line[] return a table with all lines already created
@@ -684,6 +689,31 @@ detailsFramework.ChartFrameMixin = {
self:UpdateFrameSizeCache() self:UpdateFrameSizeCache()
end, end,
---when the mouse hover over a data point in the chart, this function will be called
---@param self df_chart
SetOnEnterFunction = function(self, onEnterFunc, ...)
self.dataPoint_OnEnterFunc = onEnterFunc
self.dataPoint_OnEnterPayload = {...}
end,
---when the mouse leaves a data point in the chart, this function will be called
---@param self df_chart
SetOnLeaveFunction = function(self, onLeaveFunc, ...)
self.dataPoint_OnLeaveFunc = onLeaveFunc
self.dataPoint_OnLeavePayload = {...}
end,
---get the data point on enter and on leave function
---@param self df_chart
---@return function onEnterFunc
---@return any[] onEnterPayload
---@return function onLeaveFunc
---@return any[] onLeavePayload
GetOnEnterLeaveFunctions = function(self)
return self.dataPoint_OnEnterFunc, self.dataPoint_OnEnterPayload, self.dataPoint_OnLeaveFunc, self.dataPoint_OnLeavePayload
end,
---this function will draw the chart lines
---@param self df_chart ---@param self df_chart
---@param yPointScale number|nil ---@param yPointScale number|nil
---@param bUpdateLabels boolean|nil ---@param bUpdateLabels boolean|nil
@@ -709,6 +739,8 @@ detailsFramework.ChartFrameMixin = {
self:ResetDataIndex() self:ResetDataIndex()
print(maxLines)
for i = 1, maxLines do for i = 1, maxLines do
local line = self:GetLine() local line = self:GetLine()
@@ -798,6 +830,8 @@ local createChartFrame = function(parent, name)
return chartFrame return chartFrame
end end
function detailsFramework:CreateGraphicLineFrame(parent, name) function detailsFramework:CreateGraphicLineFrame(parent, name)
---@type df_chart ---@type df_chart
local newGraphicFrame = createChartFrame(parent, name) local newGraphicFrame = createChartFrame(parent, name)
+2 -3
View File
@@ -312,10 +312,9 @@
---@field CreateSearchBox fun(self:table, parent:frame, callback:function) : df_searchbox ---@field CreateSearchBox fun(self:table, parent:frame, callback:function) : df_searchbox
---@field ConvertAnchorPointToInside fun(self:table, anchorPoint:anchorid) : anchorid ---@field ConvertAnchorPointToInside fun(self:table, anchorPoint:anchorid) : anchorid
---@field CreateHeader fun(self:table, parent:frame, headerTable:df_headercolumndata[], options:table?, frameName:string?) : df_headerframe ---@field CreateHeader fun(self:table, parent:frame, headerTable:df_headercolumndata[], options:table?, frameName:string?) : df_headerframe
---@field CreateGraphicMultiLineFrame fun(self:table, parent:frame, name:string) : df_chartmulti
---@field CreateGraphicLineFrame fun(self:table, parent:frame, name:string) : df_chart
---@field ---@field
---@field
--[=[ --[=[
Wrapped objects: when using the following functions, the object will be wrapped in a table, e.g. detailsFramework:CreateButton() will return a table with the button, the button will be accessible through the "button" key. Wrapped objects: when using the following functions, the object will be wrapped in a table, e.g. detailsFramework:CreateButton() will return a table with the button, the button will be accessible through the "button" key.
+1 -1
View File
@@ -1,6 +1,6 @@
local dversion = 555 local dversion = 556
local major, minor = "DetailsFramework-1.0", dversion local major, minor = "DetailsFramework-1.0", dversion
local DF, oldminor = LibStub:NewLibrary(major, minor) local DF, oldminor = LibStub:NewLibrary(major, minor)
+2 -2
View File
@@ -19,8 +19,8 @@
local addonName, Details222 = ... local addonName, Details222 = ...
local version = GetBuildInfo() local version = GetBuildInfo()
Details.build_counter = 12822 Details.build_counter = 12823
Details.alpha_build_counter = 12822 --if this is higher than the regular counter, use it instead Details.alpha_build_counter = 12823 --if this is higher than the regular counter, use it instead
Details.dont_open_news = true Details.dont_open_news = true
Details.game_version = version Details.game_version = version
Details.userversion = version .. " " .. Details.build_counter Details.userversion = version .. " " .. Details.build_counter
+5 -1
View File
@@ -354,6 +354,7 @@
local spell_create_is_summon = { local spell_create_is_summon = {
[34600] = true, -- snake trap [34600] = true, -- snake trap
} }
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--internal functions --internal functions
@@ -630,6 +631,8 @@
Details:Msg(Details.WhoAggroTimer.HitBy) Details:Msg(Details.WhoAggroTimer.HitBy)
end end
--local spellInfo = C_Spell.GetSpellInfo(spellId)
--print("1 spell:", spellId, spellInfo.name)
Details222.StartCombat(sourceSerial, sourceName, sourceFlags, targetSerial, targetName, targetFlags) Details222.StartCombat(sourceSerial, sourceName, sourceFlags, targetSerial, targetName, targetFlags)
else else
--entrar em combate se for dot e for do jogador e o ultimo combate ter sido a mais de 10 segundos atrs --entrar em combate se for dot e for do jogador e o ultimo combate ter sido a mais de 10 segundos atrs
@@ -638,8 +641,9 @@
return return
end end
--faz o calculo dos 10 segundos --can't start a combat with a dot with the latest combat finished less than 10 seconds ago
if (Details.last_combat_time + 10 < _tempo) then if (Details.last_combat_time + 10 < _tempo) then
--print("2 spell:", spellId)
Details222.StartCombat(sourceSerial, sourceName, sourceFlags, targetSerial, targetName, targetFlags) Details222.StartCombat(sourceSerial, sourceName, sourceFlags, targetSerial, targetName, targetFlags)
end end
end end
@@ -52,7 +52,7 @@ end
--debug --debug
_G.MythicDungeonFrames = mythicDungeonFrames _G.MythicDungeonFrames = mythicDungeonFrames
--/run _G.MythicDungeonFrames.ShowEndOfMythicPlusPanel(true) --/run _G.MythicDungeonFrames.ShowEndOfMythicPlusPanel()
---@class animatedtexture : texture, df_frameshake ---@class animatedtexture : texture, df_frameshake
---@field CreateRandomBounceSettings function ---@field CreateRandomBounceSettings function
+2 -2
View File
@@ -171,8 +171,8 @@ function mythicDungeonCharts:OnBossDefeated()
if (mythicLevel and mythicLevel > 0) then if (mythicLevel and mythicLevel > 0) then
if (mythicDungeonCharts.ChartTable and mythicDungeonCharts.ChartTable.Running and bossInfo) then if (mythicDungeonCharts.ChartTable and mythicDungeonCharts.ChartTable.Running and bossInfo) then
local copiedBossInfo = Details:GetFramework().table.copy({}, bossInfo) local tCopiedBossInfo = Details:GetFramework().table.copy({}, bossInfo)
table.insert(mythicDungeonCharts.ChartTable.BossDefeated, {time() - mythicDungeonCharts.ChartTable.StartTime, copiedBossInfo, currentCombat:GetCombatTime()}) table.insert(mythicDungeonCharts.ChartTable.BossDefeated, {time() - mythicDungeonCharts.ChartTable.StartTime, tCopiedBossInfo, currentCombat:GetCombatTime()})
mythicDungeonCharts:Debug("Boss defeated, time saved", currentCombat:GetCombatTime()) mythicDungeonCharts:Debug("Boss defeated, time saved", currentCombat:GetCombatTime())
else else
if (mythicDungeonCharts.ChartTable and mythicDungeonCharts.ChartTable.EndTime ~= -1) then if (mythicDungeonCharts.ChartTable and mythicDungeonCharts.ChartTable.EndTime ~= -1) then
+1 -1
View File
@@ -49,7 +49,7 @@ function DetailsMythicPlusFrame.BossDefeated(this_is_end_end, encounterID, encou
end end
--local zoneName, instanceType, difficultyID, difficultyName, maxPlayers, dynamicDifficulty, isDynamic, instanceMapID, instanceGroupSize = GetInstanceInfo() --local zoneName, instanceType, difficultyID, difficultyName, maxPlayers, dynamicDifficulty, isDynamic, instanceMapID, instanceGroupSize = GetInstanceInfo()
Details222.MythicPlus.OnBossDefeated(encounterID, encounterName) Details222.MythicPlus.OnBossDefeated(encounterID, encounterName) --data capture
--increase the segment number for the mythic run --increase the segment number for the mythic run
Details.MythicPlus.SegmentID = Details.MythicPlus.SegmentID + 1 Details.MythicPlus.SegmentID = Details.MythicPlus.SegmentID + 1