Mercurial > wow > askmrrobot
comparison CombatLog.lua @ 137:6dc0e8e9f960 v64
uldir for auto-logging
| author | yellowfive |
|---|---|
| date | Mon, 03 Sep 2018 19:19:38 -0700 |
| parents | a0894ffebd15 |
| children | a3507735dfd9 |
comparison
equal
deleted
inserted
replaced
| 136:5f3dde81a118 | 137:6dc0e8e9f960 |
|---|---|
| 18 _autoChecks[instanceId][difficultyId] = chk | 18 _autoChecks[instanceId][difficultyId] = chk |
| 19 return chk | 19 return chk |
| 20 end | 20 end |
| 21 | 21 |
| 22 -- render a group of controls for auto-logging of a raid zone | 22 -- render a group of controls for auto-logging of a raid zone |
| 23 local function renderAutoLogSection(instanceId, container) | 23 local function renderAutoLogSection(instanceId, container, i, autoLbls, autoChks) |
| 24 _autoChecks[instanceId] = {} | 24 _autoChecks[instanceId] = {} |
| 25 | 25 |
| 26 local lbl = AceGUI:Create("AmrUiLabel") | 26 local lbl = AceGUI:Create("AmrUiLabel") |
| 27 container:AddChild(lbl) | 27 container:AddChild(lbl) |
| 28 lbl:SetWidth(200) | 28 lbl:SetWidth(200) |
| 29 lbl:SetText(L.InstanceNames[instanceId]) | 29 lbl:SetText(L.InstanceNames[instanceId]) |
| 30 lbl:SetFont(Amr.CreateFont("Regular", 20, Amr.Colors.White)) | 30 lbl:SetFont(Amr.CreateFont("Regular", 20, Amr.Colors.White)) |
| 31 | 31 |
| 32 if i == 1 then | |
| 33 lbl:SetPoint("TOPLEFT", _chkAutoAll.frame, "BOTTOMLEFT", -1, -15) | |
| 34 elseif i % 2 == 0 then | |
| 35 lbl:SetPoint("TOPLEFT", autoLbls[i - 1].frame, "TOPRIGHT", 40, 0) | |
| 36 else | |
| 37 lbl:SetPoint("TOPLEFT", autoChks[i - 2].frame, "BOTTOMLEFT", 0, -30) | |
| 38 end | |
| 39 | |
| 32 local line = AceGUI:Create("AmrUiPanel") | 40 local line = AceGUI:Create("AmrUiPanel") |
| 41 container:AddChild(line) | |
| 33 line:SetHeight(1) | 42 line:SetHeight(1) |
| 34 line:SetBackgroundColor(Amr.Colors.White) | 43 line:SetBackgroundColor(Amr.Colors.White) |
| 35 container:AddChild(line) | |
| 36 line:SetPoint("TOPLEFT", lbl.frame, "BOTTOMLEFT", 1, -7) | 44 line:SetPoint("TOPLEFT", lbl.frame, "BOTTOMLEFT", 1, -7) |
| 37 line:SetPoint("TOPRIGHT", lbl.frame, "BOTTOMRIGHT", 0, -7) | 45 line:SetPoint("TOPRIGHT", lbl.frame, "BOTTOMRIGHT", 0, -7) |
| 38 | 46 |
| 39 local chkMythic = createDifficultyCheckBox(instanceId, Amr.Difficulties.Mythic) | 47 local chkMythic = createDifficultyCheckBox(instanceId, Amr.Difficulties.Mythic) |
| 40 container:AddChild(chkMythic) | 48 container:AddChild(chkMythic) |
| 41 chkMythic:SetPoint("TOPLEFT", line.frame, "BOTTOMLEFT", 0, -8) | 49 chkMythic:SetPoint("TOPLEFT", line.frame, "BOTTOMLEFT", 0, -8) |
| 42 | 50 |
| 43 local chkNormal = createDifficultyCheckBox(instanceId, Amr.Difficulties.Normal) | 51 local chkNormal = createDifficultyCheckBox(instanceId, Amr.Difficulties.Normal) |
| 44 container:AddChild(chkNormal) | 52 container:AddChild(chkNormal) |
| 45 chkNormal:SetPoint("TOPLEFT", line.frame, "BOTTOMLEFT", 0, -30) | 53 chkNormal:SetPoint("TOPLEFT", line.frame, "BOTTOMLEFT", 0, -30) |
| 46 | 54 |
| 47 -- find the widest of mythic/normal | 55 -- find the widest of mythic/normal |
| 48 local w = math.max(chkMythic:GetWidth(), chkNormal:GetWidth()) | 56 local w = math.max(chkMythic:GetWidth(), chkNormal:GetWidth()) |
| 49 | 57 |
| 50 local chkHeroic = createDifficultyCheckBox(instanceId, Amr.Difficulties.Heroic) | 58 local chkHeroic = createDifficultyCheckBox(instanceId, Amr.Difficulties.Heroic) |
| 51 container:AddChild(chkHeroic) | 59 container:AddChild(chkHeroic) |
| 52 chkHeroic:SetPoint("TOPLEFT", line.frame, "BOTTOMLEFT", w + 20, -8) | 60 chkHeroic:SetPoint("TOPLEFT", line.frame, "BOTTOMLEFT", w + 20, -8) |
| 53 | 61 |
| 54 local chkLfr = createDifficultyCheckBox(instanceId, Amr.Difficulties.Lfr) | 62 local chkLfr = createDifficultyCheckBox(instanceId, Amr.Difficulties.Lfr) |
| 55 container:AddChild(chkLfr) | 63 container:AddChild(chkLfr) |
| 56 chkLfr:SetPoint("TOPLEFT", line.frame, "BOTTOMLEFT", w + 20, -30) | 64 chkLfr:SetPoint("TOPLEFT", line.frame, "BOTTOMLEFT", w + 20, -30) |
| 57 | 65 |
| 58 return lbl, chkNormal | 66 return lbl, chkNormal |
| 59 end | 67 end |
| 60 | 68 |
| 61 -- renders the main UI for the Combat Log tab | 69 -- renders the main UI for the Combat Log tab |
| 62 function Amr:RenderTabLog(container) | 70 function Amr:RenderTabLog(container) |
| 177 | 185 |
| 178 -- go through all supported instances, rendering in a left->right pattern, 2 per row | 186 -- go through all supported instances, rendering in a left->right pattern, 2 per row |
| 179 local autoLbls = {} | 187 local autoLbls = {} |
| 180 local autoChks = {} | 188 local autoChks = {} |
| 181 for i, instanceId in ipairs(Amr.InstanceIdsOrdered) do | 189 for i, instanceId in ipairs(Amr.InstanceIdsOrdered) do |
| 182 local autoLbl, autoChk = renderAutoLogSection(instanceId, container) | 190 local autoLbl, autoChk = renderAutoLogSection(instanceId, container, i, autoLbls, autoChks) |
| 183 if i == 1 then | |
| 184 autoLbl:SetPoint("TOPLEFT", _chkAutoAll.frame, "BOTTOMLEFT", -1, -15) | |
| 185 elseif i % 2 == 0 then | |
| 186 autoLbl:SetPoint("TOPLEFT", autoLbls[i - 1].frame, "TOPRIGHT", 40, 0) | |
| 187 else | |
| 188 autoLbl:SetPoint("TOPLEFT", autoChks[i - 2].frame, "BOTTOMLEFT", 0, -30) | |
| 189 end | |
| 190 | 191 |
| 191 table.insert(autoLbls, autoLbl) | 192 table.insert(autoLbls, autoLbl) |
| 192 table.insert(autoChks, autoChk) | 193 table.insert(autoChks, autoChk) |
| 193 end | 194 end |
| 194 autoLbls = nil | 195 autoLbls = nil |
| 292 end | 293 end |
| 293 | 294 |
| 294 Amr.db.char.Logging.LastZone = zone | 295 Amr.db.char.Logging.LastZone = zone |
| 295 Amr.db.char.Logging.LastDiff = difficultyId | 296 Amr.db.char.Logging.LastDiff = difficultyId |
| 296 | 297 |
| 297 if not Amr.db.profile.Logging.Auto[tonumber(instanceId)] then | 298 if Amr.IsSupportedInstanceId(instanceId) then |
| 298 Amr.db.profile.Logging.Auto[tonumber(instanceId)] = {} | 299 if not Amr.db.profile.Logging.Auto[tonumber(instanceId)] then |
| 300 Amr.db.profile.Logging.Auto[tonumber(instanceId)] = {} | |
| 301 end | |
| 299 end | 302 end |
| 300 | 303 |
| 301 if Amr.IsSupportedInstanceId(instanceId) and Amr.db.profile.Logging.Auto[tonumber(instanceId)][tonumber(difficultyId)] then | 304 if Amr.IsSupportedInstanceId(instanceId) and Amr.db.profile.Logging.Auto[tonumber(instanceId)][tonumber(difficultyId)] then |
| 302 -- we are in a supported zone that we want to auto-log, turn logging on | 305 -- we are in a supported zone that we want to auto-log, turn logging on |
| 303 | 306 |
| 624 end | 627 end |
| 625 ]] | 628 ]] |
| 626 end | 629 end |
| 627 | 630 |
| 628 function Amr:InitializeCombatLog() | 631 function Amr:InitializeCombatLog() |
| 629 --updateAutoLogging() | 632 updateAutoLogging() |
| 630 end | 633 end |
| 631 | 634 |
| 632 Amr:AddEventHandler("UPDATE_INSTANCE_INFO", updateAutoLogging) | 635 Amr:AddEventHandler("UPDATE_INSTANCE_INFO", updateAutoLogging) |
| 633 Amr:AddEventHandler("PLAYER_DIFFICULTY_CHANGED", updateAutoLogging) | 636 Amr:AddEventHandler("PLAYER_DIFFICULTY_CHANGED", updateAutoLogging) |
| 634 Amr:AddEventHandler("ENCOUNTER_START", updateAutoLogging) | 637 Amr:AddEventHandler("ENCOUNTER_START", updateAutoLogging) |
