
.namespace Blinker

--on peut faire blinker n'importe quelle unit
function Launch(ut,time,nb,utnotify)
	
	timer=Load(ut.Name..'BlinkerTimer','BlinkerTimer',true)
    if (timer== nil) then
        timer=OPUnitFactory.CreateUnit('BlinkerTimer')
        timer.Time=time
        timer.Autoplay=false
        timer.Loop=true
        timer.Autodisable=false
        timer.Name=ut.Name..'BlinkerTimer'
        timer.Enabled=false
    end
	
	timer.Enabled=true
    timer.SetVar(ut,time,nb,utnotify)
	
	return timer
end

function StopBlink(ut)
	local timer = Load(ut.Name..'BlinkerTimer',"BlinkerTimer",true)
	if not timer== nil then
		-- on appelle la fin du timer qui appelle la fin du blink ...
		timer.Finish()
		OPUnitFactory.CloseUnit(timer)
		Show(ut)
	end
end

function StopAllBlink()
	local function StopOneBlink(ut)
		if string.find(ut.Name,"BlinkerTimer") then
			ut.Finish()
		end
	end
	
	ApplyToClass("BlinkerTimer",StopOneBlink)
end

