mirror of
https://github.com/parnic/ice-hud.git
synced 2025-06-16 06:40:13 -05:00
- added a configuration mode to show all bars temporarily so they can be placed
- changed how frames are shown and hidden so we don't call show/hide unnecessarily - widened the min/max offset numbers to allow greater placement flexibility
This commit is contained in:
@ -126,8 +126,8 @@ function IceBarElement.prototype:GetOptions()
|
|||||||
type = 'range',
|
type = 'range',
|
||||||
name = '|c' .. self.configColor .. 'Offset|r',
|
name = '|c' .. self.configColor .. 'Offset|r',
|
||||||
desc = 'Offset of the bar',
|
desc = 'Offset of the bar',
|
||||||
min = -1,
|
min = -10,
|
||||||
max = 10,
|
max = 15,
|
||||||
step = 1,
|
step = 1,
|
||||||
get = function()
|
get = function()
|
||||||
return self.moduleSettings.offset
|
return self.moduleSettings.offset
|
||||||
|
@ -54,7 +54,7 @@ function IceCastBar.prototype:Enable(core)
|
|||||||
self:RegisterEvent("UNIT_SPELLCAST_CHANNEL_UPDATE", "SpellCastChannelUpdate") -- unit
|
self:RegisterEvent("UNIT_SPELLCAST_CHANNEL_UPDATE", "SpellCastChannelUpdate") -- unit
|
||||||
self:RegisterEvent("UNIT_SPELLCAST_CHANNEL_STOP", "SpellCastChannelStop") -- unit
|
self:RegisterEvent("UNIT_SPELLCAST_CHANNEL_STOP", "SpellCastChannelStop") -- unit
|
||||||
|
|
||||||
self.frame:Hide()
|
self:Show(false)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
@ -179,7 +179,7 @@ function IceCastBar.prototype:StartBar(action, message)
|
|||||||
self.actionMessage = spell .. self:GetShortRank(rank)
|
self.actionMessage = spell .. self:GetShortRank(rank)
|
||||||
end
|
end
|
||||||
|
|
||||||
self.frame:Show()
|
self:Show(true)
|
||||||
self.frame:SetScript("OnUpdate", function() self:OnUpdate() end)
|
self.frame:SetScript("OnUpdate", function() self:OnUpdate() end)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -189,7 +189,7 @@ function IceCastBar.prototype:StopBar()
|
|||||||
self.actionStartTime = nil
|
self.actionStartTime = nil
|
||||||
self.actionDuration = nil
|
self.actionDuration = nil
|
||||||
|
|
||||||
self.frame:Hide()
|
self:Show(false)
|
||||||
self.frame:SetScript("OnUpdate", nil)
|
self.frame:SetScript("OnUpdate", nil)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
31
IceCore.lua
31
IceCore.lua
@ -18,20 +18,21 @@ IceCore.prototype.elements = {}
|
|||||||
IceCore.prototype.enabled = nil
|
IceCore.prototype.enabled = nil
|
||||||
IceCore.prototype.presets = {}
|
IceCore.prototype.presets = {}
|
||||||
IceCore.prototype.settingsHash = nil
|
IceCore.prototype.settingsHash = nil
|
||||||
|
IceCore.prototype.bConfigMode = false
|
||||||
|
|
||||||
-- Constructor --
|
-- Constructor --
|
||||||
function IceCore.prototype:init()
|
function IceCore.prototype:init()
|
||||||
IceCore.super.prototype.init(self)
|
IceCore.super.prototype.init(self)
|
||||||
IceHUD:Debug("IceCore.prototype:init()")
|
IceHUD:Debug("IceCore.prototype:init()")
|
||||||
|
|
||||||
self:RegisterDB("IceCoreDB")
|
self:RegisterDB("IceCoreDB")
|
||||||
|
|
||||||
self.IceHUDFrame = CreateFrame("Frame","IceHUDFrame", UIParent)
|
self.IceHUDFrame = CreateFrame("Frame","IceHUDFrame", UIParent)
|
||||||
|
|
||||||
-- We are ready to load modules
|
-- We are ready to load modules
|
||||||
self:RegisterEvent(IceCore.RegisterModule, "Register")
|
self:RegisterEvent(IceCore.RegisterModule, "Register")
|
||||||
self:TriggerEvent(IceCore.Loaded)
|
self:TriggerEvent(IceCore.Loaded)
|
||||||
|
|
||||||
|
|
||||||
-- DEFAULT SETTINGS
|
-- DEFAULT SETTINGS
|
||||||
local defaultPreset = "RoundBar"
|
local defaultPreset = "RoundBar"
|
||||||
@ -96,6 +97,8 @@ end
|
|||||||
|
|
||||||
|
|
||||||
function IceCore.prototype:Disable()
|
function IceCore.prototype:Disable()
|
||||||
|
self:ConfigModeToggle(false)
|
||||||
|
|
||||||
for i = 1, table.getn(self.elements) do
|
for i = 1, table.getn(self.elements) do
|
||||||
if (self.elements[i]:IsEnabled()) then
|
if (self.elements[i]:IsEnabled()) then
|
||||||
self.elements[i]:Disable(true)
|
self.elements[i]:Disable(true)
|
||||||
@ -387,6 +390,26 @@ function IceCore.prototype:SetColor(color, r, g, b)
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function IceCore.prototype:IsInConfigMode()
|
||||||
|
return self.bConfigMode
|
||||||
|
end
|
||||||
|
|
||||||
|
function IceCore.prototype:ConfigModeToggle(bWantConfig)
|
||||||
|
self.bConfigMode = bWantConfig
|
||||||
|
|
||||||
|
if bWantConfig then
|
||||||
|
for i = 1, table.getn(self.elements) do
|
||||||
|
self.elements[i].frame:Show()
|
||||||
|
end
|
||||||
|
else
|
||||||
|
for i = 1, table.getn(self.elements) do
|
||||||
|
if not self.elements[i]:IsVisible() then
|
||||||
|
self.elements[i].frame:Hide()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
-- Presets --
|
-- Presets --
|
||||||
|
@ -20,6 +20,8 @@ IceElement.moduleSettings = nil
|
|||||||
IceElement.prototype.configColor = "ff8888ff"
|
IceElement.prototype.configColor = "ff8888ff"
|
||||||
IceElement.prototype.scalingEnabled = nil
|
IceElement.prototype.scalingEnabled = nil
|
||||||
|
|
||||||
|
IceElement.prototype.bIsVisible = true
|
||||||
|
|
||||||
-- Constructor --
|
-- Constructor --
|
||||||
-- IceElements are to be instantiated before IceCore is loaded.
|
-- IceElements are to be instantiated before IceCore is loaded.
|
||||||
-- Therefore we can wait for IceCore to load and then register our
|
-- Therefore we can wait for IceCore to load and then register our
|
||||||
@ -57,7 +59,7 @@ function IceElement.prototype:Create(parent)
|
|||||||
|
|
||||||
self.parent = parent
|
self.parent = parent
|
||||||
self:CreateFrame()
|
self:CreateFrame()
|
||||||
self.frame:Hide()
|
self:Show(false)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
@ -76,7 +78,7 @@ function IceElement.prototype:Enable(core)
|
|||||||
if (not core) then
|
if (not core) then
|
||||||
self.moduleSettings.enabled = true
|
self.moduleSettings.enabled = true
|
||||||
end
|
end
|
||||||
self.frame:Show()
|
self:Show(true)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
@ -84,7 +86,7 @@ function IceElement.prototype:Disable(core)
|
|||||||
if (not core) then
|
if (not core) then
|
||||||
self.moduleSettings.enabled = false
|
self.moduleSettings.enabled = false
|
||||||
end
|
end
|
||||||
self.frame:Hide()
|
self:Show(false)
|
||||||
self:UnregisterAllEvents()
|
self:UnregisterAllEvents()
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -262,6 +264,25 @@ function IceElement.prototype:FontFactory(size, frame, font, flags)
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function IceElement.prototype:IsVisible()
|
||||||
|
return self.bIsVisible
|
||||||
|
end
|
||||||
|
|
||||||
|
function IceElement.prototype:Show(bShouldShow)
|
||||||
|
if self.bIsVisible == bShouldShow then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
self.bIsVisible = bShouldShow
|
||||||
|
|
||||||
|
if not bShouldShow then
|
||||||
|
self.frame:Hide()
|
||||||
|
else
|
||||||
|
self.frame:Show()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- Event Handlers -------------------------------------------------------------
|
-- Event Handlers -------------------------------------------------------------
|
||||||
|
|
||||||
|
54
IceHUD.lua
54
IceHUD.lua
@ -19,7 +19,7 @@ IceHUD.options =
|
|||||||
name = "General Settings",
|
name = "General Settings",
|
||||||
order = 10
|
order = 10
|
||||||
},
|
},
|
||||||
|
|
||||||
positioningSettings = {
|
positioningSettings = {
|
||||||
type = 'group',
|
type = 'group',
|
||||||
name = 'Positioning Settings',
|
name = 'Positioning Settings',
|
||||||
@ -41,7 +41,7 @@ IceHUD.options =
|
|||||||
step = 10,
|
step = 10,
|
||||||
order = 11
|
order = 11
|
||||||
},
|
},
|
||||||
|
|
||||||
hpos = {
|
hpos = {
|
||||||
type = 'range',
|
type = 'range',
|
||||||
name = 'Horizontal position',
|
name = 'Horizontal position',
|
||||||
@ -57,7 +57,7 @@ IceHUD.options =
|
|||||||
step = 10,
|
step = 10,
|
||||||
order = 12
|
order = 12
|
||||||
},
|
},
|
||||||
|
|
||||||
gap = {
|
gap = {
|
||||||
type = 'range',
|
type = 'range',
|
||||||
name = 'Gap',
|
name = 'Gap',
|
||||||
@ -73,7 +73,7 @@ IceHUD.options =
|
|||||||
step = 5,
|
step = 5,
|
||||||
order = 13,
|
order = 13,
|
||||||
},
|
},
|
||||||
|
|
||||||
scale = {
|
scale = {
|
||||||
type = 'range',
|
type = 'range',
|
||||||
name = 'Scale',
|
name = 'Scale',
|
||||||
@ -92,8 +92,8 @@ IceHUD.options =
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
alphaSettings = {
|
alphaSettings = {
|
||||||
type = 'group',
|
type = 'group',
|
||||||
name = 'Transparency Settings',
|
name = 'Transparency Settings',
|
||||||
@ -105,7 +105,7 @@ IceHUD.options =
|
|||||||
name = "Bar Alpha",
|
name = "Bar Alpha",
|
||||||
order = 10
|
order = 10
|
||||||
},
|
},
|
||||||
|
|
||||||
alphaic = {
|
alphaic = {
|
||||||
type = 'range',
|
type = 'range',
|
||||||
name = 'Alpha IC',
|
name = 'Alpha IC',
|
||||||
@ -122,7 +122,7 @@ IceHUD.options =
|
|||||||
isPercent = true,
|
isPercent = true,
|
||||||
order = 11,
|
order = 11,
|
||||||
},
|
},
|
||||||
|
|
||||||
alphaooc = {
|
alphaooc = {
|
||||||
type = 'range',
|
type = 'range',
|
||||||
name = 'Alpha OOC',
|
name = 'Alpha OOC',
|
||||||
@ -139,7 +139,7 @@ IceHUD.options =
|
|||||||
isPercent = true,
|
isPercent = true,
|
||||||
order = 12,
|
order = 12,
|
||||||
},
|
},
|
||||||
|
|
||||||
alphaTarget = {
|
alphaTarget = {
|
||||||
type = 'range',
|
type = 'range',
|
||||||
name = 'Alpha OOC and Target or not Full',
|
name = 'Alpha OOC and Target or not Full',
|
||||||
@ -156,16 +156,16 @@ IceHUD.options =
|
|||||||
isPercent = true,
|
isPercent = true,
|
||||||
order = 13,
|
order = 13,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
headerAlphaBackgroundBlank = { type = 'header', name = " ", order = 20 },
|
headerAlphaBackgroundBlank = { type = 'header', name = " ", order = 20 },
|
||||||
headerAlphaBackground = {
|
headerAlphaBackground = {
|
||||||
type = 'header',
|
type = 'header',
|
||||||
name = "Background Alpha",
|
name = "Background Alpha",
|
||||||
order = 20
|
order = 20
|
||||||
},
|
},
|
||||||
|
|
||||||
alphaicbg = {
|
alphaicbg = {
|
||||||
type = 'range',
|
type = 'range',
|
||||||
name = 'BG Alpha IC',
|
name = 'BG Alpha IC',
|
||||||
@ -182,7 +182,7 @@ IceHUD.options =
|
|||||||
isPercent = true,
|
isPercent = true,
|
||||||
order = 21,
|
order = 21,
|
||||||
},
|
},
|
||||||
|
|
||||||
alphaoocbg = {
|
alphaoocbg = {
|
||||||
type = 'range',
|
type = 'range',
|
||||||
name = 'BG Alpha OOC',
|
name = 'BG Alpha OOC',
|
||||||
@ -199,7 +199,7 @@ IceHUD.options =
|
|||||||
isPercent = true,
|
isPercent = true,
|
||||||
order = 22,
|
order = 22,
|
||||||
},
|
},
|
||||||
|
|
||||||
alphaTargetbg = {
|
alphaTargetbg = {
|
||||||
type = 'range',
|
type = 'range',
|
||||||
name = 'BG Alpha OOC and Target or not Full',
|
name = 'BG Alpha OOC and Target or not Full',
|
||||||
@ -216,15 +216,15 @@ IceHUD.options =
|
|||||||
isPercent = true,
|
isPercent = true,
|
||||||
order = 23,
|
order = 23,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
headerBarAdvancedBlank = { type = 'header', name = " ", order = 30 },
|
headerBarAdvancedBlank = { type = 'header', name = " ", order = 30 },
|
||||||
headerBarAdvanced = {
|
headerBarAdvanced = {
|
||||||
type = 'header',
|
type = 'header',
|
||||||
name = "Other",
|
name = "Other",
|
||||||
order = 30
|
order = 30
|
||||||
},
|
},
|
||||||
|
|
||||||
backgroundToggle = {
|
backgroundToggle = {
|
||||||
type = "toggle",
|
type = "toggle",
|
||||||
name = "Contextual Background",
|
name = "Contextual Background",
|
||||||
@ -237,7 +237,7 @@ IceHUD.options =
|
|||||||
end,
|
end,
|
||||||
order = 31
|
order = 31
|
||||||
},
|
},
|
||||||
|
|
||||||
backgroundColor = {
|
backgroundColor = {
|
||||||
type = 'color',
|
type = 'color',
|
||||||
name = 'Background Color',
|
name = 'Background Color',
|
||||||
@ -252,8 +252,8 @@ IceHUD.options =
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
textSettings = {
|
textSettings = {
|
||||||
type = 'text',
|
type = 'text',
|
||||||
name = 'Font',
|
name = 'Font',
|
||||||
@ -451,6 +451,18 @@ IceHUD.options =
|
|||||||
order = 94
|
order = 94
|
||||||
},
|
},
|
||||||
|
|
||||||
|
configMode = {
|
||||||
|
type = 'toggle',
|
||||||
|
name = '|cffff0000Configuration Mode|r',
|
||||||
|
desc = 'Puts IceHUD into configuration mode so bars can be placed more easily',
|
||||||
|
get = function()
|
||||||
|
return IceHUD.IceCore:IsInConfigMode()
|
||||||
|
end,
|
||||||
|
set = function(value)
|
||||||
|
IceHUD.IceCore:ConfigModeToggle(value)
|
||||||
|
end,
|
||||||
|
order = 95
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -142,7 +142,7 @@ function ComboPoints.prototype:CreateFrame()
|
|||||||
self.frame:ClearAllPoints()
|
self.frame:ClearAllPoints()
|
||||||
self.frame:SetPoint("TOP", self.parent, "BOTTOM", 0, self.moduleSettings.vpos)
|
self.frame:SetPoint("TOP", self.parent, "BOTTOM", 0, self.moduleSettings.vpos)
|
||||||
|
|
||||||
self.frame:Show()
|
self:Show(true)
|
||||||
|
|
||||||
self:CreateComboFrame()
|
self:CreateComboFrame()
|
||||||
end
|
end
|
||||||
|
@ -150,10 +150,10 @@ function DruidMana.prototype:Update()
|
|||||||
local forms = (UnitPowerType(self.unit) ~= 0)
|
local forms = (UnitPowerType(self.unit) ~= 0)
|
||||||
|
|
||||||
if (not self.alive or not forms or not self.druidMana or not self.druidManaMax) then
|
if (not self.alive or not forms or not self.druidMana or not self.druidManaMax) then
|
||||||
self.frame:Hide()
|
self:Show(false)
|
||||||
return
|
return
|
||||||
else
|
else
|
||||||
self.frame:Show()
|
self:Show(true)
|
||||||
end
|
end
|
||||||
|
|
||||||
self:UpdateBar(self.druidMana / self.druidManaMax, "DruidMana")
|
self:UpdateBar(self.druidMana / self.druidManaMax, "DruidMana")
|
||||||
|
@ -46,7 +46,7 @@ function MirrorBar.prototype:Enable(core)
|
|||||||
self.frame.bottomUpperText:SetWidth(200)
|
self.frame.bottomUpperText:SetWidth(200)
|
||||||
self.frame.bottomLowerText:SetWidth(200)
|
self.frame.bottomLowerText:SetWidth(200)
|
||||||
|
|
||||||
self.frame:Hide()
|
self:Show(false)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
@ -55,7 +55,7 @@ function MirrorBar.prototype:Create(parent)
|
|||||||
MirrorBar.super.prototype.Create(self, parent)
|
MirrorBar.super.prototype.Create(self, parent)
|
||||||
|
|
||||||
if (self.timer) then
|
if (self.timer) then
|
||||||
self.frame:Show()
|
self:Show(true)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -114,14 +114,14 @@ function MirrorBar.prototype:MirrorStart(timer, value, maxValue, scale, paused,
|
|||||||
self.startTime = GetTime()
|
self.startTime = GetTime()
|
||||||
|
|
||||||
self:Update()
|
self:Update()
|
||||||
self.frame:Show()
|
self:Show(true)
|
||||||
self.frame:SetScript("OnUpdate", function() self:OnUpdate(arg1) end)
|
self.frame:SetScript("OnUpdate", function() self:OnUpdate(arg1) end)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
function MirrorBar.prototype:MirrorStop()
|
function MirrorBar.prototype:MirrorStop()
|
||||||
self:CleanUp()
|
self:CleanUp()
|
||||||
self.frame:Hide()
|
self:Show(false)
|
||||||
self.frame:SetScript("OnUpdate", nil)
|
self.frame:SetScript("OnUpdate", nil)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -78,11 +78,11 @@ end
|
|||||||
|
|
||||||
function PetHealth.prototype:CheckPet()
|
function PetHealth.prototype:CheckPet()
|
||||||
if (UnitExists(self.unit)) then
|
if (UnitExists(self.unit)) then
|
||||||
self.frame:Show()
|
self:Show(true)
|
||||||
self:PetHappiness(self.unit)
|
self:PetHappiness(self.unit)
|
||||||
self:Update(self.unit)
|
self:Update(self.unit)
|
||||||
else
|
else
|
||||||
self.frame:Hide()
|
self:Show(false)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -73,10 +73,10 @@ end
|
|||||||
|
|
||||||
function PetMana.prototype:CheckPet()
|
function PetMana.prototype:CheckPet()
|
||||||
if (UnitExists(self.unit)) then
|
if (UnitExists(self.unit)) then
|
||||||
self.frame:Show()
|
self:Show(true)
|
||||||
self:Update(self.unit)
|
self:Update(self.unit)
|
||||||
else
|
else
|
||||||
self.frame:Hide()
|
self:Show(false)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -98,10 +98,10 @@ function PetMana.prototype:Update(unit)
|
|||||||
end
|
end
|
||||||
|
|
||||||
if ((not UnitExists(unit)) or (self.maxMana == 0)) then
|
if ((not UnitExists(unit)) or (self.maxMana == 0)) then
|
||||||
self.frame:Hide()
|
self:Show(false)
|
||||||
return
|
return
|
||||||
else
|
else
|
||||||
self.frame:Show()
|
self:Show(true)
|
||||||
end
|
end
|
||||||
|
|
||||||
local color = "PetMana"
|
local color = "PetMana"
|
||||||
|
@ -143,7 +143,7 @@ function SunderCount.prototype:CreateFrame()
|
|||||||
self.frame:ClearAllPoints()
|
self.frame:ClearAllPoints()
|
||||||
self.frame:SetPoint("TOP", self.parent, "BOTTOM", 0, self.moduleSettings.vpos)
|
self.frame:SetPoint("TOP", self.parent, "BOTTOM", 0, self.moduleSettings.vpos)
|
||||||
|
|
||||||
self.frame:Show()
|
self:Show(true)
|
||||||
|
|
||||||
self:CreateSunderFrame()
|
self:CreateSunderFrame()
|
||||||
end
|
end
|
||||||
|
@ -260,10 +260,10 @@ function TargetHealth.prototype:Update(unit)
|
|||||||
end
|
end
|
||||||
|
|
||||||
if not (UnitExists(unit)) then
|
if not (UnitExists(unit)) then
|
||||||
self.frame:Hide()
|
self:Show(false)
|
||||||
return
|
return
|
||||||
else
|
else
|
||||||
self.frame:Show()
|
self:Show(true)
|
||||||
end
|
end
|
||||||
|
|
||||||
self:UpdateRaidTargetIcon()
|
self:UpdateRaidTargetIcon()
|
||||||
|
@ -52,10 +52,10 @@ function TargetMana.prototype:Update(unit)
|
|||||||
end
|
end
|
||||||
|
|
||||||
if ((not UnitExists(unit)) or (self.maxMana == 0)) then
|
if ((not UnitExists(unit)) or (self.maxMana == 0)) then
|
||||||
self.frame:Hide()
|
self:Show(false)
|
||||||
return
|
return
|
||||||
else
|
else
|
||||||
self.frame:Show()
|
self:Show(true)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user