mirror of
https://github.com/parnic/ice-hud.git
synced 2025-06-16 14:50:13 -05:00
- added separate configuration for the "resting" and "combat" portions of the player status icon
- prettified/organized some configuration screens a bit
This commit is contained in:
@ -88,7 +88,12 @@ end
|
|||||||
-- OVERRIDE
|
-- OVERRIDE
|
||||||
function IceBarElement.prototype:GetOptions()
|
function IceBarElement.prototype:GetOptions()
|
||||||
local opts = IceBarElement.super.prototype.GetOptions(self)
|
local opts = IceBarElement.super.prototype.GetOptions(self)
|
||||||
|
|
||||||
|
opts["headerLookAndFeel"] = {
|
||||||
|
type = 'header',
|
||||||
|
name = 'Look and Feel',
|
||||||
|
order = 29.9
|
||||||
|
}
|
||||||
opts["side"] =
|
opts["side"] =
|
||||||
{
|
{
|
||||||
type = 'text',
|
type = 'text',
|
||||||
@ -159,6 +164,11 @@ function IceBarElement.prototype:GetOptions()
|
|||||||
order = 32
|
order = 32
|
||||||
}
|
}
|
||||||
|
|
||||||
|
opts["headerVisibility"] = {
|
||||||
|
type = 'header',
|
||||||
|
name = 'Visibility settings',
|
||||||
|
order = 27
|
||||||
|
}
|
||||||
opts["barVisible"] = {
|
opts["barVisible"] = {
|
||||||
type = 'toggle',
|
type = 'toggle',
|
||||||
name = 'Bar visible',
|
name = 'Bar visible',
|
||||||
@ -201,6 +211,11 @@ function IceBarElement.prototype:GetOptions()
|
|||||||
order = 29
|
order = 29
|
||||||
}
|
}
|
||||||
|
|
||||||
|
opts["headerAnimation"] = {
|
||||||
|
type = 'header',
|
||||||
|
name = 'Animation settings',
|
||||||
|
order = 110
|
||||||
|
}
|
||||||
opts["shouldAnimate"] =
|
opts["shouldAnimate"] =
|
||||||
{
|
{
|
||||||
type = 'toggle',
|
type = 'toggle',
|
||||||
@ -215,7 +230,8 @@ function IceBarElement.prototype:GetOptions()
|
|||||||
end,
|
end,
|
||||||
disabled = function()
|
disabled = function()
|
||||||
return not self.moduleSettings.enabled
|
return not self.moduleSettings.enabled
|
||||||
end
|
end,
|
||||||
|
order = 111
|
||||||
}
|
}
|
||||||
|
|
||||||
opts["desiredLerpTime"] =
|
opts["desiredLerpTime"] =
|
||||||
@ -234,7 +250,8 @@ function IceBarElement.prototype:GetOptions()
|
|||||||
end,
|
end,
|
||||||
disabled = function()
|
disabled = function()
|
||||||
return not self.moduleSettings.enabled or not self.moduleSettings.shouldAnimate
|
return not self.moduleSettings.enabled or not self.moduleSettings.shouldAnimate
|
||||||
end
|
end,
|
||||||
|
order = 112
|
||||||
}
|
}
|
||||||
|
|
||||||
opts["widthModifier"] =
|
opts["widthModifier"] =
|
||||||
@ -254,7 +271,8 @@ function IceBarElement.prototype:GetOptions()
|
|||||||
end,
|
end,
|
||||||
disabled = function()
|
disabled = function()
|
||||||
return not self.moduleSettings.enabled
|
return not self.moduleSettings.enabled
|
||||||
end
|
end,
|
||||||
|
order = 33
|
||||||
}
|
}
|
||||||
|
|
||||||
opts["barVerticalOffset"] =
|
opts["barVerticalOffset"] =
|
||||||
@ -274,7 +292,8 @@ function IceBarElement.prototype:GetOptions()
|
|||||||
end,
|
end,
|
||||||
disabled = function()
|
disabled = function()
|
||||||
return not self.moduleSettings.enabled
|
return not self.moduleSettings.enabled
|
||||||
end
|
end,
|
||||||
|
order = 34
|
||||||
}
|
}
|
||||||
|
|
||||||
opts["textSettings"] =
|
opts["textSettings"] =
|
||||||
|
@ -171,7 +171,7 @@ function IceElement.prototype:GetOptions()
|
|||||||
disabled = function()
|
disabled = function()
|
||||||
return not self.moduleSettings.enabled
|
return not self.moduleSettings.enabled
|
||||||
end,
|
end,
|
||||||
order = 22
|
order = 27.5
|
||||||
}
|
}
|
||||||
|
|
||||||
return opts
|
return opts
|
||||||
|
@ -78,7 +78,7 @@ function CastBar.prototype:GetOptions()
|
|||||||
opts["lagAlpha"] =
|
opts["lagAlpha"] =
|
||||||
{
|
{
|
||||||
type = 'range',
|
type = 'range',
|
||||||
name = 'Lag Indicator',
|
name = 'Lag Indicator alpha',
|
||||||
desc = 'Lag indicator alpha (0 is disabled)',
|
desc = 'Lag indicator alpha (0 is disabled)',
|
||||||
min = 0,
|
min = 0,
|
||||||
max = 1,
|
max = 1,
|
||||||
|
@ -29,6 +29,8 @@ function PlayerHealth.prototype:GetDefaultSettings()
|
|||||||
settings["showStatusIcon"] = true
|
settings["showStatusIcon"] = true
|
||||||
settings["statusIconOffset"] = {x=110, y=0}
|
settings["statusIconOffset"] = {x=110, y=0}
|
||||||
settings["statusIconScale"] = 1
|
settings["statusIconScale"] = 1
|
||||||
|
settings["showStatusCombat"] = true
|
||||||
|
settings["showStatusResting"] = true
|
||||||
|
|
||||||
settings["showLeaderIcon"] = true
|
settings["showLeaderIcon"] = true
|
||||||
settings["leaderIconOffset"] = {x=135, y=15}
|
settings["leaderIconOffset"] = {x=135, y=15}
|
||||||
@ -209,10 +211,15 @@ function PlayerHealth.prototype:GetOptions()
|
|||||||
order = 6
|
order = 6
|
||||||
},
|
},
|
||||||
|
|
||||||
|
headerStatusIcon = {
|
||||||
|
type = 'header',
|
||||||
|
name = "Status icon",
|
||||||
|
order = 9.9
|
||||||
|
},
|
||||||
statusIcon = {
|
statusIcon = {
|
||||||
type = "toggle",
|
type = "toggle",
|
||||||
name = "Show status icon",
|
name = "Show status icon",
|
||||||
desc = "Whether or not to show the status icon (resting/combat) above this bar",
|
desc = "Whether or not to show the status icon (resting/combat) above this bar\n\nNote: You can configure resting/combat separately below, but disabling both resting and combat is the same as disabling the icon altogether",
|
||||||
get = function()
|
get = function()
|
||||||
return self.moduleSettings.showStatusIcon
|
return self.moduleSettings.showStatusIcon
|
||||||
end,
|
end,
|
||||||
@ -226,6 +233,40 @@ function PlayerHealth.prototype:GetOptions()
|
|||||||
end,
|
end,
|
||||||
order = 10
|
order = 10
|
||||||
},
|
},
|
||||||
|
showStatusCombat = {
|
||||||
|
type = "toggle",
|
||||||
|
name = "Show combat status",
|
||||||
|
desc = "Whether or not to show the combat status portion of the status icon (for example, if you only care when you're resting, not when you're in combat)",
|
||||||
|
get = function()
|
||||||
|
return self.moduleSettings.showStatusCombat
|
||||||
|
end,
|
||||||
|
set = function(value)
|
||||||
|
self.moduleSettings.showStatusCombat = value
|
||||||
|
self:Resting()
|
||||||
|
self:CheckCombat()
|
||||||
|
end,
|
||||||
|
disabled = function()
|
||||||
|
return not self.moduleSettings.enabled or not self.moduleSettings.showStatusIcon
|
||||||
|
end,
|
||||||
|
order = 10.1
|
||||||
|
},
|
||||||
|
showStatusResting = {
|
||||||
|
type = "toggle",
|
||||||
|
name = "Show resting status",
|
||||||
|
desc = "Whether or not to show the resting status portion of the status icon (for example, if you only care when you're in combat, but not when you're resting)",
|
||||||
|
get = function()
|
||||||
|
return self.moduleSettings.showStatusResting
|
||||||
|
end,
|
||||||
|
set = function(value)
|
||||||
|
self.moduleSettings.showStatusResting = value
|
||||||
|
self:Resting()
|
||||||
|
self:CheckCombat()
|
||||||
|
end,
|
||||||
|
disabled = function()
|
||||||
|
return not self.moduleSettings.enabled or not self.moduleSettings.showStatusIcon
|
||||||
|
end,
|
||||||
|
order = 10.2
|
||||||
|
},
|
||||||
statusIconOffsetX = {
|
statusIconOffsetX = {
|
||||||
type = "range",
|
type = "range",
|
||||||
name = "Status Icon Horizontal Offset",
|
name = "Status Icon Horizontal Offset",
|
||||||
@ -284,6 +325,11 @@ function PlayerHealth.prototype:GetOptions()
|
|||||||
order = 13
|
order = 13
|
||||||
},
|
},
|
||||||
|
|
||||||
|
headerLeaderIcon = {
|
||||||
|
type = 'header',
|
||||||
|
name = "Leader icon",
|
||||||
|
order = 19.9
|
||||||
|
},
|
||||||
leaderIcon = {
|
leaderIcon = {
|
||||||
type = "toggle",
|
type = "toggle",
|
||||||
name = "Show leader icon",
|
name = "Show leader icon",
|
||||||
@ -358,6 +404,11 @@ function PlayerHealth.prototype:GetOptions()
|
|||||||
order = 23
|
order = 23
|
||||||
},
|
},
|
||||||
|
|
||||||
|
headerLootMasterIcon = {
|
||||||
|
type = 'header',
|
||||||
|
name = "Loot Master icon",
|
||||||
|
order = 29.9
|
||||||
|
},
|
||||||
lootMasterIcon = {
|
lootMasterIcon = {
|
||||||
type = "toggle",
|
type = "toggle",
|
||||||
name = "Show loot master icon",
|
name = "Show loot master icon",
|
||||||
@ -432,6 +483,11 @@ function PlayerHealth.prototype:GetOptions()
|
|||||||
order = 33
|
order = 33
|
||||||
},
|
},
|
||||||
|
|
||||||
|
headerPvPIcon = {
|
||||||
|
type = 'header',
|
||||||
|
name = "PvP icon",
|
||||||
|
order = 39.9
|
||||||
|
},
|
||||||
PvPIcon = {
|
PvPIcon = {
|
||||||
type = "toggle",
|
type = "toggle",
|
||||||
name = "Show PvP icon",
|
name = "Show PvP icon",
|
||||||
@ -582,11 +638,11 @@ function PlayerHealth.prototype:Resting()
|
|||||||
|
|
||||||
-- moved icon logic above :Update so that it will trigger the alpha settings properly
|
-- moved icon logic above :Update so that it will trigger the alpha settings properly
|
||||||
if (self.resting) then
|
if (self.resting) then
|
||||||
if self.moduleSettings.showStatusIcon and not self.frame.statusIcon then
|
if self.moduleSettings.showStatusIcon and self.moduleSettings.showStatusResting and not self.frame.statusIcon then
|
||||||
self.frame.statusIcon = self:CreateTexCoord(self.frame.statusIcon, "Interface\\CharacterFrame\\UI-StateIcon", 20, 20,
|
self.frame.statusIcon = self:CreateTexCoord(self.frame.statusIcon, "Interface\\CharacterFrame\\UI-StateIcon", 20, 20,
|
||||||
self.moduleSettings.statusIconScale, 0.0625, 0.4475, 0.0625, 0.4375)
|
self.moduleSettings.statusIconScale, 0.0625, 0.4475, 0.0625, 0.4375)
|
||||||
self:SetTexLoc(self.frame.statusIcon, self.moduleSettings.statusIconOffset['x'], self.moduleSettings.statusIconOffset['y'])
|
self:SetTexLoc(self.frame.statusIcon, self.moduleSettings.statusIconOffset['x'], self.moduleSettings.statusIconOffset['y'])
|
||||||
elseif not self.moduleSettings.showStatusIcon and self.frame.statusIcon and not self.combat then
|
elseif (not self.moduleSettings.showStatusIcon or not self.moduleSettings.showStatusResting) and self.frame.statusIcon and not self.combat then
|
||||||
self.frame.statusIcon = self:DestroyTexFrame(self.frame.statusIcon)
|
self.frame.statusIcon = self:DestroyTexFrame(self.frame.statusIcon)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
@ -613,11 +669,11 @@ function PlayerHealth.prototype:CheckCombat()
|
|||||||
end
|
end
|
||||||
|
|
||||||
if self.combat or configMode then
|
if self.combat or configMode then
|
||||||
if (configMode or self.moduleSettings.showStatusIcon) and not self.frame.statusIcon then
|
if (configMode or (self.moduleSettings.showStatusIcon and self.moduleSettings.showStatusCombat)) and not self.frame.statusIcon then
|
||||||
self.frame.statusIcon = self:CreateTexCoord(self.frame.statusIcon, "Interface\\CharacterFrame\\UI-StateIcon", 20, 20,
|
self.frame.statusIcon = self:CreateTexCoord(self.frame.statusIcon, "Interface\\CharacterFrame\\UI-StateIcon", 20, 20,
|
||||||
self.moduleSettings.statusIconScale, 0.5625, 0.9375, 0.0625, 0.4375)
|
self.moduleSettings.statusIconScale, 0.5625, 0.9375, 0.0625, 0.4375)
|
||||||
self:SetTexLoc(self.frame.statusIcon, self.moduleSettings.statusIconOffset['x'], self.moduleSettings.statusIconOffset['y'])
|
self:SetTexLoc(self.frame.statusIcon, self.moduleSettings.statusIconOffset['x'], self.moduleSettings.statusIconOffset['y'])
|
||||||
elseif not configMode and not self.resting and not self.moduleSettings.showStatusIcon and self.frame.statusIcon then
|
elseif not configMode and not self.resting and (not self.moduleSettings.showStatusIcon or not self.moduleSettings.showStatusCombat) and self.frame.statusIcon then
|
||||||
self.frame.statusIcon = self:DestroyTexFrame(self.frame.statusIcon)
|
self.frame.statusIcon = self:DestroyTexFrame(self.frame.statusIcon)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
@ -64,7 +64,7 @@ function IHUD_Threat.prototype:GetOptions()
|
|||||||
opts["aggroAlpha"] =
|
opts["aggroAlpha"] =
|
||||||
{
|
{
|
||||||
type = 'range',
|
type = 'range',
|
||||||
name = 'Aggro Indicator',
|
name = 'Aggro Indicator alpha',
|
||||||
desc = 'Aggro indicator alpha (0 is disabled)',
|
desc = 'Aggro indicator alpha (0 is disabled)',
|
||||||
min = 0,
|
min = 0,
|
||||||
max = 1,
|
max = 1,
|
||||||
@ -79,7 +79,7 @@ function IHUD_Threat.prototype:GetOptions()
|
|||||||
disabled = function()
|
disabled = function()
|
||||||
return not self.moduleSettings.enabled
|
return not self.moduleSettings.enabled
|
||||||
end,
|
end,
|
||||||
order = 21
|
order = 27.5
|
||||||
}
|
}
|
||||||
|
|
||||||
opts["onlyShowInGroups"] = {
|
opts["onlyShowInGroups"] = {
|
||||||
@ -96,7 +96,7 @@ function IHUD_Threat.prototype:GetOptions()
|
|||||||
disabled = function()
|
disabled = function()
|
||||||
return not self.moduleSettings.enabled
|
return not self.moduleSettings.enabled
|
||||||
end,
|
end,
|
||||||
order = 22
|
order = 27.6
|
||||||
}
|
}
|
||||||
|
|
||||||
return opts
|
return opts
|
||||||
|
Reference in New Issue
Block a user