using System.Collections.Generic; using Gameplay.Effect; using UnityEngine; namespace Gameplay.Pause { public class DataEffectPauser { public EffectPlayingData effectData; public readonly List animPausers; public readonly List particalPauser; public DataEffectPauser(EffectPlayingData effectData) { this.effectData = effectData; animPausers = new List(); particalPauser = new List(); // 找到动画 var anims = effectData.rootObj.GetComponentsInChildren(); for (var i = 0; i < anims.Length; ++i) { var anim = anims[i]; var pauser = new AnimatorPauser(anim); pauser.owner = effectData.owner; pauser.isEffect = true; animPausers.Add(pauser); } // 找到粒子特效 var particals = effectData.rootObj.GetComponentsInChildren(); for (var i = 0; i < particals.Length; ++i) { var partical = particals[i]; var pauser = new ParticalPauser(partical); pauser.owner = effectData.owner; pauser.isEffect = true; particalPauser.Add(pauser); } } } }