public void Destruct()
        {
            EffectManager effect_manager = m_owner_component.GetLogicWorld().GetEffectManager();
            var           enumerator     = m_generators.GetEnumerator();

            while (enumerator.MoveNext())
            {
                effect_manager.DestroyGenerator(enumerator.Current.Key, 0);
            }
            m_generators.Clear();
            m_owner_component = null;
        }
Example #2
0
        public static EffectRegistry GetEffectRegistry(Entity entity)
        {
            if (entity == null)
            {
                return(null);
            }
            EffectManagerComponent cmp = entity.GetComponent(EffectManagerComponent.ID) as EffectManagerComponent;

            if (cmp == null)
            {
                return(null);
            }
            return(cmp.GetEffectRegistry());
        }
Example #3
0
        public void Destruct()
        {
            EffectManager effect_manager = m_owner_component.GetLogicWorld().GetEffectManager();
            var           enumerator1    = m_effects_by_id.GetEnumerator();

            while (enumerator1.MoveNext())
            {
                effect_manager.DestroyObject(enumerator1.Current.Key);
            }
            m_effects_by_id.Clear();

            var enumerator2 = m_effects_by_class.GetEnumerator();

            while (enumerator2.MoveNext())
            {
                enumerator2.Current.Value.Destruct();
            }
            m_effects_by_class.Clear();

            m_owner_component = null;
        }
Example #4
0
 public EffectRegistry(EffectManagerComponent owner_component)
 {
     m_owner_component = owner_component;
 }