UnitFrameTweaks = {} |
end |
|
local Portfolio = LibStub and LibStub("Portfolio") |
if not Portfolio then return end |
|
local optionTable = { |
id = "UnitFrameTweaks", |
id = "UnitFrameTweaks"; |
options = { |
{ |
id = "HealthColor", |
tvar = "HealthColor", |
text = "Health Bar Color Change", |
tooltipText = "Healthbar changes color as it decreases.", |
type = CONTROLTYPE_CHECKBOX, |
defaultValue = "1", |
}, |
id = "HealthColor"; |
text = "Health Bar Color Change"; |
tooltipText = "Healthbar changes color as it decreases."; |
type = CONTROLTYPE_CHECKBOX; |
defaultValue = "1"; |
}; |
{ |
id = "ClassPortraits", |
tvar = "ClassPortraits", |
text = "Class Portraits", |
tooltipText = "Replace unit portraits with class icons when applicable.", |
type = CONTROLTYPE_CHECKBOX, |
defaultValue = "0", |
callback = UnitFrameTweaks.UpdateClassPortraits, |
}, |
id = "ClassPortraits"; |
text = "Class Portraits"; |
tooltipText = "Replace unit portraits with class icons when applicable."; |
type = CONTROLTYPE_CHECKBOX; |
defaultValue = "0"; |
callback = UnitFrameTweaks.UpdateClassPortraits; |
}; |
{ |
id = "ClassIcons", |
tvar = "ClassIcons", |
text = "Class Icons", |
tooltipText = "Adds class icons to the target and party member frames.", |
type = CONTROLTYPE_CHECKBOX, |
defaultValue = "0", |
callback = UnitFrameTweaks.UpdateClassIcons, |
}, |
id = "ClassIcons"; |
text = "Class Icons"; |
tooltipText = "Adds class icons to the target and party member frames."; |
type = CONTROLTYPE_CHECKBOX; |
defaultValue = "0"; |
callback = UnitFrameTweaks.UpdateClassIcons; |
}; |
{ |
id = "HitIndicators", |
text = "Hit Indicators", |
subText = "Toggle the hit indicators on the unit frame portraits.", |
type = CONTROLTYPE_HEADER, |
}, |
id = "HitIndicators"; |
text = "Hit Indicators"; |
subText = "Toggle the hit indicators on the unit frame portraits."; |
type = CONTROLTYPE_HEADER; |
}; |
{ |
id = "PlayerHitIndicator", |
tvar = "PlayerHitIndicator", |
text = "Player", |
tooltipText = "Toggles the hit indicator on the player portrait.", |
type = CONTROLTYPE_CHECKBOX, |
defaultValue = "1", |
callback = UnitFrameTweaks.UpdatePlayerHitIndicatorStatus, |
point = {nil, nil, nil, nil, 0}, |
}, |
id = "PlayerHitIndicator"; |
text = "Player"; |
tooltipText = "Toggles the hit indicator on the player portrait."; |
type = CONTROLTYPE_CHECKBOX; |
defaultValue = "1"; |
callback = UnitFrameTweaks.UpdatePlayerHitIndicatorStatus; |
point = {nil, nil, nil, nil, 0}; |
}; |
{ |
id = "TargetHitIndicator", |
tvar = "TargetHitIndicator", |
text = "Target", |
tooltipText = "Toggles the hit indicator on the target portrait.", |
type = CONTROLTYPE_CHECKBOX, |
defaultValue = "0", |
callback = UnitFrameTweaks.UpdateTargetHitIndicatorStatus, |
point = {"TOPLEFT", "PlayerHitIndicator", "TOPRIGHT", 100, 0}, |
}, |
id = "TargetHitIndicator"; |
text = "Target"; |
tooltipText = "Toggles the hit indicator on the target portrait."; |
type = CONTROLTYPE_CHECKBOX; |
defaultValue = "0"; |
callback = UnitFrameTweaks.UpdateTargetHitIndicatorStatus; |
point = {"TOPLEFT", "PlayerHitIndicator", "TOPRIGHT", 100, 0}; |
}; |
{ |
id = "PartyHitIndicator", |
tvar = "PartyHitIndicator", |
text = "Party", |
tooltipText = "Toggles the hit indicator on the party portraits.", |
type = CONTROLTYPE_CHECKBOX, |
defaultValue = "0", |
callback = UnitFrameTweaks.UpdatePartyHitIndicatorStatus, |
point = {"TOPLEFT", "TargetHitIndicator", "TOPRIGHT", 100, 0}, |
}, |
}, |
savedVarTable = "UnitFrameTweaks_SavedVars", |
id = "PartyHitIndicator"; |
text = "Party"; |
tooltipText = "Toggles the hit indicator on the party portraits."; |
type = CONTROLTYPE_CHECKBOX; |
defaultValue = "0"; |
callback = UnitFrameTweaks.UpdatePartyHitIndicatorStatus; |
point = {"TOPLEFT", "TargetHitIndicator", "TOPRIGHT", 100, 0}; |
}; |
}; |
savedVarTable = "UnitFrameTweaks_SavedVars"; |
} |
|
Portfolio.RegisterOptionSet(optionTable) |
|
-- <= == == == == == == == == == == == == => |
-- => Event Registration |
-- <= == == == == == == == == == == == == => |
|
if (not UnitFrameTweaks.events) then |
UnitFrameTweaks.events = {} |
end |
|
function UnitFrameTweaks.events.VARIABLES_LOADED() |
UnitFrameTweaks.init = false |
end |
|
function UnitFrameTweaks.events.PLAYER_ENTERING_WORLD() |
if (not UnitFrameTweaks.init) then |
UnitFrameTweaks.init = true |
--Portfolio.RegisterOptionSet(optionTable) |
UnitFrameTweaks.UpdateClassIcons(UnitFrameTweaks_SavedVars["ClassIcons"]) |
UnitFrameTweaks.UpdateClassPortraits(UnitFrameTweaks_SavedVars["ClassPortraits"]) |
UnitFrameTweaks.UpdatePlayerHitIndicatorStatus(UnitFrameTweaks_SavedVars["PlayerHitIndicator"]) |
UnitFrameTweaks.UpdateTargetHitIndicatorStatus(UnitFrameTweaks_SavedVars["TargetHitIndicator"]) |
UnitFrameTweaks.UpdatePartyHitIndicatorStatus(UnitFrameTweaks_SavedVars["PartyHitIndicator"]) |
end |
end |
|
-- Event Registration |
if (UnitFrameTweaks.events) then |
local frame = CreateFrame("Frame", "UnitFrameTweaksFrame") |
for event, func in pairs(UnitFrameTweaks.events) do |
frame:RegisterEvent(event) |
end |
frame:SetScript("OnEvent", function(self, event, ...) |
UnitFrameTweaks.events[event](self, event, ...) |
end) |
end |