diff --git a/Bars/Abstract/Bar.lua b/Bars/Abstract/Bar.lua index 32aa524..4ea68b0 100755 --- a/Bars/Abstract/Bar.lua +++ b/Bars/Abstract/Bar.lua @@ -911,16 +911,15 @@ function BarMixin:ApplyForegroundSettings(layoutName, data) local resource = self:GetResource() local color = self:GetBarColor(resource) - if data.useResourceAtlas == true and (color.atlasElementName or color.atlas) then - if color.atlasElementName then - if color.hasClassResourceVariant then - fgTexture = "UI-HUD-UnitFrame-Player-PortraitOn-ClassResource-Bar-"..color.atlasElementName - else - fgTexture = "UI-HUD-UnitFrame-Player-PortraitOn-Bar-"..color.atlasElementName - end - elseif color.atlas then - fgTexture = color.atlas + + if data.useResourceAtlas == "Resource" and color.atlasElementName then + if color.hasClassResourceVariant then + fgTexture = "UI-HUD-UnitFrame-Player-PortraitOn-ClassResource-Bar-"..color.atlasElementName + else + fgTexture = "UI-HUD-UnitFrame-Player-PortraitOn-Bar-"..color.atlasElementName end + elseif (data.useResourceAtlas == "Resource" or data.useResourceAtlas == "SpecialOnly") and color.atlas then + fgTexture = color.atlas end if fgTexture then @@ -931,7 +930,7 @@ function BarMixin:ApplyForegroundSettings(layoutName, data) end end - if data.useResourceAtlas == true and (color.atlasElementName or color.atlas) then + if (data.useResourceAtlas == "Resource" and (color.atlasElementName or color.atlas)) or (data.useResourceAtlas == "SpecialOnly" and color.atlas) then self.StatusBar:SetStatusBarColor(1, 1, 1, color.a or 1); else self.StatusBar:SetStatusBarColor(color.r or 1, color.g or 1, color.b or 1, color.a or 1); diff --git a/Bars/PrimaryResourceBar.lua b/Bars/PrimaryResourceBar.lua index b44c2e9..6900b75 100644 --- a/Bars/PrimaryResourceBar.lua +++ b/Bars/PrimaryResourceBar.lua @@ -105,7 +105,7 @@ addonTable.RegisteredBar.PrimaryResourceBar = { showTicks = true, tickColor = {r = 0, g = 0, b = 0, a = 1}, tickThickness = 1, - useResourceAtlas = false, + useResourceAtlas = "Custom", }, lemSettings = function(bar, defaults) local dbName = bar:GetConfig().dbName @@ -132,9 +132,11 @@ addonTable.RegisteredBar.PrimaryResourceBar = { { parentId = L["CATEGORY_BAR_STYLE"], order = 401, - name = L["USE_RESOURCE_TEXTURE_AND_COLOR"], - kind = LEM.SettingType.Checkbox, + name = L["BAR_TEXTURE_AND_COLOR_MODE"], + kind = LEM.SettingType.Dropdown, default = defaults.useResourceAtlas, + values = addonTable.availableResourceTextureOptions, + useOldStyle = true, get = function(layoutName) local data = SenseiClassResourceBarDB[dbName][layoutName] if data and data.useResourceAtlas ~= nil then diff --git a/Bars/SecondaryResourceBar.lua b/Bars/SecondaryResourceBar.lua index 5ee1c41..83cfd39 100644 --- a/Bars/SecondaryResourceBar.lua +++ b/Bars/SecondaryResourceBar.lua @@ -285,7 +285,7 @@ addonTable.RegisteredBar.SecondaryResourceBar = { showTicks = true, tickColor = {r = 0, g = 0, b = 0, a = 1}, tickThickness = 1, - useResourceAtlas = false, + useResourceAtlas = "Custom", }, lemSettings = function(bar, defaults) local config = bar:GetConfig() @@ -391,9 +391,11 @@ addonTable.RegisteredBar.SecondaryResourceBar = { { parentId = L["CATEGORY_BAR_STYLE"], order = 401, - name = L["USE_RESOURCE_TEXTURE_AND_COLOR"], - kind = LEM.SettingType.Checkbox, + name = L["BAR_TEXTURE_AND_COLOR_MODE"], + kind = LEM.SettingType.Dropdown, default = defaults.useResourceAtlas, + values = addonTable.availableResourceTextureOptions, + useOldStyle = true, get = function(layoutName) local data = SenseiClassResourceBarDB[dbName][layoutName] if data and data.useResourceAtlas ~= nil then diff --git a/Bars/TertiaryResourceBar.lua b/Bars/TertiaryResourceBar.lua index 881075b..262c02b 100644 --- a/Bars/TertiaryResourceBar.lua +++ b/Bars/TertiaryResourceBar.lua @@ -86,7 +86,7 @@ addonTable.RegisteredBar.TertiaryResourceBar = { point = "CENTER", x = 0, y = -80, - useResourceAtlas = false, + useResourceAtlas = "Custom", }, allowEditPredicate = function() local spec = C_SpecializationInfo.GetSpecialization() @@ -104,9 +104,11 @@ addonTable.RegisteredBar.TertiaryResourceBar = { { parentId = L["CATEGORY_BAR_STYLE"], order = 401, - name = L["USE_RESOURCE_TEXTURE_AND_COLOR"], - kind = LEM.SettingType.Checkbox, + name = L["BAR_TEXTURE_AND_COLOR_MODE"], + kind = LEM.SettingType.Dropdown, default = defaults.useResourceAtlas, + values = addonTable.availableResourceTextureOptions, + useOldStyle = true, get = function(layoutName) local data = SenseiClassResourceBarDB[dbName][layoutName] if data and data.useResourceAtlas ~= nil then diff --git a/Constants.lua b/Constants.lua index db0001a..721d846 100644 --- a/Constants.lua +++ b/Constants.lua @@ -336,6 +336,12 @@ addonTable.availableHealAbsorbBarPositions = { { text = L["BAR_POSITION_ATTACH_HEALTH"], value = "Attach To Health" }, } +addonTable.availableResourceTextureOptions = { + { text = L["USE_CUSTOM_TEXTURE_AND_COLOR"], value = "Custom" }, + { text = L["USE_RESOURCE_TEXTURE_AND_COLOR"], value = "Resource" }, + { text = L["USE_RESOURCE_TEXTURE_SPECIAL_ONLY"], value = "SpecialOnly" }, +} + -- Power types that should show discrete ticks addonTable.tickedPowerTypes = { [Enum.PowerType.ArcaneCharges] = true, diff --git a/Helpers/LEMSettingsLoader.lua b/Helpers/LEMSettingsLoader.lua index 621dae4..9d4ae63 100644 --- a/Helpers/LEMSettingsLoader.lua +++ b/Helpers/LEMSettingsLoader.lua @@ -451,7 +451,7 @@ local function BuildLemSettings(bar, defaults) end, isEnabled = function(layoutName) local data = SenseiClassResourceBarDB[config.dbName][layoutName] - return not data.useResourceAtlas + return data.useResourceAtlas ~= "Resource" end, }, { diff --git a/Locales/deDE.lua b/Locales/deDE.lua index 7353f81..0e50448 100644 --- a/Locales/deDE.lua +++ b/Locales/deDE.lua @@ -116,7 +116,10 @@ local baseLocale = { -- Bar style category - Edit Mode ["CATEGORY_BAR_STYLE"] = "Stil der Leiste", ["USE_CLASS_COLOR"] = "Klassenfarbe nutzen", + ["BAR_TEXTURE_AND_COLOR_MODE"] = "Leistenmodus", + ["USE_CUSTOM_TEXTURE_AND_COLOR"] = "Eigene Textur und Farbe verwenden", ["USE_RESOURCE_TEXTURE_AND_COLOR"] = "Ressourcentextur und -farbe verwenden", + ["USE_RESOURCE_TEXTURE_SPECIAL_ONLY"] = "Nur spezielle Ressourcentexturen verwenden", ["BAR_TEXTURE"] = "Leistentextur", ["BAR_BACKGROUND"] = "Hintergrund", ["USE_BAR_COLOR_FOR_BACKGROUND_COLOR"] = "Leistenfarbe als Hintergrundfarbe nutzen", diff --git a/Locales/enUS.lua b/Locales/enUS.lua index 5b48acf..df25d0c 100644 --- a/Locales/enUS.lua +++ b/Locales/enUS.lua @@ -116,7 +116,10 @@ local baseLocale = { -- Bar style category - Edit Mode ["CATEGORY_BAR_STYLE"] = "Bar Style", ["USE_CLASS_COLOR"] = "Use Class Color", - ["USE_RESOURCE_TEXTURE_AND_COLOR"] = "Use Resource Texture And Color", + ["BAR_TEXTURE_AND_COLOR_MODE"] = "Bar Mode", + ["USE_CUSTOM_TEXTURE_AND_COLOR"] = "Use Custom Textures and Color", + ["USE_RESOURCE_TEXTURE_AND_COLOR"] = "Use Resource Textures and Color", + ["USE_RESOURCE_TEXTURE_SPECIAL_ONLY"] = "Use Special Resource Textures only", ["BAR_TEXTURE"] = "Bar Texture", ["BAR_BACKGROUND"] = "Background", ["USE_BAR_COLOR_FOR_BACKGROUND_COLOR"] = "Use Bar Color For Background Color", diff --git a/Locales/koKR.lua b/Locales/koKR.lua index b6c34bd..f3d008f 100644 --- a/Locales/koKR.lua +++ b/Locales/koKR.lua @@ -113,7 +113,10 @@ local baseLocale = { -- Bar style category - Edit Mode ["CATEGORY_BAR_STYLE"] = "바 스타일", ["USE_CLASS_COLOR"] = "직업 색상 사용", + ["BAR_TEXTURE_AND_COLOR_MODE"] = "바 모드", + ["USE_CUSTOM_TEXTURE_AND_COLOR"] = "사용자 정의 텍스처 및 색상 사용", ["USE_RESOURCE_TEXTURE_AND_COLOR"] = "자원 텍스처 및 색상 사용", + ["USE_RESOURCE_TEXTURE_SPECIAL_ONLY"] = "특수 자원 텍스처만 사용", ["BAR_TEXTURE"] = "바 텍스처", ["BAR_BACKGROUND"] = "배경", ["USE_BAR_COLOR_FOR_BACKGROUND_COLOR"] = "바 색상을 배경 색상으로 사용", diff --git a/Locales/ptBR.lua b/Locales/ptBR.lua index ce14967..b591fff 100644 --- a/Locales/ptBR.lua +++ b/Locales/ptBR.lua @@ -116,7 +116,10 @@ local baseLocale = { -- Bar style category - Edit Mode ["CATEGORY_BAR_STYLE"] = "Estilo da Barra", ["USE_CLASS_COLOR"] = "Usar Cor da Classe", + ["BAR_TEXTURE_AND_COLOR_MODE"] = "Modo da Barra", + ["USE_CUSTOM_TEXTURE_AND_COLOR"] = "Usar Texturas e Cores Personalizadas", ["USE_RESOURCE_TEXTURE_AND_COLOR"] = "Usar Textura e Cor do Recurso", + ["USE_RESOURCE_TEXTURE_SPECIAL_ONLY"] = "Usar Apenas Texturas Especiais de Recursos", ["BAR_TEXTURE"] = "Textura da Barra", ["BAR_BACKGROUND"] = "Fundo", ["USE_BAR_COLOR_FOR_BACKGROUND_COLOR"] = "Usar Cor da Barra para a Cor de Fundo", diff --git a/Locales/ruRU.lua b/Locales/ruRU.lua index 1a6c4ba..89bb05c 100644 --- a/Locales/ruRU.lua +++ b/Locales/ruRU.lua @@ -116,7 +116,10 @@ local baseLocale = { -- Bar style category - Edit Mode ["CATEGORY_BAR_STYLE"] = "Стиль панели", ["USE_CLASS_COLOR"] = "Цвет класса", + ["BAR_TEXTURE_AND_COLOR_MODE"] = "Режим панели", + ["USE_CUSTOM_TEXTURE_AND_COLOR"] = "Пользовательские текстуры и цвета", ["USE_RESOURCE_TEXTURE_AND_COLOR"] = "Текстура и цвет ресурса", + ["USE_RESOURCE_TEXTURE_SPECIAL_ONLY"] = "Только особые текстуры ресурса", ["BAR_TEXTURE"] = "Текстура панели", ["BAR_BACKGROUND"] = "Фон", ["USE_BAR_COLOR_FOR_BACKGROUND_COLOR"] = "Цвет панели для фона", diff --git a/Locales/zhCN.lua b/Locales/zhCN.lua index 167e54d..cf0bf09 100644 --- a/Locales/zhCN.lua +++ b/Locales/zhCN.lua @@ -116,7 +116,10 @@ local baseLocale = { -- Bar style category - Edit Mode ["CATEGORY_BAR_STYLE"] = "条形风格", ["USE_CLASS_COLOR"] = "使用职业颜色", + ["BAR_TEXTURE_AND_COLOR_MODE"] = "条形模式", + ["USE_CUSTOM_TEXTURE_AND_COLOR"] = "使用自定义纹理和颜色", ["USE_RESOURCE_TEXTURE_AND_COLOR"] = "使用资源纹理和颜色", + ["USE_RESOURCE_TEXTURE_SPECIAL_ONLY"] = "仅使用特殊资源纹理", ["BAR_TEXTURE"] = "条形纹理", ["BAR_BACKGROUND"] = "背景", ["USE_BAR_COLOR_FOR_BACKGROUND_COLOR"] = "使用条形颜色作为背景颜色",