From bf526fbe50b127665dd89587884d74aff2a0240e Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 15 十月 2025 10:11:16 +0800
Subject: [PATCH] 125 战斗 子弹目标包含自己时,隐藏这个以自己为目标的单个子弹
---
Main/System/Battle/SkillEffect/BulletSkillEffect.cs | 8 ++++++++
Main/Component/UI/Effect/BattleEffectPlayer.cs | 41 +++++++++++++++++++++++++++++++++++++++++
2 files changed, 49 insertions(+), 0 deletions(-)
diff --git a/Main/Component/UI/Effect/BattleEffectPlayer.cs b/Main/Component/UI/Effect/BattleEffectPlayer.cs
index a26950c..09a6e93 100644
--- a/Main/Component/UI/Effect/BattleEffectPlayer.cs
+++ b/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;
diff --git a/Main/System/Battle/SkillEffect/BulletSkillEffect.cs b/Main/System/Battle/SkillEffect/BulletSkillEffect.cs
index 7d04a7a..8ba225e 100644
--- a/Main/System/Battle/SkillEffect/BulletSkillEffect.cs
+++ b/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)
--
Gitblit v1.8.0