- WIP version of optionally hiding TargetOfTarget modules if the player is the active target. everything seems to work except for TargetOfTargetHealth and I'm not quite sure why yet...need to check it out further

This commit is contained in:
Parnic
2010-07-19 19:30:43 +00:00
parent 1ce2c37e96
commit 0a73b2883e
3 changed files with 92 additions and 11 deletions

View File

@ -2,6 +2,8 @@ local AceOO = AceLibrary("AceOO-2.0")
local TargetTargetCast = AceOO.Class(IceCastBar) local TargetTargetCast = AceOO.Class(IceCastBar)
local SelfDisplayModeOptions = {"Hide", "Normal"}
-- Constructor -- -- Constructor --
function TargetTargetCast.prototype:init() function TargetTargetCast.prototype:init()
TargetTargetCast.super.prototype.init(self, "TargetTargetCast") TargetTargetCast.super.prototype.init(self, "TargetTargetCast")
@ -25,6 +27,7 @@ function TargetTargetCast.prototype:GetDefaultSettings()
settings["enabled"] = false settings["enabled"] = false
settings["barVerticalOffset"] = 35 settings["barVerticalOffset"] = 35
settings["scale"] = 0.7 settings["scale"] = 0.7
settings["selfDisplayMode"] = "Normal"
return settings return settings
end end
@ -44,6 +47,11 @@ function TargetTargetCast.prototype:UpdateTargetTarget()
return return
end end
if self.moduleSettings.selfDisplayMode == "Hide" and UnitIsUnit("player", self.unit) then
self:StopBar()
return
end
local spell = UnitCastingInfo(self.unit) local spell = UnitCastingInfo(self.unit)
if (spell) then if (spell) then
self:StartBar(IceCastBar.Actions.Cast) self:StartBar(IceCastBar.Actions.Cast)
@ -130,6 +138,24 @@ function TargetTargetCast.prototype:GetOptions()
order = 29 order = 29
} }
opts["selfDisplayMode"] = {
type = "text",
name = "Self Display Mode",
desc = "What this bar should do whenever the player is the TargetOfTarget",
get = function()
return self.moduleSettings.selfDisplayMode
end,
set = function(value)
self.moduleSettings.selfDisplayMode = value
self:Redraw()
end,
disabled = function()
return not self.moduleSettings.enabled
end,
validate = SelfDisplayModeOptions,
order = 44,
}
return opts return opts
end end

View File

