More fixes for the "Report to Discord" bugs; Implementations to show plugins in the breakdown window;
This commit is contained in:
+18
-15
@@ -97,9 +97,10 @@ end
|
||||
---@param func function
|
||||
---@vararg any
|
||||
function Details:InstanciaCallFunction(func, ...)
|
||||
for index, instancia in ipairs(Details.tabela_instancias) do
|
||||
if (instancia:IsAtiva()) then
|
||||
func(_, instancia, ...)
|
||||
for index, instance in ipairs(Details.tabela_instancias) do
|
||||
---@cast instance instance
|
||||
if (instance:IsEnabled()) then
|
||||
func(_, instance, ...)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -2300,7 +2301,7 @@ function _detalhes:InstanceReset(instance)
|
||||
end
|
||||
|
||||
Details.FadeHandler.Fader(self, "in", nil, "barras")
|
||||
self:AtualizaSegmentos(self)
|
||||
self:UpdateCombatObjectInUse(self)
|
||||
self:AtualizaSoloMode_AfertReset()
|
||||
self:ResetaGump()
|
||||
|
||||
@@ -2481,18 +2482,20 @@ function _detalhes:UnFreeze(instancia)
|
||||
end
|
||||
end
|
||||
|
||||
function _detalhes:AtualizaSegmentos (instancia)
|
||||
if (instancia.iniciada) then
|
||||
if (instancia.segmento == -1) then
|
||||
--instancia.baseframe.rodape.segmento:SetText(segmentos.overall) --localiza-me
|
||||
instancia.showing = _detalhes.tabela_overall
|
||||
elseif (instancia.segmento == 0) then
|
||||
--instancia.baseframe.rodape.segmento:SetText(segmentos.current) --localiza-me
|
||||
instancia.showing = _detalhes.tabela_vigente
|
||||
--print("==> Changing the Segment now! - classe_instancia.lua 1922")
|
||||
--handle internal details! events
|
||||
local eventListener = Details:CreateEventListener()
|
||||
eventListener:RegisterEvent("DETAILS_DATA_SEGMENTREMOVED", function()
|
||||
Details:InstanciaCallFunction(Details.UpdateCombatObjectInUse)
|
||||
end)
|
||||
|
||||
function Details:UpdateCombatObjectInUse(instance)
|
||||
if (instance.iniciada) then
|
||||
if (instance.segmento == -1) then
|
||||
instance.showing = Details.tabela_overall
|
||||
elseif (instance.segmento == 0) then
|
||||
instance.showing = Details.tabela_vigente
|
||||
else
|
||||
instancia.showing = _detalhes.tabela_historico.tabelas [instancia.segmento]
|
||||
--instancia.baseframe.rodape.segmento:SetText(segmentos.past..instancia.segmento) --localiza-me
|
||||
instance.showing = Details.tabela_historico.tabelas[instance.segmento]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -336,7 +336,7 @@ function segmentClass:AddCombat(combatObject)
|
||||
--remove
|
||||
local combatObjectRemoved = table.remove(segmentTable, 3)
|
||||
if (combatObjectRemoved) then
|
||||
Details:DestroyCombat(thirdCombat)
|
||||
Details:DestroyCombat(combatObjectRemoved)
|
||||
Details:SendEvent("DETAILS_DATA_SEGMENTREMOVED")
|
||||
end
|
||||
end
|
||||
@@ -511,8 +511,9 @@ function segmentClass:ResetAllCombatData()
|
||||
Details:SendEvent("DETAILS_DATA_SEGMENTREMOVED")
|
||||
end
|
||||
|
||||
Details:DestroyCombat(Details.tabela_overall)
|
||||
Details:DestroyCombat(Details.tabela_overall) --not creating a new one immediatelly
|
||||
Details:SendEvent("DETAILS_DATA_SEGMENTREMOVED")
|
||||
|
||||
Details:Destroy(Details.spellcache)
|
||||
|
||||
if (Details.schedule_add_to_overall) then --deprecated
|
||||
@@ -533,6 +534,17 @@ function segmentClass:ResetAllCombatData()
|
||||
-- cria nova tabela do combate atual
|
||||
Details.tabela_vigente = combatClass:NovaTabela(nil, Details.tabela_overall)
|
||||
|
||||
---@type instance[]
|
||||
local allInstances = Details:GetAllInstances()
|
||||
|
||||
for i = 1, #allInstances do
|
||||
---@type instance
|
||||
local instance = allInstances[i]
|
||||
if (instance:IsEnabled()) then
|
||||
Details:UpdateCombatObjectInUse(instance)
|
||||
end
|
||||
end
|
||||
|
||||
--marca o addon como fora de combate
|
||||
Details.in_combat = false
|
||||
--zera o contador de combates
|
||||
@@ -561,7 +573,7 @@ function segmentClass:ResetAllCombatData()
|
||||
Details.schedule_hard_garbage_collect = true
|
||||
end
|
||||
|
||||
Details:InstanciaCallFunction(Details.AtualizaSegmentos) -- atualiza o instancia.showing para as novas tabelas criadas
|
||||
Details:InstanciaCallFunction(Details.UpdateCombatObjectInUse) -- atualiza o instancia.showing para as novas tabelas criadas
|
||||
Details:InstanciaCallFunction(Details.AtualizaSoloMode_AfertReset) -- verifica se precisa zerar as tabela da janela solo mode
|
||||
Details:InstanciaCallFunction(Details.ResetaGump) --_detalhes:ResetaGump("de todas as instancias")
|
||||
Details:InstanciaCallFunction(Details.FadeHandler.Fader, "IN", nil, "barras")
|
||||
|
||||
Reference in New Issue
Block a user