Fixed "Time out of combat" after mythic+ and another round of polishing frames and menus
This commit is contained in:
+1
-1
@@ -2164,6 +2164,7 @@ function detailsFramework:CreateSimplePanel(parent, width, height, title, frameN
|
||||
local titleBar = CreateFrame("frame", frameName .. "TitleBar", simplePanel, "BackdropTemplate")
|
||||
|
||||
if (panelOptions.RoundedCorners) then
|
||||
--a key named "TitleBar" is created by the rounded corners function
|
||||
simplePanel.TitleBar:SetColor(.2, .2, .2, 0.4)
|
||||
simplePanel.TitleBar:SetBorderCornerColor(0, 0, 0, 0)
|
||||
|
||||
@@ -2175,7 +2176,6 @@ function detailsFramework:CreateSimplePanel(parent, width, height, title, frameN
|
||||
titleBar:SetBackdrop(SimplePanel_frame_backdrop)
|
||||
titleBar:SetBackdropColor(.2, .2, .2, 1)
|
||||
titleBar:SetBackdropBorderColor(0, 0, 0, 1)
|
||||
simplePanel.TitleBar = titleBar
|
||||
end
|
||||
|
||||
local close = CreateFrame("button", frameName and frameName .. "CloseButton", titleBar)
|
||||
|
||||
@@ -430,6 +430,7 @@ detailsFramework.RoundedCornerPanelMixin = {
|
||||
error("df_roundedpanel:CalculateBorderEdgeSize(self, alignment) alignment must be 'vertical' or 'horizontal'")
|
||||
end,
|
||||
|
||||
---create the border textures
|
||||
---@param self df_roundedpanel
|
||||
CreateBorder = function(self)
|
||||
local r, g, b, a = 0, 0, 0, 0.8
|
||||
@@ -492,6 +493,7 @@ detailsFramework.RoundedCornerPanelMixin = {
|
||||
self.bHasBorder = true
|
||||
end,
|
||||
|
||||
---set the color of the titlebar
|
||||
---@param self df_roundedpanel
|
||||
---@param red any
|
||||
---@param green number|nil
|
||||
@@ -504,6 +506,7 @@ detailsFramework.RoundedCornerPanelMixin = {
|
||||
end
|
||||
end,
|
||||
|
||||
---set the color of the border corners
|
||||
---@param self df_roundedpanel
|
||||
---@param red any
|
||||
---@param green number|nil
|
||||
@@ -525,6 +528,7 @@ detailsFramework.RoundedCornerPanelMixin = {
|
||||
end
|
||||
end,
|
||||
|
||||
---set the background color of the rounded panel
|
||||
---@param self df_roundedpanel
|
||||
---@param red any
|
||||
---@param green number|nil
|
||||
|
||||
+6
-7
@@ -5880,7 +5880,6 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1
|
||||
Details222.MythicPlus.time = 0.1
|
||||
end
|
||||
|
||||
--if (level >= 28 or Details.user_is_patreon_supporter) then --debug
|
||||
if (Details.mythic_plus.show_damage_graphic) then
|
||||
C_Timer.After(0, function()
|
||||
if (ChallengeModeCompleteBanner) then
|
||||
@@ -5889,12 +5888,6 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1
|
||||
end)
|
||||
end
|
||||
|
||||
--send mythic dungeon end event
|
||||
local zoneName, instanceType, difficultyID, difficultyName, maxPlayers, dynamicDifficulty, isDynamic, instanceMapID, instanceGroupSize = GetInstanceInfo()
|
||||
if (difficultyID == 8) then
|
||||
Details:SendEvent("COMBAT_MYTHICDUNGEON_END")
|
||||
end
|
||||
|
||||
local okay, errorText = pcall(function()
|
||||
local mapChallengeModeID, mythicLevel, time, onTime, keystoneUpgradeLevels, practiceRun, oldOverallDungeonScore, newOverallDungeonScore, IsMapRecord, IsAffixRecord, PrimaryAffix, isEligibleForScore, members = C_ChallengeMode.GetCompletionInfo()
|
||||
if (mapChallengeModeID) then
|
||||
@@ -5921,6 +5914,12 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1
|
||||
end
|
||||
end)
|
||||
|
||||
--send mythic dungeon end event
|
||||
local zoneName, instanceType, difficultyID, difficultyName, maxPlayers, dynamicDifficulty, isDynamic, instanceMapID, instanceGroupSize = GetInstanceInfo()
|
||||
if (difficultyID == 8) then
|
||||
Details:SendEvent("COMBAT_MYTHICDUNGEON_END")
|
||||
end
|
||||
|
||||
if (not okay) then
|
||||
Details:Msg("something went wrong (0x7878):", errorText)
|
||||
end
|
||||
|
||||
+5
-4
@@ -540,16 +540,17 @@
|
||||
|
||||
--statusbar
|
||||
local statusBar = CreateFrame("frame", nil, optionsLeftSideBarMenu, "BackdropTemplate")
|
||||
statusBar:SetPoint("bottomleft", pluginContainerFrame, "bottomleft", 0, 5)
|
||||
statusBar:SetPoint("bottomleft", pluginContainerFrame, "bottomleft", 7, 5)
|
||||
statusBar:SetPoint("bottomright", pluginContainerFrame, "bottomright", 0, 5)
|
||||
statusBar:SetHeight(16)
|
||||
statusBar:SetAlpha(1)
|
||||
|
||||
DetailsFramework:BuildStatusbarAuthorInfo(statusBar)
|
||||
|
||||
local rightClickToBackLabel = detailsFramework:CreateLabel(statusBar, "right click to close", 10, "gray")
|
||||
rightClickToBackLabel:SetPoint("bottomright", statusBar, "bottomright", -1, 5)
|
||||
rightClickToBackLabel:SetAlpha(.4)
|
||||
local rightClickToBackLabel = detailsFramework:CreateLabel(statusBar, "right click to close", "GameFontNormal")
|
||||
rightClickToBackLabel:SetPoint("bottomright", statusBar, "bottomright", -150, 5)
|
||||
rightClickToBackLabel:SetAlpha(0.834)
|
||||
rightClickToBackLabel.textcolor = "gray"
|
||||
|
||||
local bigDogTexture = detailsFramework:NewImage(optionsLeftSideBarMenu, [[Interface\MainMenuBar\UI-MainMenuBar-EndCap-Human]], 180*0.7, 200*0.7, "overlay", {0, 1, 0, 1}, "backgroundBigDog", "$parentBackgroundBigDog")
|
||||
bigDogTexture:SetPoint("bottomleft", custom_window, "bottomleft", 0, 1)
|
||||
|
||||
@@ -263,8 +263,13 @@ Details.PlayerBreakdown.RoundedCornerPreset = {
|
||||
color = {.1, .1, .1, 0.834},
|
||||
}
|
||||
|
||||
function Details:RefreshWindowColor()
|
||||
local colorTable = Details.frame_background_color
|
||||
Details:SetWindowColor(unpack(colorTable))
|
||||
end
|
||||
|
||||
function Details:SetWindowColor(r, g, b, a)
|
||||
--SetColor implemented by rounded corners, does not save the color, by apply
|
||||
--SetColor implemented by rounded corners
|
||||
breakdownWindowFrame:SetColor(r, g, b, a)
|
||||
breakdownSideMenu:SetColor(r, g, b, a)
|
||||
|
||||
@@ -277,6 +282,14 @@ function Details:SetWindowColor(r, g, b, a)
|
||||
DetailsReportWindow:SetColor(r, g, b, a)
|
||||
end
|
||||
|
||||
if (DetailsAllAttributesFrame) then
|
||||
DetailsAllAttributesFrame:SetColor(r, g, b, a)
|
||||
end
|
||||
|
||||
if (DetailsSpellBreakdownOptionsPanel) then
|
||||
DetailsSpellBreakdownOptionsPanel:SetColor(r, g, b, a)
|
||||
end
|
||||
|
||||
local colorTable = Details.frame_background_color
|
||||
colorTable[1] = r
|
||||
colorTable[2] = g
|
||||
|
||||
@@ -525,12 +525,6 @@ local createSegmentsScrollBox = function(breakdownWindowFrame, breakdownSideMenu
|
||||
end
|
||||
end
|
||||
|
||||
--get a Details! window
|
||||
local lowerInstanceId = Details:GetLowerInstanceNumber()
|
||||
local fontFile
|
||||
local fontSize
|
||||
local fontOutline
|
||||
|
||||
--header setup
|
||||
local headerTable = {
|
||||
{text = "Segment Name", width = 100},
|
||||
@@ -539,15 +533,6 @@ local createSegmentsScrollBox = function(breakdownWindowFrame, breakdownSideMenu
|
||||
padding = 2,
|
||||
}
|
||||
|
||||
if (lowerInstanceId) then
|
||||
local instance = Details:GetInstance(lowerInstanceId)
|
||||
if (instance) then
|
||||
fontFile = instance.row_info.font_face
|
||||
fontSize = instance.row_info.font_size
|
||||
fontOutline = instance.row_info.textL_outline
|
||||
end
|
||||
end
|
||||
|
||||
local createSegmentLine = function(self, index)
|
||||
--create a new line
|
||||
local line = CreateFrame("button", "$parentLine" .. index, self, "BackdropTemplate")
|
||||
|
||||
@@ -23,10 +23,17 @@ local createOptionsPanel = function()
|
||||
local optionsFrame = DF:CreateSimplePanel(UIParent, 550, 500, "Details! Breakdown Options", "DetailsSpellBreakdownOptionsPanel")
|
||||
optionsFrame:SetFrameStrata("DIALOG")
|
||||
optionsFrame:SetPoint("topleft", UIParent, "topleft", 2, -40)
|
||||
optionsFrame.Title:SetParent(optionsFrame)
|
||||
optionsFrame.TitleBar:Hide()
|
||||
optionsFrame:Show()
|
||||
|
||||
local bUseSolidColor = true
|
||||
DF:ApplyStandardBackdrop(optionsFrame, bUseSolidColor)
|
||||
--remove the backdrop
|
||||
optionsFrame:SetBackdrop(nil)
|
||||
|
||||
--apply rounded corners with the breakdown window preset
|
||||
DF:AddRoundedCornersToFrame(optionsFrame, Details.PlayerBreakdown.RoundedCornerPreset)
|
||||
|
||||
Details:RefreshWindowColor()
|
||||
|
||||
local resetSettings = function()
|
||||
--overwrite the settings for the spell frame
|
||||
@@ -222,6 +229,7 @@ local createOptionsPanel = function()
|
||||
colorTable[3] = b
|
||||
colorTable[4] = a
|
||||
Details:UpdateBreakdownPlayerList()
|
||||
DetailsAllAttributesFrame:UpdateFontStrings()
|
||||
end,
|
||||
name = "Text Color",
|
||||
desc = "Text Color",
|
||||
@@ -233,6 +241,7 @@ local createOptionsPanel = function()
|
||||
set = function(self, fixedparam, value)
|
||||
Details.breakdown_general.font_size = value
|
||||
Details:UpdateBreakdownPlayerList()
|
||||
DetailsAllAttributesFrame:UpdateFontStrings()
|
||||
end,
|
||||
min = 8,
|
||||
max = 20,
|
||||
@@ -247,6 +256,7 @@ local createOptionsPanel = function()
|
||||
set = function(self, fixedparam, value)
|
||||
Details.breakdown_general.font_outline = value
|
||||
Details:UpdateBreakdownPlayerList()
|
||||
DetailsAllAttributesFrame:UpdateFontStrings()
|
||||
end,
|
||||
name = "Text Outline",
|
||||
desc = "Text Outline",
|
||||
@@ -258,6 +268,7 @@ local createOptionsPanel = function()
|
||||
set = function(self, fixedparam, value)
|
||||
Details.breakdown_general.font_face = value
|
||||
Details:UpdateBreakdownPlayerList()
|
||||
DetailsAllAttributesFrame:UpdateFontStrings()
|
||||
end,
|
||||
name = "Font Face",
|
||||
desc = "Font Face",
|
||||
|
||||
@@ -6031,6 +6031,8 @@ local build_mode_list = function(self, deltaTime)
|
||||
gameCooltip:AddMenu(1, function() instance:SetMode(4) end)
|
||||
gameCooltip:AddIcon([[Interface\AddOns\Details\images\modo_icones]], 1, 1, 20, 20, 32/256*3, 32/256*4, 0, 1)
|
||||
|
||||
gameCooltip:ShowRoundedCorner()
|
||||
|
||||
--build raid plugins list
|
||||
local raidPlugins = Details.RaidTables:GetAvailablePlugins()
|
||||
if (#raidPlugins >= 0) then
|
||||
@@ -6339,6 +6341,8 @@ local buildSegmentTooltip = function(self, deltaTime)
|
||||
gameCooltip:SetOption("RightTextHeight", 12)
|
||||
gameCooltip:SetOption("SubFollowButton", true)
|
||||
|
||||
gameCooltip:ShowRoundedCorner()
|
||||
|
||||
local menuIndex = 0
|
||||
Details.segments_amount = floor(Details.segments_amount)
|
||||
local amountOfSegments = 0
|
||||
@@ -9042,6 +9046,9 @@ end
|
||||
show_anti_overlap(self.instance, self, "top")
|
||||
|
||||
Details:SetMenuOwner(self, self.instance)
|
||||
|
||||
gameCooltip:ShowRoundedCorner()
|
||||
|
||||
gameCooltip:ShowCooltip()
|
||||
end
|
||||
|
||||
@@ -9197,6 +9204,8 @@ local reportButton_OnEnter = function(self, motion, forced)
|
||||
|
||||
Details:SetTooltipMinWidth()
|
||||
|
||||
GameCooltip:ShowRoundedCorner()
|
||||
|
||||
Details:CheckLastReportsIntegrity()
|
||||
|
||||
local lastPeports = Details.latest_report_table
|
||||
@@ -9300,6 +9309,9 @@ local attributeButton_OnEnter = function(self, motion, forced, from_click)
|
||||
|
||||
GameCooltip:SetOption("TextSize", Details.font_sizes.menus)
|
||||
Details:SetMenuOwner(self, instancia)
|
||||
|
||||
GameCooltip:ShowRoundedCorner()
|
||||
|
||||
GameCooltip:ShowCooltip()
|
||||
end
|
||||
|
||||
|
||||
@@ -478,8 +478,8 @@ function mythicDungeonFrames.ShowEndOfMythicPlusPanel()
|
||||
--set to use rounded corner
|
||||
local roundedCornerTemplate = {
|
||||
roundness = 6,
|
||||
color = {.1, .1, .1, 0.98},
|
||||
border_color = {.05, .05, .05, 0.834},
|
||||
color = {.1, .1, .1, 0.5},
|
||||
--border_color = {.05, .05, .05, 0.834},
|
||||
}
|
||||
detailsFramework:AddRoundedCornersToFrame(readyFrame, roundedCornerTemplate)
|
||||
end
|
||||
@@ -867,16 +867,15 @@ function mythicDungeonFrames.ShowEndOfMythicPlusPanel()
|
||||
|
||||
readyFrame.StartTextDotAnimation()
|
||||
|
||||
--local mapID = select(8, GetInstanceInfo())
|
||||
|
||||
--fin the overall mythic dungeon combat, starting with the current combat
|
||||
local overallMythicDungeonCombat = Details:GetCurrentCombat()
|
||||
|
||||
--if the latest segment isn't the overall mythic dungeon segment, then find it
|
||||
if (overallMythicDungeonCombat:GetCombatType() ~= DETAILS_SEGMENTTYPE_MYTHICDUNGEON_OVERALL) then
|
||||
--get a table with all segments
|
||||
local segments = Details:GetCombatSegments()
|
||||
for i = 1, #segments do
|
||||
local segment = segments[i]
|
||||
local segmentsTable = Details:GetCombatSegments()
|
||||
for i = 1, #segmentsTable do
|
||||
local segment = segmentsTable[i]
|
||||
if (segment:GetCombatType() == DETAILS_SEGMENTTYPE_MYTHICDUNGEON_OVERALL) then
|
||||
overallMythicDungeonCombat = segment
|
||||
break
|
||||
@@ -884,6 +883,18 @@ function mythicDungeonFrames.ShowEndOfMythicPlusPanel()
|
||||
end
|
||||
end
|
||||
|
||||
--update the run time and time not in combat
|
||||
local elapsedTime = Details222.MythicPlus.time or 1507
|
||||
readyFrame.ElapsedTimeAmountLabel.text = DetailsFramework:IntegerToTimer(elapsedTime)
|
||||
|
||||
if (overallMythicDungeonCombat:GetCombatType() == DETAILS_SEGMENTTYPE_MYTHICDUNGEON_OVERALL) then
|
||||
local combatTime = overallMythicDungeonCombat:GetCombatTime()
|
||||
local notInCombat = elapsedTime - combatTime
|
||||
readyFrame.TimeNotInCombatAmountLabel.text = DetailsFramework:IntegerToTimer(notInCombat) .. " (" .. math.floor(notInCombat / elapsedTime * 100) .. "%)"
|
||||
else
|
||||
readyFrame.TimeNotInCombatAmountLabel.text = "Unknown for this run"
|
||||
end
|
||||
|
||||
if (not overallMythicDungeonCombat.is_mythic_dungeon) then
|
||||
return
|
||||
end
|
||||
@@ -892,21 +903,6 @@ function mythicDungeonFrames.ShowEndOfMythicPlusPanel()
|
||||
|
||||
wipe(readyFrame.playerCacheByName)
|
||||
|
||||
--update the run time and time not in combat
|
||||
local elapsedTime = Details222.MythicPlus.time or 1507
|
||||
readyFrame.ElapsedTimeAmountLabel.text = DetailsFramework:IntegerToTimer(elapsedTime)
|
||||
|
||||
C_Timer.After(2.5, function()
|
||||
--print("overall combat type:", overallMythicDungeonCombat:GetCombatType(), overallMythicDungeonCombat:GetCombatType() == DETAILS_SEGMENTTYPE_MYTHICDUNGEON_OVERALL)
|
||||
if (overallMythicDungeonCombat:GetCombatType() == DETAILS_SEGMENTTYPE_MYTHICDUNGEON_OVERALL) then
|
||||
local combatTime = overallMythicDungeonCombat:GetCombatTime()
|
||||
local notInCombat = elapsedTime - combatTime
|
||||
readyFrame.TimeNotInCombatAmountLabel.text = DetailsFramework:IntegerToTimer(notInCombat) .. " (" .. math.floor(notInCombat / elapsedTime * 100) .. "%)"
|
||||
else
|
||||
readyFrame.TimeNotInCombatAmountLabel.text = "Unknown for this run"
|
||||
end
|
||||
end)
|
||||
|
||||
if (Details222.MythicPlus.OnTime) then
|
||||
readyFrame.YouBeatTheTimerLabel:SetFormattedText(CHALLENGE_MODE_COMPLETE_BEAT_TIMER .. " | " .. CHALLENGE_MODE_COMPLETE_KEYSTONE_UPGRADED, Details222.MythicPlus.KeystoneUpgradeLevels) --"You beat the timer!"
|
||||
readyFrame.YouBeatTheTimerLabel.textcolor = "limegreen"
|
||||
|
||||
+49
-30
@@ -1,7 +1,12 @@
|
||||
local Details = Details
|
||||
local addonName, Details222 = ...
|
||||
|
||||
local AceLocale = LibStub("AceLocale-3.0")
|
||||
local Loc = AceLocale:GetLocale( "Details" )
|
||||
|
||||
---@type detailsframework
|
||||
local detailsFramework = DetailsFramework
|
||||
|
||||
local gump = Details.gump
|
||||
local _
|
||||
|
||||
@@ -11,29 +16,10 @@ local floor = math.floor
|
||||
local gameCooltip = GameCooltip
|
||||
local CreateFrame = CreateFrame
|
||||
|
||||
--api locals
|
||||
do
|
||||
local bookmarkFrame = CreateFrame("frame", "DetailsSwitchPanel", UIParent,"BackdropTemplate")
|
||||
bookmarkFrame:SetPoint("center", UIParent, "center", 500, -300)
|
||||
bookmarkFrame:SetWidth(250)
|
||||
bookmarkFrame:SetHeight(100)
|
||||
bookmarkFrame:SetFrameStrata("FULLSCREEN")
|
||||
bookmarkFrame:SetFrameLevel(16)
|
||||
bookmarkFrame.editing_window = nil
|
||||
function Details222.CreateAllDisplaysFrame()
|
||||
local icon_size = 16
|
||||
local text_color = {.9, .9, .9, 1}
|
||||
|
||||
DetailsFramework:ApplyStandardBackdrop(bookmarkFrame, true)
|
||||
bookmarkFrame:SetBackdropBorderColor(0, 0, 0, 0)
|
||||
|
||||
local backgroundGradientTexture = DetailsFramework:CreateTexture(bookmarkFrame, {gradient = "vertical", fromColor = {0, 0, 0, 0.2}, toColor = {0, 0, 0, 0.4}}, 1, 1, "artwork", {0, 1, 0, 1})
|
||||
backgroundGradientTexture:SetAllPoints()
|
||||
|
||||
bookmarkFrame.HoverOverBackground = {.6, .6, .6, .2}
|
||||
bookmarkFrame.hoverOverTexture = bookmarkFrame:CreateTexture(nil, "border")
|
||||
bookmarkFrame.hoverOverTexture:SetTexture(unpack(bookmarkFrame.HoverOverBackground))
|
||||
bookmarkFrame.hoverOverTexture:SetSize(130, 18)
|
||||
bookmarkFrame.hoverOverTexture:Hide()
|
||||
|
||||
--~all
|
||||
local allDisplaysFrame = CreateFrame("frame", "DetailsAllAttributesFrame", UIParent,"BackdropTemplate")
|
||||
allDisplaysFrame:SetFrameStrata("tooltip")
|
||||
allDisplaysFrame:Hide()
|
||||
@@ -41,9 +27,21 @@ do
|
||||
allDisplaysFrame:SetClampedToScreen(true)
|
||||
allDisplaysFrame.buttons = {}
|
||||
|
||||
DetailsFramework:ApplyStandardBackdrop(allDisplaysFrame)
|
||||
allDisplaysFrame.BackgroundGradientTexture = DetailsFramework:CreateTexture(allDisplaysFrame, {gradient = "vertical", fromColor = "transparent", toColor = {0, 0, 0, 0.2}}, 1, 1, "artwork", {0, 1, 0, 1})
|
||||
allDisplaysFrame.BackgroundGradientTexture:SetAllPoints()
|
||||
function allDisplaysFrame:UpdateFontStrings()
|
||||
for _, attribute in ipairs(allDisplaysFrame.buttons) do
|
||||
for _, button in ipairs(attribute) do
|
||||
Details222.BreakdownWindow.ApplyFontSettings(button.text)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
DetailsSwitchPanel.all_switch = allDisplaysFrame
|
||||
|
||||
detailsFramework:AddRoundedCornersToFrame(allDisplaysFrame, Details.PlayerBreakdown.RoundedCornerPreset)
|
||||
|
||||
--DetailsFramework:ApplyStandardBackdrop(allDisplaysFrame)
|
||||
--allDisplaysFrame.BackgroundGradientTexture = DetailsFramework:CreateTexture(allDisplaysFrame, {gradient = "vertical", fromColor = "transparent", toColor = {0, 0, 0, 0.2}}, 1, 1, "artwork", {0, 1, 0, 1})
|
||||
--allDisplaysFrame.BackgroundGradientTexture:SetAllPoints()
|
||||
|
||||
allDisplaysFrame:SetScript("OnMouseDown", function(self, button)
|
||||
if (button == "RightButton") then
|
||||
@@ -79,8 +77,6 @@ do
|
||||
allDisplaysFrame:SetScript("OnUpdate", nil)
|
||||
end)
|
||||
|
||||
DetailsSwitchPanel.all_switch = allDisplaysFrame
|
||||
|
||||
function Details:ShowAllSwitch()
|
||||
if (allDisplaysFrame:IsShown()) then
|
||||
return allDisplaysFrame:Hide()
|
||||
@@ -136,9 +132,6 @@ do
|
||||
hoverOverTexture:SetSize(130, 18)
|
||||
hoverOverTexture:Hide()
|
||||
|
||||
local icon_size = 16
|
||||
local text_color = {.9, .9, .9, 1}
|
||||
|
||||
local on_enter_all_switch_button = function(self)
|
||||
Details:SetFontColor(self.text, "orange")
|
||||
allDisplaysFrame.interacting = true
|
||||
@@ -379,6 +372,32 @@ do
|
||||
allDisplaysFrame:SetScale(Details.all_switch_config.scale)
|
||||
end)
|
||||
|
||||
end
|
||||
|
||||
--api locals
|
||||
do
|
||||
local bookmarkFrame = CreateFrame("frame", "DetailsSwitchPanel", UIParent, "BackdropTemplate")
|
||||
bookmarkFrame:SetPoint("center", UIParent, "center", 500, -300)
|
||||
bookmarkFrame:SetWidth(250)
|
||||
bookmarkFrame:SetHeight(100)
|
||||
bookmarkFrame:SetFrameStrata("FULLSCREEN")
|
||||
bookmarkFrame:SetFrameLevel(16)
|
||||
bookmarkFrame.editing_window = nil
|
||||
|
||||
DetailsFramework:ApplyStandardBackdrop(bookmarkFrame, true)
|
||||
bookmarkFrame:SetBackdropBorderColor(0, 0, 0, 0)
|
||||
|
||||
local backgroundGradientTexture = DetailsFramework:CreateTexture(bookmarkFrame, {gradient = "vertical", fromColor = {0, 0, 0, 0.2}, toColor = {0, 0, 0, 0.4}}, 1, 1, "artwork", {0, 1, 0, 1})
|
||||
backgroundGradientTexture:SetAllPoints()
|
||||
|
||||
bookmarkFrame.HoverOverBackground = {.6, .6, .6, .2}
|
||||
bookmarkFrame.hoverOverTexture = bookmarkFrame:CreateTexture(nil, "border")
|
||||
bookmarkFrame.hoverOverTexture:SetTexture(unpack(bookmarkFrame.HoverOverBackground))
|
||||
bookmarkFrame.hoverOverTexture:SetSize(130, 18)
|
||||
bookmarkFrame.hoverOverTexture:Hide()
|
||||
|
||||
local icon_size = 16
|
||||
local text_color = {.9, .9, .9, 1}
|
||||
|
||||
---------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -250,16 +250,6 @@ function mythicDungeonCharts:OnEndMythicDungeon()
|
||||
return
|
||||
end
|
||||
|
||||
mythicDungeonCharts:Debug("Dungeon ended successfully, chart data capture stopped, scheduling to open the window.")
|
||||
|
||||
C_Timer.After(0.1, function()
|
||||
|
||||
end)
|
||||
|
||||
--the run is valid, schedule to open the chart window
|
||||
Details.mythic_plus.delay_to_show_graphic = 1
|
||||
C_Timer.After(Details.mythic_plus.delay_to_show_graphic, mythicDungeonFrames.ShowEndOfMythicPlusPanel)
|
||||
|
||||
if (verbosemode) then
|
||||
mythicDungeonCharts:Debug("OnEndMythicDungeon() success!")
|
||||
end
|
||||
|
||||
@@ -18,6 +18,7 @@ Details.MythicPlus = {
|
||||
RunID = 0,
|
||||
}
|
||||
|
||||
local mythicDungeonFrames = Details222.MythicPlus.Frames
|
||||
local mythicDungeonCharts = Details:CreateEventListener()
|
||||
Details222.MythicPlus.Charts.Listener = mythicDungeonCharts
|
||||
|
||||
@@ -60,6 +61,7 @@ function DetailsMythicPlusFrame.BossDefeated(this_is_end_end, encounterID, encou
|
||||
Details:UpdateState_CurrentMythicDungeonRun(true, Details.MythicPlus.SegmentID, Details.MythicPlus.PreviousBossKilledAt)
|
||||
end
|
||||
|
||||
--this function is called 2 seconds after the event COMBAT_MYTHICDUNGEON_END
|
||||
function DetailsMythicPlusFrame.MythicDungeonFinished(fromZoneLeft)
|
||||
if (DetailsMythicPlusFrame.IsDoingMythicDungeon) then
|
||||
if (DetailsMythicPlusFrame.DevelopmentDebug) then
|
||||
@@ -107,6 +109,10 @@ function DetailsMythicPlusFrame.MythicDungeonFinished(fromZoneLeft)
|
||||
|
||||
Details.MythicPlus.IsRestoredState = nil
|
||||
|
||||
--the run is valid, schedule to open the chart window
|
||||
Details.mythic_plus.delay_to_show_graphic = 1
|
||||
C_Timer.After(Details.mythic_plus.delay_to_show_graphic, mythicDungeonFrames.ShowEndOfMythicPlusPanel)
|
||||
|
||||
--shutdown parser for a few seconds to avoid opening new segments after the run ends
|
||||
if (not fromZoneLeft) then
|
||||
Details:CaptureSet(false, "damage", false, 15)
|
||||
@@ -351,7 +357,7 @@ DetailsMythicPlusFrame:SetScript("OnEvent", function(_, event, ...)
|
||||
Details222.MythicPlus.LogStep("ZONE_CHANGED_NEW_AREA | player has left the dungeon and Details! finished the dungeon because of that.")
|
||||
|
||||
--send mythic dungeon end event
|
||||
Details:SendEvent("COMBAT_MYTHICDUNGEON_END")
|
||||
Details:SendEvent("COMBAT_MYTHICDUNGEON_END") --on leave dungeon
|
||||
|
||||
--finish the segment
|
||||
DetailsMythicPlusFrame.BossDefeated(true)
|
||||
|
||||
@@ -1617,7 +1617,7 @@ local default_global_data = {
|
||||
|
||||
reverse_death_log = false,
|
||||
|
||||
delay_to_show_graphic = 10,
|
||||
delay_to_show_graphic = 1,
|
||||
last_mythicrun_chart = {},
|
||||
mythicrun_chart_frame = {},
|
||||
mythicrun_chart_frame_minimized = {},
|
||||
@@ -2025,7 +2025,7 @@ function Details:ImportProfile (profileString, newProfileName, bImportAutoRunCod
|
||||
mythicPlusSettings.make_overall_boss_only = false
|
||||
mythicPlusSettings.show_damage_graphic = true
|
||||
mythicPlusSettings.reverse_death_log = false
|
||||
mythicPlusSettings.delay_to_show_graphic = 10
|
||||
mythicPlusSettings.delay_to_show_graphic = 1
|
||||
mythicPlusSettings.last_mythicrun_chart = {}
|
||||
mythicPlusSettings.mythicrun_chart_frame = {}
|
||||
mythicPlusSettings.mythicrun_chart_frame_minimized = {}
|
||||
|
||||
@@ -87,6 +87,8 @@ function Details:StartMeUp()
|
||||
Details:InitializePlaterIntegrationWindow()
|
||||
Details:InitializeMacrosWindow()
|
||||
|
||||
Details222.CreateAllDisplaysFrame()
|
||||
|
||||
if (Details.ocd_tracker.show_options) then
|
||||
Details:InitializeCDTrackerWindow()
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user