2025-06-04 05:02:57 +08:00

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