protected override void OnDestruct()
 {
     if (m_modifiers != null)
     {
         for (int i = 0; i < m_modifiers.Count; ++i)
         {
             DamageModifier.Recycle(m_modifiers[i]);
         }
         m_modifiers.Clear();
     }
 }
 public bool RemoveModifier(int modifier_id)
 {
     if (m_modifiers == null)
     {
         return(false);
     }
     for (int i = 0; i < m_modifiers.Count; ++i)
     {
         if (m_modifiers[i].ID == modifier_id)
         {
             DamageModifier.Recycle(m_modifiers[i]);
             m_modifiers.RemoveAt(i);
             return(true);
         }
     }
     return(false);
 }