コード例 #1
0
    private bool IsAliveAnimation()
    {
        GameObject rootInstanceEffect = NcEffectBehaviour.GetRootInstanceEffect();

        Transform[] componentsInChildren = rootInstanceEffect.GetComponentsInChildren <Transform>(true);
        Transform[] array = componentsInChildren;
        for (int i = 0; i < array.Length; i++)
        {
            Transform           transform  = array[i];
            int                 num        = -1;
            int                 num2       = -1;
            bool                flag       = false;
            NcEffectBehaviour[] components = transform.GetComponents <NcEffectBehaviour>();
            NcEffectBehaviour[] array2     = components;
            for (int j = 0; j < array2.Length; j++)
            {
                NcEffectBehaviour ncEffectBehaviour = array2[j];
                int animationState = ncEffectBehaviour.GetAnimationState();
                if (animationState != 0)
                {
                    if (animationState == 1)
                    {
                        num = 1;
                    }
                }
                else
                {
                    num = 0;
                }
            }
            if (transform.particleSystem != null)
            {
                num2 = 0;
                if (NgObject.IsActive(transform.gameObject) && ((transform.particleSystem.enableEmission && transform.particleSystem.IsAlive()) || 0 < transform.particleSystem.particleCount))
                {
                    num2 = 1;
                }
            }
            if (num2 < 1 && transform.particleEmitter != null)
            {
                num2 = 0;
                if (NgObject.IsActive(transform.gameObject) && (transform.particleEmitter.emit || 0 < transform.particleEmitter.particleCount))
                {
                    num2 = 1;
                }
            }
            if (transform.renderer != null && transform.renderer.enabled && NgObject.IsActive(transform.gameObject))
            {
                flag = true;
            }
            if (0 < num)
            {
                return(true);
            }
            if (num2 == 1)
            {
                return(true);
            }
            if (flag && (transform.GetComponent <MeshFilter>() != null || transform.GetComponent <TrailRenderer>() != null || transform.GetComponent <LineRenderer>() != null))
            {
                return(true);
            }
        }
        return(false);
    }