yyl
5 天以前 bf526fbe50b127665dd89587884d74aff2a0240e
125 战斗 子弹目标包含自己时,隐藏这个以自己为目标的单个子弹
2个文件已修改
49 ■■■■■ 已修改文件
Main/Component/UI/Effect/BattleEffectPlayer.cs 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Battle/SkillEffect/BulletSkillEffect.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
Main/System/Battle/SkillEffect/BulletSkillEffect.cs
@@ -329,6 +329,10 @@
    {
        BattleEffectPlayer effectPlayer = caster.battleField.battleEffectMgr.PlayEffect(caster, skillConfig.BulletEffectId, caster.heroRectTrans, caster.Camp);
        bool shotToSelf = target.ObjID == caster.ObjID;
        effectPlayer.Alpha = shotToSelf ? 0f : 1f;
        var tempOrder = order;
        var bulletCurve = BulletCurveFactory.CreateBulletCurve(caster, skillConfig, effectPlayer, target.heroRectTrans,
@@ -370,6 +374,10 @@
    {
        BattleEffectPlayer effectPlayer = caster.battleField.battleEffectMgr.PlayEffect(caster, skillConfig.BulletEffectId, caster.heroRectTrans, caster.Camp);
        bool shotToSelf = target.ObjID == caster.ObjID;
        effectPlayer.Alpha = shotToSelf ? 0f : 1f;
        var bulletCurve = BulletCurveFactory.CreateBulletCurve(caster, skillConfig, effectPlayer, target.heroRectTrans, tagUseSkillAttack.HurtList.ToList(), bulletIndex, (index, hitList) =>
        {
            foreach (var hurt in hitList)