yyl
9 天以前 bf526fbe50b127665dd89587884d74aff2a0240e
Main/Component/UI/Effect/BattleEffectPlayer.cs
@@ -35,6 +35,44 @@
    public float speedRate = 1.5f;
    private float m_Alpha = 1f;
    public float Alpha
    {
        get
        {
            return m_Alpha;
        }
        set
        {
            if (value == m_Alpha)
                return;
            m_Alpha = value;
            OnAlphaChanged();
        }
    }
    private void OnAlphaChanged()
    {
        if (spineComp != null)
        {
            var skeleton = spineComp.Skeleton;
            skeleton.A = Alpha;
            spineComp.LateUpdate();
        }
        for (int i = 0; i < rendererList.Count; i++)
        {
            var renderer = rendererList[i];
            if (renderer != null && renderer.material != null && renderer.material.HasProperty("_Color"))
            {
                Color color = renderer.material.color;
                color.a = Alpha;
                renderer.material.color = color;
            }
        }
    }
    [Header("播放完毕立即回收")]
    public bool isReleaseImmediately = false;  //界面特效一般不需要自我销毁,跟随界面或者父对象销毁就行
@@ -276,6 +314,7 @@
        {
            PlayUnityEffect();
        }
        OnAlphaChanged();
    }
    protected void PlaySpineEffect()
@@ -293,6 +332,8 @@
        spineComp.Initialize(true);
        spineComp.timeScale = speedRate;
        spineComp.skeleton.A = Alpha;
        spineAnimationState = spineComp.state;
        spineAnimationState.Complete -= OnSpineAnimationComplete;
        spineAnimationState.Complete += OnSpineAnimationComplete;