You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
730 lines
29 KiB
730 lines
29 KiB
|
|
local addonId, platerInternal = ...
|
|
|
|
local Plater = Plater
|
|
---@type detailsframework
|
|
local DF = DetailsFramework
|
|
local _
|
|
|
|
function platerInternal.CreateCastBarOptions()
|
|
local startX, startY, heightSize = 10, platerInternal.optionsYStart, 755
|
|
local highlightColorLastCombat = {1, 1, .2, .25}
|
|
|
|
--db upvalues
|
|
local DB_CAPTURED_SPELLS
|
|
local DB_CAPTURED_CASTS
|
|
local DB_NPCID_CACHE
|
|
local DB_NPCID_COLORS
|
|
local DB_AURA_ALPHA
|
|
local DB_AURA_ENABLED
|
|
local DB_AURA_SEPARATE_BUFFS
|
|
|
|
local GetSpellInfo = GetSpellInfo or function(spellID) if not spellID then return nil end local si = C_Spell.GetSpellInfo(spellID) if si then return si.name, nil, si.iconID, si.castTime, si.minRange, si.maxRange, si.spellID, si.originalIconID end end
|
|
|
|
local on_refresh_db = function()
|
|
local profile = Plater.db.profile
|
|
DB_CAPTURED_SPELLS = PlaterDB.captured_spells
|
|
DB_CAPTURED_CASTS = PlaterDB.captured_casts
|
|
DB_NPCID_CACHE = profile.npc_cache
|
|
DB_NPCID_COLORS = profile.npc_colors
|
|
DB_AURA_ALPHA = profile.aura_alpha
|
|
DB_AURA_ENABLED = profile.aura_enabled
|
|
DB_AURA_SEPARATE_BUFFS = Plater.db.profile.buffs_on_aura2
|
|
end
|
|
|
|
Plater.RegisterRefreshDBCallback (on_refresh_db)
|
|
|
|
--
|
|
--templates
|
|
local options_text_template = DF:GetTemplate ("font", "OPTIONS_FONT_TEMPLATE")
|
|
local options_dropdown_template = DF:GetTemplate ("dropdown", "OPTIONS_DROPDOWN_TEMPLATE")
|
|
local options_switch_template = DF:GetTemplate ("switch", "OPTIONS_CHECKBOX_TEMPLATE")
|
|
local options_slider_template = DF:GetTemplate ("slider", "OPTIONS_SLIDER_TEMPLATE")
|
|
local options_button_template = DF:GetTemplate ("button", "OPTIONS_BUTTON_TEMPLATE")
|
|
--
|
|
|
|
local dropdownStatusBarTexture = platerInternal.Defaults.dropdownStatusBarTexture
|
|
local dropdownStatusBarColor = platerInternal.Defaults.dropdownStatusBarColor
|
|
|
|
--
|
|
local LibSharedMedia = LibStub:GetLibrary("LibSharedMedia-3.0")
|
|
local textures = LibSharedMedia:HashTable("statusbar")
|
|
|
|
local cast_bar_texture_selected = function (self, capsule, value)
|
|
Plater.db.profile.cast_statusbar_texture = value
|
|
Plater.RefreshDBUpvalues()
|
|
Plater.UpdateAllPlates()
|
|
end
|
|
local cast_bar_texture_options = {}
|
|
for name, texturePath in pairs (textures) do
|
|
cast_bar_texture_options [#cast_bar_texture_options + 1] = {value = name, label = name, statusbar = texturePath, onclick = cast_bar_texture_selected}
|
|
end
|
|
table.sort (cast_bar_texture_options, function (t1, t2) return t1.label < t2.label end)
|
|
--
|
|
local cast_bar_bgtexture_selected = function (self, capsule, value)
|
|
Plater.db.profile.cast_statusbar_bgtexture = value
|
|
Plater.RefreshDBUpvalues()
|
|
Plater.UpdateAllPlates()
|
|
end
|
|
local cast_bar_bgtexture_options = {}
|
|
for name, texturePath in pairs (textures) do
|
|
cast_bar_bgtexture_options [#cast_bar_bgtexture_options + 1] = {value = name, label = name, statusbar = texturePath, onclick = cast_bar_bgtexture_selected}
|
|
end
|
|
table.sort (cast_bar_bgtexture_options, function (t1, t2) return t1.label < t2.label end)
|
|
--
|
|
local cast_spark_texture_selected = function (self, capsule, value)
|
|
Plater.db.profile.cast_statusbar_spark_texture = value
|
|
Plater.UpdateAllPlates()
|
|
end
|
|
local cast_spark_texture_selected_options = {}
|
|
for index, texturePath in ipairs (Plater.SparkTextures) do
|
|
cast_spark_texture_selected_options [#cast_spark_texture_selected_options + 1] = {
|
|
value = texturePath,
|
|
label = "Texture " .. index,
|
|
onclick = cast_spark_texture_selected,
|
|
centerTexture = texturePath,
|
|
statusbar = dropdownStatusBarTexture,
|
|
statusbarcolor = dropdownStatusBarColor,
|
|
}
|
|
end
|
|
--
|
|
local on_select_castbar_target_font = function (_, _, value)
|
|
Plater.db.profile.castbar_target_font = value
|
|
Plater.UpdateAllPlates()
|
|
end
|
|
--
|
|
--anchor table
|
|
local build_anchor_side_table = function (actorType, member)
|
|
local anchorOptions = {}
|
|
local phraseIdTable = Plater.AnchorNamesByPhraseId
|
|
local languageId = DF.Language.GetLanguageIdForAddonId(addonId)
|
|
|
|
for i = 1, 13 do
|
|
tinsert (anchorOptions, {
|
|
label = DF.Language.GetText(addonId, phraseIdTable[i]),
|
|
languageId = languageId,
|
|
phraseId = phraseIdTable[i],
|
|
value = i,
|
|
statusbar = dropdownStatusBarTexture,
|
|
statusbarcolor = dropdownStatusBarColor,
|
|
onclick = function (_, _, value)
|
|
if (actorType) then
|
|
Plater.db.profile.plate_config [actorType][member].side = value
|
|
Plater.RefreshDBUpvalues()
|
|
|
|
Plater.UpdateAllPlates()
|
|
Plater.UpdateAllNames()
|
|
else
|
|
Plater.db.profile [member].side = value
|
|
Plater.RefreshDBUpvalues()
|
|
Plater.UpdateAllPlates()
|
|
Plater.UpdateAllNames()
|
|
end
|
|
end
|
|
})
|
|
end
|
|
return anchorOptions
|
|
end
|
|
|
|
|
|
--outline table
|
|
local outline_modes = {"NONE", "MONOCHROME", "OUTLINE", "THICKOUTLINE", "MONOCHROME, OUTLINE", "MONOCHROME, THICKOUTLINE"}
|
|
local outline_modes_names = {"None", "Monochrome", "Outline", "Thick Outline", "Monochrome Outline", "Monochrome Thick Outline"}
|
|
local build_outline_modes_table = function (actorType, member)
|
|
local t = {}
|
|
for i = 1, #outline_modes do
|
|
local value = outline_modes[i]
|
|
local label = outline_modes_names[i]
|
|
|
|
tinsert (t, {
|
|
label = label,
|
|
value = value,
|
|
statusbar = dropdownStatusBarTexture,
|
|
statusbarcolor = dropdownStatusBarColor,
|
|
onclick = function (_, _, value)
|
|
if (actorType) then
|
|
Plater.db.profile.plate_config [actorType][member] = value
|
|
Plater.RefreshDBUpvalues()
|
|
Plater.UpdateAllPlates()
|
|
Plater.UpdateAllNames()
|
|
else
|
|
Plater.db.profile [member] = value
|
|
Plater.RefreshDBUpvalues()
|
|
Plater.UpdateAllPlates()
|
|
Plater.UpdateAllNames()
|
|
end
|
|
end
|
|
})
|
|
end
|
|
return t
|
|
end
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
--> castbar options
|
|
|
|
local onSelectCastBarIconSideAttach = function(_a, _b, value)
|
|
Plater.db.profile.castbar_icon_attach_to_side = value
|
|
Plater.RefreshDBUpvalues()
|
|
Plater.UpdateAllPlates()
|
|
end
|
|
local castbar_icon_attach_to_side_options = {
|
|
{value = "left", label = "Left", onclick = onSelectCastBarIconSideAttach},
|
|
{value = "right", label = "Right", onclick = onSelectCastBarIconSideAttach},
|
|
}
|
|
|
|
local onSelectCastBarSize = function(_, _, value)
|
|
Plater.db.profile.castbar_icon_size = value
|
|
Plater.RefreshDBUpvalues()
|
|
Plater.UpdateAllPlates()
|
|
end
|
|
local castbar_icon_size_options = {
|
|
{value = "same as castbar", label = "Castbar Size", onclick = onSelectCastBarSize},
|
|
{value = "same as castbar plus healthbar", label = "Castbar + Healthbar Size", onclick = onSelectCastBarSize},
|
|
}
|
|
|
|
local castBar_options = {
|
|
{type = "breakline"},
|
|
|
|
--cast bar options
|
|
{
|
|
type = "execute",
|
|
func = function()
|
|
if (Plater.IsShowingCastBarTest) then
|
|
Plater.StopCastBarTest()
|
|
else
|
|
Plater.StartCastBarTest()
|
|
end
|
|
end,
|
|
name = "OPTIONS_CASTBAR_TOGGLE_TEST",
|
|
desc = "OPTIONS_CASTBAR_TOGGLE_TEST_DESC",
|
|
},
|
|
|
|
{type = "blank"},
|
|
|
|
{type = "label", get = function() return "OPTIONS_CASTBAR_APPEARANCE" end, text_template = DF:GetTemplate ("font", "ORANGE_FONT_TEMPLATE")},
|
|
|
|
{
|
|
type = "select",
|
|
get = function() return Plater.db.profile.cast_statusbar_texture end,
|
|
values = function() return cast_bar_texture_options end,
|
|
name = "OPTIONS_TEXTURE",
|
|
desc = "OPTIONS_TEXTURE",
|
|
},
|
|
{
|
|
type = "select",
|
|
get = function() return Plater.db.profile.cast_statusbar_bgtexture end,
|
|
values = function() return cast_bar_bgtexture_options end,
|
|
name = "OPTIONS_TEXTURE_BACKGROUND",
|
|
desc = "OPTIONS_TEXTURE_BACKGROUND",
|
|
},
|
|
|
|
{type = "blank"},
|
|
|
|
{
|
|
type = "toggle",
|
|
get = function() return Plater.db.profile.no_spellname_length_limit end,
|
|
set = function (self, fixedparam, value)
|
|
Plater.db.profile.no_spellname_length_limit = value
|
|
Plater.UpdateMaxCastbarTextLength()
|
|
Plater.UpdateAllPlates()
|
|
end,
|
|
name = "OPTIONS_CASTBAR_NO_SPELLNAME_LIMIT",
|
|
desc = "OPTIONS_CASTBAR_NO_SPELLNAME_LIMIT_DESC",
|
|
},
|
|
|
|
{
|
|
type = "toggle",
|
|
get = function() return Plater.db.profile.show_interrupt_author end,
|
|
set = function (self, fixedparam, value)
|
|
Plater.db.profile.show_interrupt_author = value
|
|
Plater.RefreshDBUpvalues()
|
|
end,
|
|
name = "OPTIONS_INTERRUPT_SHOW_AUTHOR",
|
|
desc = "OPTIONS_INTERRUPT_SHOW_AUTHOR",
|
|
},
|
|
|
|
{
|
|
type = "toggle",
|
|
get = function() return Plater.db.profile.cast_statusbar_interrupt_anim end,
|
|
set = function (self, fixedparam, value)
|
|
Plater.db.profile.cast_statusbar_interrupt_anim = value
|
|
end,
|
|
name = "OPTIONS_INTERRUPT_SHOW_ANIM",
|
|
desc = "OPTIONS_INTERRUPT_SHOW_ANIM",
|
|
},
|
|
|
|
{
|
|
type = "toggle",
|
|
get = function() return Plater.db.profile.cast_statusbar_spark_filloninterrupt end,
|
|
set = function (self, fixedparam, value)
|
|
Plater.db.profile.cast_statusbar_spark_filloninterrupt = value
|
|
Plater.UpdateAllPlates()
|
|
end,
|
|
name = "OPTIONS_INTERRUPT_FILLBAR",
|
|
desc = "OPTIONS_INTERRUPT_FILLBAR",
|
|
},
|
|
|
|
{
|
|
type = "toggle",
|
|
get = function() return Plater.db.profile.cast_statusbar_quickhide end,
|
|
set = function (self, fixedparam, value)
|
|
Plater.db.profile.cast_statusbar_quickhide = value
|
|
end,
|
|
name = "OPTIONS_CASTBAR_QUICKHIDE",
|
|
desc = "OPTIONS_CASTBAR_QUICKHIDE_DESC",
|
|
},
|
|
|
|
{
|
|
type = "toggle",
|
|
get = function() return Plater.db.profile.hide_friendly_castbars end,
|
|
set = function (self, fixedparam, value)
|
|
Plater.db.profile.hide_friendly_castbars = value
|
|
Plater.RefreshDBUpvalues()
|
|
end,
|
|
name = "OPTIONS_CASTBAR_HIDE_FRIENDLY",
|
|
desc = "OPTIONS_CASTBAR_HIDE_FRIENDLY",
|
|
},
|
|
{
|
|
type = "toggle",
|
|
get = function() return Plater.db.profile.hide_enemy_castbars end,
|
|
set = function (self, fixedparam, value)
|
|
Plater.db.profile.hide_enemy_castbars = value
|
|
Plater.RefreshDBUpvalues()
|
|
end,
|
|
name = "OPTIONS_CASTBAR_HIDE_ENEMY",
|
|
desc = "OPTIONS_CASTBAR_HIDE_ENEMY",
|
|
},
|
|
|
|
{type = "blank"},
|
|
|
|
{
|
|
type = "toggle",
|
|
get = function() return Plater.db.profile.cast_statusbar_use_fade_effects end,
|
|
set = function (self, fixedparam, value)
|
|
Plater.db.profile.cast_statusbar_use_fade_effects = value
|
|
Plater.UpdateAllPlates()
|
|
end,
|
|
name = "OPTIONS_CASTBAR_FADE_ANIM_ENABLED",
|
|
desc = "OPTIONS_CASTBAR_FADE_ANIM_ENABLED_DESC",
|
|
},
|
|
|
|
{
|
|
type = "range",
|
|
get = function() return Plater.db.profile.cast_statusbar_fadein_time end,
|
|
set = function (self, fixedparam, value)
|
|
Plater.db.profile.cast_statusbar_fadein_time = value
|
|
Plater.UpdateAllPlates()
|
|
end,
|
|
min = 0.01,
|
|
max = 1,
|
|
step = 0.01,
|
|
usedecimals = true,
|
|
name = "OPTIONS_CASTBAR_FADE_ANIM_TIME_START",
|
|
desc = "OPTIONS_CASTBAR_FADE_ANIM_TIME_START_DESC",
|
|
},
|
|
{
|
|
type = "range",
|
|
get = function() return Plater.db.profile.cast_statusbar_fadeout_time end,
|
|
set = function (self, fixedparam, value)
|
|
Plater.db.profile.cast_statusbar_fadeout_time = value
|
|
Plater.UpdateAllPlates()
|
|
end,
|
|
min = 0.01,
|
|
max = 2,
|
|
step = 0.01,
|
|
usedecimals = true,
|
|
name = "OPTIONS_CASTBAR_FADE_ANIM_TIME_END",
|
|
desc = "OPTIONS_CASTBAR_FADE_ANIM_TIME_END_DESC" ,
|
|
},
|
|
|
|
{type = "breakline"},
|
|
|
|
{type = "label", get = function() return "OPTIONS_CASTBAR_SPARK_SETTINGS" end, text_template = DF:GetTemplate ("font", "ORANGE_FONT_TEMPLATE")},
|
|
|
|
{
|
|
type = "select",
|
|
get = function() return Plater.db.profile.cast_statusbar_spark_texture end,
|
|
values = function() return cast_spark_texture_selected_options end,
|
|
name = "OPTIONS_TEXTURE",
|
|
desc = "OPTIONS_TEXTURE",
|
|
},
|
|
|
|
{
|
|
type = "toggle",
|
|
get = function() return Plater.db.profile.cast_statusbar_spark_hideoninterrupt end,
|
|
set = function (self, fixedparam, value)
|
|
Plater.db.profile.cast_statusbar_spark_hideoninterrupt = value
|
|
Plater.UpdateAllPlates()
|
|
end,
|
|
name = "OPTIONS_CASTBAR_SPARK_HIDE_INTERRUPT",
|
|
desc = "OPTIONS_CASTBAR_SPARK_HIDE_INTERRUPT",
|
|
},
|
|
{
|
|
type = "toggle",
|
|
get = function() return Plater.db.profile.cast_statusbar_spark_half end,
|
|
set = function (self, fixedparam, value)
|
|
Plater.db.profile.cast_statusbar_spark_half = value
|
|
Plater.UpdateAllPlates()
|
|
|
|
print("hald spark", value)
|
|
end,
|
|
name = "OPTIONS_CASTBAR_SPARK_HALF",
|
|
desc = "OPTIONS_CASTBAR_SPARK_HALF_DESC",
|
|
},
|
|
{
|
|
type = "color",
|
|
get = function()
|
|
local color = Plater.db.profile.cast_statusbar_spark_color
|
|
return {color[1], color[2], color[3], color[4]}
|
|
end,
|
|
set = function (self, r, g, b, a)
|
|
local color = Plater.db.profile.cast_statusbar_spark_color
|
|
color[1], color[2], color[3], color[4] = r, g, b, a
|
|
Plater.UpdateAllPlates()
|
|
end,
|
|
name = "OPTIONS_COLOR",
|
|
desc = "OPTIONS_COLOR",
|
|
},
|
|
|
|
{
|
|
type = "range",
|
|
get = function() return Plater.db.profile.cast_statusbar_spark_width end,
|
|
set = function (self, fixedparam, value)
|
|
Plater.db.profile.cast_statusbar_spark_width = value
|
|
Plater.UpdateAllPlates()
|
|
end,
|
|
min = 4,
|
|
max = 32,
|
|
step = 1,
|
|
name = "OPTIONS_WIDTH",
|
|
desc = "OPTIONS_WIDTH",
|
|
},
|
|
{
|
|
type = "range",
|
|
get = function() return Plater.db.profile.cast_statusbar_spark_offset end,
|
|
set = function (self, fixedparam, value)
|
|
Plater.db.profile.cast_statusbar_spark_offset = value
|
|
Plater.UpdateAllPlates()
|
|
end,
|
|
min = -32,
|
|
max = 32,
|
|
step = 1,
|
|
name = "OPTIONS_XOFFSET",
|
|
desc = "OPTIONS_XOFFSET",
|
|
},
|
|
{
|
|
type = "range",
|
|
get = function() return Plater.db.profile.cast_statusbar_spark_alpha end,
|
|
set = function (self, fixedparam, value)
|
|
Plater.db.profile.cast_statusbar_spark_alpha = value
|
|
Plater.UpdateAllPlates()
|
|
end,
|
|
min = 0,
|
|
max = 1,
|
|
step = 0.1,
|
|
usedecimals = true,
|
|
name = "OPTIONS_ALPHA",
|
|
desc = "OPTIONS_ALPHA",
|
|
},
|
|
|
|
{type = "blank"},
|
|
{type = "label", get = function() return "OPTIONS_CASTBAR_COLORS" end, text_template = DF:GetTemplate ("font", "ORANGE_FONT_TEMPLATE")},
|
|
|
|
{
|
|
type = "color",
|
|
get = function()
|
|
local color = Plater.db.profile.cast_statusbar_color
|
|
return {color[1], color[2], color[3], color[4]}
|
|
end,
|
|
set = function (self, r, g, b, a)
|
|
local color = Plater.db.profile.cast_statusbar_color
|
|
color[1], color[2], color[3], color[4] = r, g, b, a
|
|
Plater.UpdateAllPlates()
|
|
Plater.DoCastBarTest()
|
|
end,
|
|
name = "OPTIONS_CAST_COLOR_REGULAR",
|
|
desc = "OPTIONS_CAST_COLOR_REGULAR",
|
|
},
|
|
{
|
|
type = "color",
|
|
get = function()
|
|
local color = Plater.db.profile.cast_statusbar_color_channeling
|
|
return {color[1], color[2], color[3], color[4]}
|
|
end,
|
|
set = function (self, r, g, b, a)
|
|
local color = Plater.db.profile.cast_statusbar_color_channeling
|
|
color[1], color[2], color[3], color[4] = r, g, b, a
|
|
Plater.UpdateAllPlates()
|
|
Plater.DoCastBarTest()
|
|
end,
|
|
name = "OPTIONS_CAST_COLOR_CHANNELING",
|
|
desc = "OPTIONS_CAST_COLOR_CHANNELING",
|
|
},
|
|
{
|
|
type = "color",
|
|
get = function()
|
|
local color = Plater.db.profile.cast_statusbar_color_nointerrupt
|
|
return {color[1], color[2], color[3], color[4]}
|
|
end,
|
|
set = function (self, r, g, b, a)
|
|
local color = Plater.db.profile.cast_statusbar_color_nointerrupt
|
|
color[1], color[2], color[3], color[4] = r, g, b, a
|
|
Plater.UpdateAllPlates()
|
|
Plater.DoCastBarTest (true)
|
|
end,
|
|
name = "OPTIONS_CAST_COLOR_UNINTERRUPTIBLE",
|
|
desc = "OPTIONS_CAST_COLOR_UNINTERRUPTIBLE",
|
|
},
|
|
{
|
|
type = "color",
|
|
get = function()
|
|
local color = Plater.db.profile.cast_statusbar_color_interrupted
|
|
return {color[1], color[2], color[3], color[4]}
|
|
end,
|
|
set = function (self, r, g, b, a)
|
|
local color = Plater.db.profile.cast_statusbar_color_interrupted
|
|
color[1], color[2], color[3], color[4] = r, g, b, a
|
|
Plater.UpdateAllPlates()
|
|
Plater.DoCastBarTest()
|
|
end,
|
|
name = "OPTIONS_CAST_COLOR_INTERRUPTED",
|
|
desc = "OPTIONS_CAST_COLOR_INTERRUPTED",
|
|
},
|
|
{
|
|
type = "color",
|
|
get = function()
|
|
local color = Plater.db.profile.cast_statusbar_color_finished
|
|
return {color[1], color[2], color[3], color[4]}
|
|
end,
|
|
set = function (self, r, g, b, a)
|
|
local color = Plater.db.profile.cast_statusbar_color_finished
|
|
color[1], color[2], color[3], color[4] = r, g, b, a
|
|
Plater.UpdateAllPlates()
|
|
Plater.DoCastBarTest()
|
|
end,
|
|
name = "OPTIONS_CAST_COLOR_SUCCESS",
|
|
desc = "OPTIONS_CAST_COLOR_SUCCESS",
|
|
},
|
|
|
|
{
|
|
type = "color",
|
|
get = function()
|
|
local color = Plater.db.profile.cast_statusbar_bgcolor
|
|
return {color[1], color[2], color[3], color[4]}
|
|
end,
|
|
set = function (self, r, g, b, a)
|
|
local color = Plater.db.profile.cast_statusbar_bgcolor
|
|
color[1], color[2], color[3], color[4] = r, g, b, a
|
|
Plater.UpdateAllPlates()
|
|
Plater.DoCastBarTest()
|
|
end,
|
|
name = "OPTIONS_COLOR_BACKGROUND",
|
|
desc = "OPTIONS_COLOR_BACKGROUND",
|
|
},
|
|
|
|
{type = "breakline"},
|
|
--toggle cast bar target
|
|
{type = "label", get = function() return "Cast Bar Target Name:" end, text_template = DF:GetTemplate ("font", "ORANGE_FONT_TEMPLATE")},
|
|
{
|
|
type = "toggle",
|
|
get = function() return Plater.db.profile.castbar_target_show end,
|
|
set = function (self, fixedparam, value)
|
|
Plater.db.profile.castbar_target_show = value
|
|
Plater.RefreshDBUpvalues()
|
|
end,
|
|
name = "OPTIONS_CAST_SHOW_TARGETNAME",
|
|
desc = "OPTIONS_CAST_SHOW_TARGETNAME_DESC",
|
|
},
|
|
|
|
{
|
|
type = "toggle",
|
|
get = function() return Plater.db.profile.castbar_target_notank end,
|
|
set = function (self, fixedparam, value)
|
|
Plater.db.profile.castbar_target_notank = value
|
|
Plater.RefreshDBUpvalues()
|
|
end,
|
|
name = "OPTIONS_CAST_SHOW_TARGETNAME_TANK",
|
|
desc = "OPTIONS_CAST_SHOW_TARGETNAME_TANK_DESC",
|
|
},
|
|
|
|
{
|
|
type = "range",
|
|
get = function() return Plater.db.profile.castbar_target_text_size end,
|
|
set = function (self, fixedparam, value)
|
|
Plater.db.profile.castbar_target_text_size = value
|
|
Plater.UpdateAllPlates()
|
|
end,
|
|
min = 6,
|
|
max = 99,
|
|
step = 1,
|
|
name = "OPTIONS_SIZE",
|
|
desc = "OPTIONS_SIZE",
|
|
},
|
|
--text font
|
|
{
|
|
type = "select",
|
|
get = function() return Plater.db.profile.castbar_target_font end,
|
|
values = function() return DF:BuildDropDownFontList(on_select_castbar_target_font) end,
|
|
name = "OPTIONS_FONT",
|
|
desc = "OPTIONS_TEXT_FONT",
|
|
},
|
|
--cast text color
|
|
{
|
|
type = "color",
|
|
get = function()
|
|
local color = Plater.db.profile.castbar_target_color
|
|
return {color[1], color[2], color[3], color[4]}
|
|
end,
|
|
set = function (self, r, g, b, a)
|
|
local color = Plater.db.profile.castbar_target_color
|
|
color[1], color[2], color[3], color[4] = r, g, b, a
|
|
Plater.UpdateAllPlates()
|
|
end,
|
|
name = "OPTIONS_COLOR",
|
|
desc = "OPTIONS_COLOR",
|
|
},
|
|
|
|
--text outline options
|
|
{
|
|
type = "select",
|
|
get = function() return Plater.db.profile.castbar_target_outline end,
|
|
values = function() return build_outline_modes_table (nil, "castbar_target_outline") end,
|
|
name = "OPTIONS_OUTLINE",
|
|
desc = "OPTIONS_OUTLINE",
|
|
},
|
|
|
|
--text shadow color
|
|
{
|
|
type = "color",
|
|
get = function()
|
|
local color = Plater.db.profile.castbar_target_shadow_color
|
|
return {color[1], color[2], color[3], color[4]}
|
|
end,
|
|
set = function (self, r, g, b, a)
|
|
local color = Plater.db.profile.castbar_target_shadow_color
|
|
color[1], color[2], color[3], color[4] = r, g, b, a
|
|
Plater.UpdateAllPlates()
|
|
end,
|
|
name = "OPTIONS_SHADOWCOLOR",
|
|
desc = "OPTIONS_TOGGLE_TO_CHANGE",
|
|
},
|
|
|
|
{
|
|
type = "select",
|
|
get = function() return Plater.db.profile.castbar_target_anchor.side end,
|
|
values = function() return build_anchor_side_table (nil, "castbar_target_anchor") end,
|
|
name = "OPTIONS_ANCHOR",
|
|
desc = "OPTIONS_ANCHOR_TARGET_SIDE",
|
|
},
|
|
{
|
|
type = "range",
|
|
get = function() return Plater.db.profile.castbar_target_anchor.x end,
|
|
set = function (self, fixedparam, value)
|
|
Plater.db.profile.castbar_target_anchor.x = value
|
|
Plater.UpdateAllPlates()
|
|
end,
|
|
min = -100,
|
|
max = 100,
|
|
step = 1,
|
|
usedecimals = true,
|
|
name = "OPTIONS_XOFFSET",
|
|
desc = "OPTIONS_XOFFSET",
|
|
},
|
|
{
|
|
type = "range",
|
|
get = function() return Plater.db.profile.castbar_target_anchor.y end,
|
|
set = function (self, fixedparam, value)
|
|
Plater.db.profile.castbar_target_anchor.y = value
|
|
Plater.UpdateAllPlates()
|
|
end,
|
|
min = -100,
|
|
max = 100,
|
|
step = 1,
|
|
usedecimals = true,
|
|
name = "OPTIONS_YOFFSET",
|
|
desc = "OPTIONS_YOFFSET",
|
|
},
|
|
|
|
{type = "breakline"},
|
|
--toggle cast bar target
|
|
{type = "label", get = function() return "OPTIONS_CASTBAR_SPELLICON" end, text_template = DF:GetTemplate ("font", "ORANGE_FONT_TEMPLATE")},
|
|
{
|
|
type = "toggle",
|
|
get = function() return Plater.db.profile.castbar_icon_customization_enabled end,
|
|
set = function (self, fixedparam, value)
|
|
Plater.db.profile.castbar_icon_customization_enabled = value
|
|
Plater.RefreshDBUpvalues()
|
|
end,
|
|
name = "OPTIONS_CASTBAR_ICON_CUSTOM_ENABLE",
|
|
desc = "OPTIONS_CASTBAR_ICON_CUSTOM_ENABLE_DESC",
|
|
},
|
|
|
|
{
|
|
type = "toggle",
|
|
get = function() return Plater.db.profile.castbar_icon_show end,
|
|
set = function (self, fixedparam, value)
|
|
Plater.db.profile.castbar_icon_show = value
|
|
Plater.RefreshDBUpvalues()
|
|
end,
|
|
name = "OPTIONS_ICON_SHOW",
|
|
desc = "OPTIONS_ICON_SHOW",
|
|
},
|
|
|
|
{
|
|
type = "select",
|
|
get = function() return Plater.db.profile.castbar_icon_attach_to_side end,
|
|
values = function() return castbar_icon_attach_to_side_options end,
|
|
name = "OPTIONS_ICON_SIDE",
|
|
desc = "OPTIONS_ICON_SIDE",
|
|
},
|
|
|
|
{
|
|
type = "select",
|
|
get = function() return Plater.db.profile.castbar_icon_size end,
|
|
values = function() return castbar_icon_size_options end,
|
|
name = "OPTIONS_ICON_SIZE",
|
|
desc = "OPTIONS_ICON_SIZE",
|
|
},
|
|
|
|
{
|
|
type = "range",
|
|
get = function() return Plater.db.profile.castbar_icon_x_offset end,
|
|
set = function (self, fixedparam, value)
|
|
Plater.db.profile.castbar_icon_x_offset = value
|
|
Plater.UpdateAllPlates()
|
|
end,
|
|
min = -20,
|
|
max = 20,
|
|
step = 1,
|
|
name = "OPTIONS_XOFFSET",
|
|
desc = "OPTIONS_XOFFSET",
|
|
},
|
|
|
|
{type = "blank"},
|
|
{type = "label", get = function() return "OPTIONS_CASTBAR_BLIZZCASTBAR" end, text_template = DF:GetTemplate ("font", "ORANGE_FONT_TEMPLATE")},
|
|
|
|
--hide castbar from blizzard
|
|
{
|
|
type = "toggle",
|
|
get = function() return Plater.db.profile.hide_blizzard_castbar end,
|
|
set = function (self, fixedparam, value)
|
|
Plater.db.profile.hide_blizzard_castbar = value
|
|
end,
|
|
name = "OPTIONS_CASTBAR_HIDEBLIZZARD",
|
|
desc = "OPTIONS_CASTBAR_HIDEBLIZZARD",
|
|
},
|
|
}
|
|
|
|
local castBarFrame = PlaterOptionsPanelContainerCastBarConfig
|
|
|
|
--the -30 is to fix an annomaly where the options for castbars starts 30 pixels to the right, dunno why (tercio)
|
|
castBar_options.always_boxfirst = true
|
|
castBar_options.language_addonId = addonId
|
|
castBar_options.Name = "Cast Bar Options"
|
|
DF:BuildMenu (castBarFrame, castBar_options, startX-20, startY, heightSize, false, options_text_template, options_dropdown_template, options_switch_template, true, options_slider_template, options_button_template, platerInternal.OptionsGlobalCallback)
|
|
|
|
platerInternal.LoadOnDemand_IsLoaded.CastOptions = true
|
|
table.insert(PlaterOptionsPanelFrame.AllSettingsTable, castBar_options)
|
|
end
|