Exemplo n.º 1
0
        public MyParticleEffect CreateInstance()
        {
            MyParticleEffect effect = MyParticlesManager.EffectsPool.Allocate();

            effect.Start(m_particleID);

            effect.Name    = Name;
            effect.Enabled = Enabled;
            effect.SetLength(GetLength());
            effect.SetPreload(GetPreload());
            effect.LowRes = LowRes;

            foreach (MyParticleGeneration generation in m_generations)
            {
                MyParticleGeneration gen = generation.CreateInstance(effect);
                if (gen != null)
                {
                    effect.AddGeneration(gen);
                }
            }

            if (m_instances == null)
            {
                m_instances = new List <MyParticleEffect>();
            }

            m_instances.Add(effect);

            return(effect);
        }
Exemplo n.º 2
0
        public MyParticleEffect Duplicate()
        {
            MyParticleEffect effect = MyParticlesManager.EffectsPool.Allocate();

            effect.Start(0);

            effect.Name      = Name;
            effect.m_preload = m_preload;
            effect.m_length  = m_length;

            foreach (MyParticleGeneration generation in m_generations)
            {
                MyParticleGeneration duplicatedGeneration = generation.Duplicate(effect);
                effect.AddGeneration(duplicatedGeneration);
            }

            return(effect);
        }