alethasis / WA-Hide-Show-Objectives

0 stars 0 forks source link

Errors with recent update #1

Closed gaveer closed 2 months ago

gaveer commented 2 months ago

@alethasis Hi, there buddy i got error with new updates from blizzrd ObjectiveTracker_Collapse() and ObjectiveTracker_Expand() seems not working anymore here my attempt to try to make it working

gaveer commented 2 months ago

aura_env.INSTANCE_CATEGORY = {
    ["raid"] = {
        3, -- 10 Player
        4, -- 25 Player
        5, -- 10 Player (Heroic)
        6, -- 25 Player (Heroic)
        7, -- LFR (Legacy)
        9, -- 40 Player
        11,-- Heroic Scenario
        12,-- Normal Scenario
        14, -- Raid (Normal)
        15, -- Raid (Heroic)
        16, -- Raid (Mythic)
        17, -- LFR
        18, -- Event
        20, -- Event Scenario
        24, -- Timewalking (queue Max 30)
        33, -- Timewalking
        147, -- Normal scenario Warfronts
        149, -- Normal scenario Warfronts
        151 -- LFR Timewalking
    },
    ["mythicplus"] = {
        8, -- Mythic Keystone
    },
    ["party"] = {
        1,   -- Normal
        2,   -- Heroic
        --8,   -- Mythic Keystone
        19,  -- Event
        23,  -- Mythic M0
        24,  -- Timewalking
        38,  -- Normal scenario
        39,  -- Heroic scenario
        40,  -- Mythic scenario
        150, -- Normal
        152, --Visions of N'Zoth
        153, --Teeming Island scenario
        205  -- Follower
    },
    ["pvp"] = {
        29, -- PvEvP Scenario
        25, -- World PvP Scenario
        30, -- Event scenario
        32, -- World PvP Scenario
        34, -- PvP
        45, -- PvP Scenario
    },
    ["torghast"] = 167
}

aura_env.HIDE_OBJECTIVES = 1
aura_env.COLLAPSE_ALL_OBJECTIVES = 2
aura_env.SHOW_AND_EXPAND_OBJECTIVES = 3
aura_env.COLLAPSE_ALL_BUT_INSTANCE = 4

--[[
  https://github.com/tomrus88/BlizzardInterfaceCode/blob/master/Interface/AddOns/Blizzard_ObjectiveTracker/Blizzard_ObjectiveTracker.lua#L794

  https://github.com/husandro/WoWTools/blob/2d7358afd59e068592b5ba9883454ece82a5d5ff/Plus/ObjectiveTracker.lua

    AchievementObjectiveTracker
    BonusObjectiveTracker
    CampaignQuestObjectiveTracker
    QuestObjectiveTracker
    WorldQuestObjectiveTracker
    ScenarioObjectiveTracker  --> MYTHIC PLUS TIMER
    ProfessionsRecipeTracker
    MonthlyActivitiesObjectiveTracker
    UIWidgetObjectiveTracker
    AdventureObjectiveTracker
]]

-- UTIL
aura_env.hideObjectives = function()
    aura_env.OBJECTIVE_TRACKER:Hide()
    aura_env.OBJECTIVE_TRACKER:SetCollapsed(true)
    aura_env.OBJECTIVE_TRACKER.Header.MinimizeButton:Hide()
    aura_env.OBJECTIVE_TRACKER.Header.Background:Hide()
    aura_env.OBJECTIVE_TRACKER.Header.Text:Hide()
    end

aura_env.setCollapsed = function(module, shouldCollapse)
    local isCollapsed = module:IsCollapsed() and true or false -- is `nil` onLoad

    if (shouldCollapse ~= isCollapsed) then
        module.Header.MinimizeButton:Click()
    end
end

aura_env.collapseAllObjectives = function()
    aura_env.OBJECTIVE_TRACKER:Show()
    aura_env.OBJECTIVE_TRACKER.Header.MinimizeButton:Show()
    aura_env.OBJECTIVE_TRACKER.Header.Background:Show()
    aura_env.OBJECTIVE_TRACKER.Header.Text:Show()
    aura_env.OBJECTIVE_TRACKER:SetCollapsed(true)
end

