Refactor encounter rendering and description formatting
This commit is contained in:
parent
f37808207e
commit
a06edeb492
4 changed files with 213 additions and 32 deletions
|
@ -147,7 +147,7 @@ local function RenderBossAbilities(data, parent, layer)
|
|||
end
|
||||
end
|
||||
|
||||
local function RenderBossEncounter(bossKey, bossName, encounterName)
|
||||
local function RenderBossEncounter(bossKey, encounterName)
|
||||
local frame = addon.EncounterFrame
|
||||
HideOtherContent()
|
||||
|
||||
|
@ -159,21 +159,24 @@ local function RenderBossEncounter(bossKey, bossName, encounterName)
|
|||
|
||||
local tankHeader = frame:CreateHeader()
|
||||
tankHeader.button.title:SetText("Tank")
|
||||
local tankDescription = addon.API.FormatEncounterDescription(bossData.tank, ORIGINALS['Tanks'].description)
|
||||
local originalTank = ORIGINALS['Tanks'] or ORIGINALS['Tank']
|
||||
local tankDescription = addon.API.FormatEncounterDescription(bossData.tank, originalTank.description)
|
||||
tankHeader.description:SetText(tankDescription)
|
||||
table.insert(frame.headers, tankHeader)
|
||||
SetAbilityTagIcon(tankHeader, 'tank')
|
||||
|
||||
local healHeader = frame:CreateHeader()
|
||||
healHeader.button.title:SetText("Healer")
|
||||
local healerDescription = addon.API.FormatEncounterDescription(bossData.healer, ORIGINALS['Healers'].description)
|
||||
local originalHealer = ORIGINALS['Healers'] or ORIGINALS['Healer']
|
||||
local healerDescription = addon.API.FormatEncounterDescription(bossData.healer, originalHealer.description)
|
||||
healHeader.description:SetText(healerDescription)
|
||||
table.insert(frame.headers, healHeader)
|
||||
SetAbilityTagIcon(healHeader, 'healer')
|
||||
|
||||
local dpsHeader = frame:CreateHeader()
|
||||
dpsHeader.button.title:SetText("Damage Dealer")
|
||||
local dpsDescription = addon.API.FormatEncounterDescription(bossData.dps, ORIGINALS['Damage Dealers'].description)
|
||||
local originalDps = ORIGINALS['Damage Dealers']
|
||||
local dpsDescription = addon.API.FormatEncounterDescription(bossData.dps, originalDps.description)
|
||||
dpsHeader.description:SetText(dpsDescription)
|
||||
table.insert(frame.headers, dpsHeader)
|
||||
SetAbilityTagIcon(dpsHeader, 'dps')
|
||||
|
@ -182,7 +185,6 @@ local function RenderBossEncounter(bossKey, bossName, encounterName)
|
|||
bossHeader.button.title:SetText(encounterName)
|
||||
bossHeader.empty = true
|
||||
table.insert(frame.headers, bossHeader)
|
||||
SetEncounterPortraitIcon(bossHeader, bossName)
|
||||
RenderBossAbilities(bossData.abilities, bossHeader, 1)
|
||||
|
||||
frame:GetParent():Show()
|
||||
|
@ -193,14 +195,6 @@ local function StoreBossAbilities()
|
|||
ORIGINALS = {}
|
||||
|
||||
local stack, _, _, _, curSectionID = {}, EJ_GetEncounterInfo(ENCOUNTER_ID)
|
||||
|
||||
local _, bossName, description, displayInfo, iconImage, uiModelSceneID = EJ_GetCreatureInfo(1, ENCOUNTER_ID)
|
||||
ORIGINALS[bossName] = {}
|
||||
ORIGINALS[bossName].description = description
|
||||
ORIGINALS[bossName].creatureDisplayID = displayInfo
|
||||
ORIGINALS[bossName].uiModelSceneID = uiModelSceneID
|
||||
ORIGINALS[bossName].abilityIcon = iconImage
|
||||
|
||||
repeat
|
||||
local info = C_EncounterJournal.GetSectionInfo(curSectionID)
|
||||
if not info.filteredByDifficulty then
|
||||
|
@ -224,7 +218,6 @@ local function DetectBossToRender()
|
|||
local frame = addon.EncounterFrame
|
||||
|
||||
local encounterName = EJ_GetEncounterInfo(ENCOUNTER_ID)
|
||||
local _, bossName = EJ_GetCreatureInfo(1, ENCOUNTER_ID)
|
||||
|
||||
local difficulty = 'lfg_raid' -- 17
|
||||
if DIFFICULTY == 14 then
|
||||
|
@ -255,7 +248,7 @@ local function DetectBossToRender()
|
|||
|
||||
if bossKey then
|
||||
StoreBossAbilities()
|
||||
RenderBossEncounter(bossKey, bossName, encounterName)
|
||||
RenderBossEncounter(bossKey, encounterName)
|
||||
end
|
||||
|
||||
if bossKey == nil then
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue