private void OnDestroy()
    {
        BackEffect();

        m_current          = null;
        m_realtimeParticle = null;
        onLoaded           = null;
    }
    private void UpdateEffectLayers()
    {
        if (!m_current)
        {
            return;
        }

        Util.AddChild(transform, m_current.transform);
        m_current.name = m_effectName;
        m_current.gameObject.SetActive(true);
        Util.SetEffectSortingLayer(m_current, m_sortingLayer, m_sortingOrder);

        if (!m_realtimeParticle && m_realtime)
        {
            m_realtimeParticle = this.GetComponentDefault <RealtimeParticle>();
        }
        if (m_realtimeParticle)
        {
            m_realtimeParticle.SetRealtime(m_realtime);
        }
    }