aura_env.showAndExpandObjectives = function()
    aura_env.OBJECTIVE_TRACKER:Show()
    aura_env.OBJECTIVE_TRACKER.Header.MinimizeButton:Show()
    aura_env.OBJECTIVE_TRACKER.Header.Background:Show()
    aura_env.OBJECTIVE_TRACKER.Header.Text:Show()
    aura_env.OBJECTIVE_TRACKER:SetCollapsed(false)

    aura_env.setCollapsed(AchievementObjectiveTracker, false)
    aura_env.setCollapsed(BonusObjectiveTracker, false)
    aura_env.setCollapsed(CampaignQuestObjectiveTracker, false)
    aura_env.setCollapsed(QuestObjectiveTracker, false)
    aura_env.setCollapsed(WorldQuestObjectiveTracker, false)
    aura_env.setCollapsed(ScenarioObjectiveTracker, false)
    aura_env.setCollapsed(ProfessionsRecipeTracker, false)
    aura_env.setCollapsed(MonthlyActivitiesObjectiveTracker, false)
    aura_env.setCollapsed(UIWidgetObjectiveTracker, false)
    aura_env.setCollapsed(AdventureObjectiveTracker, false)
end

aura_env.collapseAllButInstance = function()
    aura_env.showAndExpandObjectives()
    aura_env.OBJECTIVE_TRACKER:Show()
    aura_env.OBJECTIVE_TRACKER:SetCollapsed(false)

    aura_env.setCollapsed(AchievementObjectiveTracker, true)
    aura_env.setCollapsed(BonusObjectiveTracker, true)
    aura_env.setCollapsed(CampaignQuestObjectiveTracker, true)
    aura_env.setCollapsed(QuestObjectiveTracker, true)
    aura_env.setCollapsed(WorldQuestObjectiveTracker, true)
    --aura_env.setCollapsed(ScenarioObjectiveTracker, true)
    aura_env.setCollapsed(ProfessionsRecipeTracker, true)
    aura_env.setCollapsed(MonthlyActivitiesObjectiveTracker, true)
    aura_env.setCollapsed(UIWidgetObjectiveTracker, true)
    aura_env.setCollapsed(AdventureObjectiveTracker, true)
end

aura_env.handleVisibilitySetting = function(setting)
    if (setting == aura_env.HIDE_OBJECTIVES) then
        aura_env.hideObjectives()
        return aura_env.config.shouldShowIconOnHide
    elseif (setting == aura_env.COLLAPSE_ALL_OBJECTIVES) then
        aura_env.collapseAllObjectives()
        return aura_env.config.shouldShowIconOnCollapse
    elseif (setting == aura_env.SHOW_AND_EXPAND_OBJECTIVES) then
        aura_env.showAndExpandObjectives()
        return false
    elseif (setting == aura_env.COLLAPSE_ALL_BUT_INSTANCE) then
        aura_env.collapseAllButInstance()
        return aura_env.config.shouldShowIconOnCollapse
    end
end

aura_env.getInstanceSettings = function(difficultyName, instanceType, maxPlayers)
    local instanceSettings = {}

    if (difficultyName == "Follower" and maxPlayers > 1) then
        for _, v in pairs(aura_env.INSTANCE_CATEGORY.party) do
            instanceSettings[v] = aura_env.config.settingsDungeons
        end
    end
    if (instanceType == "party" and maxPlayers > 1) then
        for _, v in pairs(aura_env.INSTANCE_CATEGORY.party) do
            instanceSettings[v] = aura_env.config.settingsDungeons
        end
    end

    if (difficultyName == "Mythic Keystone" and maxPlayers > 1) then
        for _, v in pairs(aura_env.INSTANCE_CATEGORY.mythicplus) do
            instanceSettings[v] = aura_env.config.settingsDungeonM
        end
    end

    if (instanceType == "raid" and maxPlayers > 1) then
        for _, v in pairs(aura_env.INSTANCE_CATEGORY.raid) do
            instanceSettings[v] = aura_env.config.settingsRaid
        end
    end

    if (instanceType == "pvp" or instanceType == "arena") then
        for _, v in pairs(aura_env.INSTANCE_CATEGORY.pvp) do
            instanceSettings[v] = aura_env.config.settingsPvP
        end
    end

    instanceSettings[aura_env.INSTANCE_CATEGORY.torghast] = aura_env.config.settingsTorghast

    return instanceSettings
end

-- INIT
aura_env.OBJECTIVE_TRACKER = (C_AddOns.IsAddOnLoaded("!KalielsTracker") and _G["KT_ObjectiveTrackerFrame"]) or ObjectiveTrackerFrame```