Compare with Previous | Blame | View Log
--[[ Addon: Taos Group Tools Author: TProg Taonnor Created by @Taonnor ]]-- --[[ Local variables ]]-- local _settingsHandler = TGT_SettingsHandler --[[ Table GroupUltimateOptions ]]-- TGT_GroupUltimateOptions = {} TGT_GroupUltimateOptions.__index = TGT_GroupUltimateOptions --[[ =============== PRIVATE METHODS =============== ]]-- --[[ Creates options ]]-- local function CreateOptions() local styleChoices = { [1] = GetString(TGT_OPTIONS_STYLE_SIMPLE), [2] = GetString(TGT_OPTIONS_STYLE_SWIM), [3] = GetString(TGT_OPTIONS_STYLE_SHORT_SWIM), } local buffTrackerChoises = TGT_SettingsWindow.GetBuffTrackerChoises() local optionsData = { -- Submenu Group Ultimate Options { type = "submenu", name = GetString(TGT_OPTIONS_GROUP_ULTIMATE_HEADER), controls = { -- Enable/Disable Group Ultimate { type = "checkbox", name = GetString(TGT_OPTIONS_GROUP_ULTIMATE_LABEL), tooltip = GetString(TGT_OPTIONS_GROUP_ULTIMATE_TOOLTIP), getFunc = function() return _settingsHandler.SavedVariables.IsGroupUltimateEnabled end, setFunc = function(value) _settingsHandler.SetIsGroupUltimateEnabledSettings(value) end, disabled = function() return _settingsHandler.SavedVariables.IsSendingDataActive == false end, default = TGT_DEFAULTS.IsGroupUltimateEnabled }, -- Only AvA visible { type = "checkbox", name = GetString(TGT_OPTIONS_ONLY_AVA_LABEL), tooltip = GetString(TGT_OPTIONS_ONLY_AVA_TOOLTIP), getFunc = function() return _settingsHandler.SavedVariables.OnlyAva[GROUP_ULTIMATE] end, setFunc = function(value) _settingsHandler.SetOnlyAvaSettings(GROUP_ULTIMATE, value) end, disabled = function() return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false end, default = TGT_DEFAULTS.OnlyAva[GROUP_ULTIMATE] }, -- Sorting active { type = "checkbox", name = GetString(TGT_OPTIONS_USE_SORTING_LABEL), tooltip = GetString(TGT_OPTIONS_USE_SORTING_TOOLTIP), getFunc = function() return _settingsHandler.SavedVariables.IsSortingActive end, setFunc = function(value) _settingsHandler.SetIsSortingActiveSettings(value) end, disabled = function() return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false end, default = TGT_DEFAULTS.IsSortingActive }, -- InCombat active { type = "checkbox", name = GetString(TGT_OPTIONS_USE_INCOMBAT_LABEL), tooltip = GetString(TGT_OPTIONS_USE_INCOMBAT_TOOLTIP), getFunc = function() return _settingsHandler.SavedVariables.CombatActive[GROUP_ULTIMATE] end, setFunc = function(value) _settingsHandler.SetCombatActiveSettings(GROUP_ULTIMATE, value) end, disabled = function() return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false end, default = TGT_DEFAULTS.CombatActive[GROUP_ULTIMATE] }, -- Style { type = "dropdown", name = GetString(TGT_OPTIONS_STYLE_LABEL), tooltip = GetString(TGT_OPTIONS_STYLE_TOOLTIP), choices = styleChoices, getFunc = function() return styleChoices[_settingsHandler.SavedVariables.Style[GROUP_ULTIMATE]] end, setFunc = function(value) for index, name in ipairs(styleChoices) do if (name == value) then _settingsHandler.SetStyleSettings(GROUP_ULTIMATE, index) break end end end, disabled = function() return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false end, default = styleChoices[TGT_DEFAULTS.Style[GROUP_ULTIMATE]] }, -- Visible Offset { type = "slider", name = GetString(TGT_OPTIONS_VISIBLE_OFF_LABEL), tooltip = GetString(TGT_OPTIONS_VISIBLE_OFF_TOOLTIP), min = 2, max = 24, step = 1, getFunc = function() return _settingsHandler.SavedVariables.VisibleOffset[GROUP_ULTIMATE] end, setFunc = function(value) _settingsHandler.SetVisibleOffsetSettings(GROUP_ULTIMATE, value) end, disabled = function() return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false end, default = TGT_DEFAULTS.VisibleOffset[GROUP_ULTIMATE], }, -- Visible Swimlanes { type = "slider", name = GetString(TGT_OPTIONS_SWIMLANES_LABEL), tooltip = GetString(TGT_OPTIONS_SWIMLANES_TOOLTIP), min = 1, max = 12, step = 1, getFunc = function() return _settingsHandler.SavedVariables.Swimlanes end, setFunc = function(value) _settingsHandler.SetSwimlanesSettings(value) end, disabled = function() return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false end, default = TGT_DEFAULTS.Swimlanes, }, -- Scaling Swimlanes { type = "slider", name = GetString(TGT_OPTIONS_SCALE_LABEL), tooltip = GetString(TGT_OPTIONS_SWIMLANE_SCALE_TOOLTIP), min = 0.1, max = 2.0, step = 0.1, decimals = 1, getFunc = function() return _settingsHandler.SavedVariables.Scale[GROUP_ULTIMATE] end, setFunc = function(value) _settingsHandler.SetScaleSettings(GROUP_ULTIMATE, value) end, disabled = function() return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false end, default = TGT_DEFAULTS.Scale[GROUP_ULTIMATE], }, -- Progress ultimate color TGT_SettingsWindow.GetNewColorpicker( GROUP_ULTIMATE, "UltimateProgrColor", GetString(TGT_OPTIONS_PROGR_ULTI_COLOR_LABEL), GetString(TGT_OPTIONS_PROGR_ULTI_COLOR_TOOLTIP), function() return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false end), -- Ready ultimate color TGT_SettingsWindow.GetNewColorpicker( GROUP_ULTIMATE, "UltimateReadyColor", GetString(TGT_OPTIONS_READY_ULTI_COLOR_LABEL), GetString(TGT_OPTIONS_READY_ULTI_COLOR_TOOLTIP), function() return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false end), -- Submenu header { type = "header", name = GetString(TGT_OPTIONS_GROUP_RESOURCES_HEADER), }, -- Enable/Disable Group Resources { type = "checkbox", name = GetString(TGT_OPTIONS_GROUP_RESOURCES_LABEL), tooltip = GetString(TGT_OPTIONS_GROUP_RESOURCES_TOOLTIP), getFunc = function() return _settingsHandler.SavedVariables.IsGroupResourcesEnabled end, setFunc = function(value) _settingsHandler.SetIsGroupResourcesEnabledSettings(value) end, default = TGT_DEFAULTS.IsGroupResourcesEnabled, disabled = function() return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false end, }, -- Progress stamina color TGT_SettingsWindow.GetNewColorpicker( GROUP_ULTIMATE, "StaminaProgrColor", GetString(TGT_OPTIONS_PROGR_STAM_COLOR_LABEL), GetString(TGT_OPTIONS_PROGR_STAM_COLOR_TOOLTIP), function() return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false end), -- Ready stamina color TGT_SettingsWindow.GetNewColorpicker( GROUP_ULTIMATE, "StaminaReadyColor", GetString(TGT_OPTIONS_READY_STAM_COLOR_LABEL), GetString(TGT_OPTIONS_READY_STAM_COLOR_TOOLTIP), function() return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false end), -- Progress magicka color TGT_SettingsWindow.GetNewColorpicker( GROUP_ULTIMATE, "MagickaProgrColor", GetString(TGT_OPTIONS_PROGR_MAGK_COLOR_LABEL), GetString(TGT_OPTIONS_PROGR_MAGK_COLOR_TOOLTIP), function() return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false end), -- Ready magicka color TGT_SettingsWindow.GetNewColorpicker( GROUP_ULTIMATE, "MagickaReadyColor", GetString(TGT_OPTIONS_READY_MAGK_COLOR_LABEL), GetString(TGT_OPTIONS_READY_MAGK_COLOR_TOOLTIP), function() return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false end), -- Submenu header { type = "header", name = GetString(TGT_OPTIONS_GROUP_BUFFS_HEADER), }, -- Enable/Disable Group Buffs { type = "checkbox", name = GetString(TGT_OPTIONS_GROUP_BUFFS_LABEL), tooltip = GetString(TGT_OPTIONS_GROUP_BUFFS_TOOLTIP), getFunc = function() return _settingsHandler.SavedVariables.IsGroupBuffsEnabled end, setFunc = function(value) _settingsHandler.SetIsGroupBuffsEnabledSettings(value) end, default = TGT_DEFAULTS.IsGroupBuffsEnabled, disabled = function() return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false end, warning = GetString(TGT_OPTIONS_GROUP_BUFFS_WARNING) }, -- Ability1 { type = "dropdown", name = GetString(TGT_OPTIONS_TRACKED_BUFF_1_LABEL), tooltip = GetString(TGT_OPTIONS_TRACKED_BUFF_1_TOOLTIP), choices = buffTrackerChoises, getFunc = function() return buffTrackerChoises[TGT_SettingsWindow.GetBuffIndex(_settingsHandler.SavedVariables.TrackedBuffs[GROUP_ULTIMATE].TrackedBuff1AbilityId)] end, setFunc = function(value) for index, choise in ipairs(buffTrackerChoises) do if (choise == value) then _settingsHandler.SetTrackedBuff1AbilityIdSettings(GROUP_ULTIMATE, TGT_SettingsWindow.GetBuffId(index)) break end end end, default = buffTrackerChoises[TGT_SettingsWindow.GetBuffIndex(TGT_DEFAULTS.TrackedBuffs[GROUP_ULTIMATE].TrackedBuff1AbilityId)], disabled = function() return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false end, }, -- Ability2 { type = "dropdown", name = GetString(TGT_OPTIONS_TRACKED_BUFF_2_LABEL), tooltip = GetString(TGT_OPTIONS_TRACKED_BUFF_2_TOOLTIP), choices = buffTrackerChoises, getFunc = function() return buffTrackerChoises[TGT_SettingsWindow.GetBuffIndex(_settingsHandler.SavedVariables.TrackedBuffs[GROUP_ULTIMATE].TrackedBuff2AbilityId)] end, setFunc = function(value) for index, choise in ipairs(buffTrackerChoises) do if (choise == value) then _settingsHandler.SetTrackedBuff2AbilityIdSettings(GROUP_ULTIMATE, TGT_SettingsWindow.GetBuffId(index)) break end end end, default = buffTrackerChoises[TGT_SettingsWindow.GetBuffIndex(TGT_DEFAULTS.TrackedBuffs[GROUP_ULTIMATE].TrackedBuff2AbilityId)], disabled = function() return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false end, }, -- Ability3 { type = "dropdown", name = GetString(TGT_OPTIONS_TRACKED_BUFF_3_LABEL), tooltip = GetString(TGT_OPTIONS_TRACKED_BUFF_3_TOOLTIP), choices = buffTrackerChoises, getFunc = function() return buffTrackerChoises[TGT_SettingsWindow.GetBuffIndex(_settingsHandler.SavedVariables.TrackedBuffs[GROUP_ULTIMATE].TrackedBuff3AbilityId)] end, setFunc = function(value) for index, choise in ipairs(buffTrackerChoises) do if (choise == value) then _settingsHandler.SetTrackedBuff3AbilityIdSettings(GROUP_ULTIMATE, TGT_SettingsWindow.GetBuffId(index)) break end end end, default = buffTrackerChoises[TGT_SettingsWindow.GetBuffIndex(TGT_DEFAULTS.TrackedBuffs[GROUP_ULTIMATE].TrackedBuff3AbilityId)], disabled = function() return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false end, }, -- Ability4 { type = "dropdown", name = GetString(TGT_OPTIONS_TRACKED_BUFF_4_LABEL), tooltip = GetString(TGT_OPTIONS_TRACKED_BUFF_4_TOOLTIP), choices = buffTrackerChoises, getFunc = function() return buffTrackerChoises[TGT_SettingsWindow.GetBuffIndex(_settingsHandler.SavedVariables.TrackedBuffs[GROUP_ULTIMATE].TrackedBuff4AbilityId)] end, setFunc = function(value) for index, choise in ipairs(buffTrackerChoises) do if (choise == value) then _settingsHandler.SetTrackedBuff4AbilityIdSettings(GROUP_ULTIMATE, TGT_SettingsWindow.GetBuffId(index)) break end end end, default = buffTrackerChoises[TGT_SettingsWindow.GetBuffIndex(TGT_DEFAULTS.TrackedBuffs[GROUP_ULTIMATE].TrackedBuff4AbilityId)], disabled = function() return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false end, }, }, }, } return optionsData end --[[ ============== PUBLIC METHODS ============== ]]-- --[[ GetOptions creates settings and returns ]]-- function TGT_GroupUltimateOptions.GetOptions(options) local optionsData = CreateOptions() -- Add options for i = 1 , #optionsData do table.insert(options, optionsData[i]) end end