public static void AddParticleEffect(MyParticleEffect effect)
        {
            MyParticleEffect oldEffect;
            if (m_libraryEffectsString.TryGetValue(effect.Name, out oldEffect) || m_libraryEffects.TryGetValue(effect.ID, out oldEffect))
                return; //We dont want replace effects if they may be shown in editor
                //RemoveParticleEffect(oldEffect.ID);

            m_libraryEffects.Add(effect.GetID(), effect);
            m_libraryEffectsString[effect.Name] = effect;
        }
Exemplo n.º 2
0
 static public void RemoveParticleEffectInstance(MyParticleEffect effect)
 {
     effect.Close(false);
     //if (effect.Enabled)
     if (m_libraryEffects.ContainsKey(effect.GetID()))
     {
         var instances = m_libraryEffects[effect.GetID()].GetInstances();
         if (instances != null)
         {
             if (instances.Contains(effect))
             {
                 MyParticlesManager.EffectsPool.Deallocate(effect);
                 m_libraryEffects[effect.GetID()].RemoveInstance(effect);
             }
             else
             {
                 System.Diagnostics.Debug.Assert(false, "Effect deleted twice!");
             }
         }
     }
 }
        public static void AddParticleEffect(MyParticleEffect effect)
        {
            MyParticleEffect oldEffect;

            if (m_libraryEffectsString.TryGetValue(effect.Name, out oldEffect) || m_libraryEffects.TryGetValue(effect.ID, out oldEffect))
            {
                return; //We dont want replace effects if they may be shown in editor
            }
            //RemoveParticleEffect(oldEffect.ID);

            m_libraryEffects.Add(effect.GetID(), effect);
            m_libraryEffectsString[effect.Name] = effect;
        }
 public static void RemoveParticleEffect(MyParticleEffect effect)
 {
     RemoveParticleEffect(effect.GetID());
 }
 public static void AddParticleEffect(MyParticleEffect effect)
 {
     m_libraryEffects.Add(effect.GetID(), effect);
     m_libraryEffectsString[effect.Name] = effect;
 }
        static public void RemoveParticleEffectInstance(MyParticleEffect effect)
        {
            effect.Close(false);
            //if (effect.Enabled)
            if (m_libraryEffects.ContainsKey(effect.GetID()))
            {
                var instances = m_libraryEffects[effect.GetID()].GetInstances();
                if (instances != null)
                {
                    if (instances.Contains(effect))
                    {
                        MyParticlesManager.EffectsPool.Deallocate(effect);
                        m_libraryEffects[effect.GetID()].RemoveInstance(effect);
                    }
                    else
                    {
                        System.Diagnostics.Debug.Assert(false, "Effect deleted twice!");

                    }
                }
            }
        }
Exemplo n.º 7
0
 public static void AddParticleEffect(MyParticleEffect effect)
 {
     m_libraryEffects.Add(effect.GetID(), effect);
     m_libraryEffectsString[effect.Name] = effect;
 }
Exemplo n.º 8
0
 public static void RemoveParticleEffect(MyParticleEffect effect)
 {
     RemoveParticleEffect(effect.GetID());
 }