Code:
local SHINE_FADE_IN = 0.15;
local SHINE_FADE_OUT = 0.15;
local TICK_PERIOD = 0.35;
local ShineFadeOut = function(frame)
local fadeInfo = {};
fadeInfo.mode = "OUT";
fadeInfo.timeToFade = SHINE_FADE_OUT;
fadeInfo.finishedFunc = function(self) self.animating = false end;
fadeInfo.finishedArg1 = frame;
UIFrameFade(frame, fadeInfo);
end
local ShineFadeIn = function(frame)
if not frame.animating then
local fadeInfo = {};
fadeInfo.mode = "IN";
fadeInfo.timeToFade = SHINE_FADE_IN;
fadeInfo.finishedFunc = function(arg1) ShineFadeOut(arg1); end;
fadeInfo.finishedArg1 = frame;
frame.animating = true
UIFrameFade(frame, fadeInfo);
end
end
f.Shine = function(self)
ShineFadeIn(self.shinetex)
end
f.OnUpdate = function (self, time)
self.OnUpdateCounter = (self.OnUpdateCounter or 0) + time
if self.OnUpdateCounter < TICK_PERIOD then return end
self.OnUpdateCounter = 0
self:Shine()
end