59 lines
1.2 KiB
Plaintext
59 lines
1.2 KiB
Plaintext
|
|
EffectManager = class("EffectManager")
|
|
|
|
EffectManager.FilterType = {
|
|
All = 1
|
|
}
|
|
|
|
EffectManager.EffectType = {
|
|
Loop=1,
|
|
OneShot = 2,
|
|
}
|
|
|
|
function EffectManager:ctor()
|
|
self.effects = {}
|
|
self.autoDestroyEffects = {}
|
|
self.isFilter = false
|
|
end
|
|
|
|
function EffectManager:Filter(filterType)
|
|
self.isFilter = true
|
|
--以後做擴充套件,現在預設只處理全部
|
|
for k,autoDestroyEffect in pairs(self.autoDestroyEffects) do
|
|
self.autoDestroyEffects[k] = nil
|
|
autoDestroyEffect:Stop()
|
|
end
|
|
|
|
for k,effect in pairs(self.effects) do
|
|
effect:SetActive(false,Asset_Effect.DeActiveOpt.Filter)
|
|
end
|
|
end
|
|
|
|
function EffectManager:UnFilter(filterType)
|
|
self.isFilter = false
|
|
for k,effect in pairs(self.effects) do
|
|
effect:SetActive(true,Asset_Effect.DeActiveOpt.Filter)
|
|
end
|
|
end
|
|
|
|
function EffectManager:IsFiltered()
|
|
return self.isFilter
|
|
end
|
|
|
|
function EffectManager:RegisterEffect( effect ,autoDestroy)
|
|
if(effect~=nil) then
|
|
if(autoDestroy) then
|
|
self.effects[effect.id] = nil
|
|
self.autoDestroyEffects[effect.id] = effect
|
|
else
|
|
self.effects[effect.id] = effect
|
|
end
|
|
end
|
|
end
|
|
|
|
function EffectManager:UnRegisterEffect( effect )
|
|
if(effect~=nil) then
|
|
self.effects[effect.id] = nil
|
|
self.autoDestroyEffects[effect.id] = nil
|
|
end
|
|
end |