Пример #1
0
        private void ReplaceLoop(ActiveParticleLoop oldLoop, ActiveParticleLoop newLoopData)
        {
            if (!_particleSystems.ContainsKey(newLoopData.EffectName))
            {
                AddNewSytem(newLoopData.EffectName);
            }

            oldLoop.EffectName   = newLoopData.EffectName;
            oldLoop.Location     = newLoopData.Location;
            oldLoop.EmitModifier = newLoopData.EmitModifier;
            oldLoop.Tint         = newLoopData.Tint;
        }
Пример #2
0
        public ParticleLoopToken Loop(ActiveParticleLoop loopData)
        {
            if (!_particleSystems.ContainsKey(loopData.EffectName))
            {
                AddNewSytem(loopData.EffectName);
            }

            _loops.Add(loopData);

            return(new ParticleLoopToken
            {
                End = () => RemoveLoop(loopData),
                Replace = newLoopData => ReplaceLoop(loopData, newLoopData)
            });
        }
Пример #3
0
 private void RemoveLoop(ActiveParticleLoop loop)
 {
     _loops.Remove(loop);
 }