/// <summary>
        /// Returns an element back to the pool.
        /// </summary>
        /// <param name="rEdge"></param>
        public static void Release(CauseDamage rInstance)
        {
            if (rInstance == null)
            {
                return;
            }

            rInstance.Clear();
            sPool.Release(rInstance);
        }
 /// <summary>
 /// Releases the effect as an allocation
 /// </summary>
 public override void Release()
 {
     CauseDamage.Release(this);
 }
        /// <summary>
        /// Pulls an object from the pool.
        /// </summary>
        /// <returns></returns>
        public static CauseDamage Allocate()
        {
            CauseDamage lInstance = sPool.Allocate();

            return(lInstance);
        }