local FADE_IN_ALPHA = 1 |
local FADE_IN_DELAY = 0.1 |
local FADE_IN_DURATION = 0.2 |
local MIN_ALPHA = 0.4 |
local MAX_ALPHA = 1 |
|
local FADE_OUT_ALPHA = 0.4 |
local FADE_OUT_DELAY = 0.2 |
local FADE_OUT_DURATION = 0.4 |
local hasMouseFocus = false |
|
local GetMouseFocus = GetMouseFocus |
local WorldFrame = WorldFrame |
|
local fadeGroup = WatchFrame:CreateAnimationGroup() |
local fadeAnim = fadeGroup:CreateAnimation("Alpha") |
fadeGroup:SetLooping("NONE") |
fadeGroup:SetScript("OnFinished", function(self) WatchFrame:SetAlpha(self.targetAlpha) end) |
WatchFrame:SetAlpha(FADE_OUT_ALPHA) |
WatchFrame:SetAlpha(MIN_ALPHA) |
|
local fadeIn = WatchFrame:CreateAnimationGroup() |
fadeIn:SetScript("OnFinished", function(self) WatchFrame:SetAlpha(MAX_ALPHA) end) |
fadeIn.anim = fadeIn:CreateAnimation("Alpha") |
fadeIn.anim:SetChange(MAX_ALPHA - MIN_ALPHA) |
fadeIn.anim:SetDuration(0.2) |
fadeIn.anim:SetStartDelay(0.1) |
fadeIn.anim:SetSmoothing("OUT") |
WatchFrame.FadeInAnimation = fadeIn |
|
local fadeOut = WatchFrame:CreateAnimationGroup() |
fadeOut:SetScript("OnFinished", function(self) WatchFrame:SetAlpha(MIN_ALPHA) end) |
fadeOut.anim = fadeOut:CreateAnimation("Alpha") |
fadeOut.anim:SetChange(MIN_ALPHA - MAX_ALPHA) |
fadeOut.anim:SetDuration(0.4) |
fadeOut.anim:SetStartDelay(0.2) |
fadeOut.anim:SetSmoothing("IN") |
WatchFrame.FadeOutAnimation = fadeOut |
|
local descendants = setmetatable({}, { __index = function(t, f) |
local parent = f:GetParent() |
while parent do |