@ -2,6 +2,8 @@ local AceOO = AceLibrary("AceOO-2.0")
local TargetTargetHealth = AceOO.Class(IceTargetHealth) local TargetTargetHealth = AceOO.Class(IceTargetHealth)
local SelfDisplayModeOptions = {"Color as SelfColor", "Hide", "Normal"}
-- Constructor -- -- Constructor --
function TargetTargetHealth.prototype:init() function TargetTargetHealth.prototype:init()
@ -20,7 +22,7 @@ function TargetTargetHealth.prototype:GetDefaultSettings()
settings["offset"] = 12 settings["offset"] = 12
settings["classColor"] = false settings["classColor"] = false
settings["selfColor"] = { r = 0, g = 0, b = 1 } settings["selfColor"] = { r = 0, g = 0, b = 1 }
settings["useSelfColor"] = true settings["selfDisplayMode"] = "Color as SelfColor"
settings["upperText"] = "[PercentHP:Round]" settings["upperText"] = "[PercentHP:Round]"
settings["lowerText"] = "[(HP:Round \"/\" MaxHP:Round):HPColor:Bracket]" settings["lowerText"] = "[(HP:Round \"/\" MaxHP:Round):HPColor:Bracket]"
settings["barVerticalOffset"] = 35 settings["barVerticalOffset"] = 35
@ -38,19 +40,21 @@ function TargetTargetHealth.prototype:GetOptions()
opts["hideBlizz"] = nil opts["hideBlizz"] = nil
opts["useSelfColor"] = { opts["selfDisplayMode"] = {
type = "toggle", type = "text",
name = "Use Self Color", name = "Self Display Mode",
desc = "Whether or not to use the self color.", desc = "What this bar should do whenever the player is the TargetOfTarget",
get = function() get = function()
return self.moduleSettings.useSelfColor return self.moduleSettings.selfDisplayMode
end, end,
set = function(value) set = function(value)
self.moduleSettings.useSelfColor = value self.moduleSettings.selfDisplayMode = value
self:Redraw()
end, end,
disabled = function() disabled = function()
return not self.moduleSettings.enabled return not self.moduleSettings.enabled
end, end,
validate = SelfDisplayModeOptions,
order = 44, order = 44,
} }
@ -66,7 +70,7 @@ function TargetTargetHealth.prototype:GetOptions()
IceHUD.IceCore:SetColor("SelfColor", r, g, b) IceHUD.IceCore:SetColor("SelfColor", r, g, b)
end, end,
disabled = function() disabled = function()
return not self.moduleSettings.enabled or not self.moduleSettings.useSelfColor return not self.moduleSettings.enabled or self.moduleSettings.selfDisplayMode ~= "Color as SelfColor"
end, end,
hasAlpha = false, hasAlpha = false,
order = 45, order = 45,
@ -80,6 +84,16 @@ function TargetTargetHealth.prototype:Enable(core)
self.registerEvents = false self.registerEvents = false
TargetTargetHealth.super.prototype.Enable(self, core) TargetTargetHealth.super.prototype.Enable(self, core)
if self.moduleSettings.useSelfColor ~= nil then
if self.moduleSettings.useSelfColor == true then
self.moduleSettings.selfDisplayMode = "Color as SelfColor"
else
self.moduleSettings.selfDisplayMode = "Normal"
end
self.moduleSettings.useSelfColor = nil
end
self:ScheduleRepeatingEvent(self.elementName, self.Update, 0.1, self, "targettarget") self:ScheduleRepeatingEvent(self.elementName, self.Update, 0.1, self, "targettarget")
end end
@ -92,7 +106,7 @@ end
function TargetTargetHealth.prototype:Update(unit) function TargetTargetHealth.prototype:Update(unit)
self.color = "TargetTargetHealthFriendly" -- friendly > 4 self.color = "TargetTargetHealthFriendly" -- friendly > 4
local reaction = UnitReaction("targettarget", "player") local reaction = UnitReaction(self.unit, "player")
if (reaction and (reaction == 4)) then if (reaction and (reaction == 4)) then
self.color = "TargetTargetHealthNeutral" self.color = "TargetTargetHealthNeutral"
@ -112,9 +126,16 @@ function TargetTargetHealth.prototype:Update(unit)
self.color = "Tapped" self.color = "Tapped"
end end
if UnitIsUnit("player", "targettarget") and self.moduleSettings.useSelfColor then if UnitIsUnit("player", self.unit) then
if self.moduleSettings.selfDisplayMode == "Color as SelfColor" then
self.color = "SelfColor" self.color = "SelfColor"
elseif self.moduleSettings.selfDisplayMode == "Hide" then
self:Show(false)
return
end end
end
self:Show(true)
self.determineColor = false self.determineColor = false
TargetTargetHealth.super.prototype.Update(self, unit) TargetTargetHealth.super.prototype.Update(self, unit)

View File

@ -2,6 +2,8 @@ local AceOO = AceLibrary("AceOO-2.0")
local TargetTargetMana = AceOO.Class(IceTargetMana) local TargetTargetMana = AceOO.Class(IceTargetMana)
local SelfDisplayModeOptions = {"Hide", "Normal"}
-- Constructor -- -- Constructor --
function TargetTargetMana.prototype:init() function TargetTargetMana.prototype:init()
TargetTargetMana.super.prototype.init(self, "TargetTargetMana", "targettarget") TargetTargetMana.super.prototype.init(self, "TargetTargetMana", "targettarget")
@ -23,10 +25,35 @@ function TargetTargetMana.prototype:GetDefaultSettings()
settings["barVerticalOffset"] = 35 settings["barVerticalOffset"] = 35
settings["scale"] = 0.7 settings["scale"] = 0.7
settings["enabled"] = false settings["enabled"] = false
settings["selfDisplayMode"] = "Normal"
return settings return settings
end end
function TargetTargetMana.prototype:GetOptions()
local opts = TargetTargetMana.super.prototype.GetOptions(self)
opts["selfDisplayMode"] = {
type = "text",
name = "Self Display Mode",
desc = "What this bar should do whenever the player is the TargetOfTarget",
get = function()
return self.moduleSettings.selfDisplayMode
end,
set = function(value)
self.moduleSettings.selfDisplayMode = value
self:Redraw()
end,
disabled = function()
return not self.moduleSettings.enabled
end,
validate = SelfDisplayModeOptions,
order = 44,
}
return opts
end
function TargetTargetMana.prototype:Enable(core) function TargetTargetMana.prototype:Enable(core)
self.registerEvents = false self.registerEvents = false
-- make sure the super class doesn't override our color selection -- make sure the super class doesn't override our color selection
@ -45,6 +72,13 @@ end
function TargetTargetMana.prototype:Update(unit) function TargetTargetMana.prototype:Update(unit)
self.color = "TargetTargetMana" self.color = "TargetTargetMana"
if self.moduleSettings.selfDisplayMode == "Hide" and UnitIsUnit("player", self.unit) then
self:Show(false)
return
end
self:Show(true)
local manaType = UnitPowerType(self.unit) local manaType = UnitPowerType(self.unit)
if (self.moduleSettings.scaleManaColor) then if (self.moduleSettings.scaleManaColor) then