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;
        }
示例#2
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;
        }