This commit is contained in:
2026-09-28 20:19:27 +08:00
parent d396870d37
commit 106c48cf82
12 changed files with 154 additions and 15 deletions
@@ -939,6 +939,15 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
// ⭐ 清理未完成的 not-self 爆奖 pending(避免悬空引用)
BaoJiangNotSelfHandler.ClearAll();
// ⭐ 清理冰冻特效实例:Instantiate 无父对象 → 挂在场景根,面板销毁不会带走,
// 冰冻中切房会残留一块冰冻蒙皮,必须手动销毁
if (_bingFengInstance != null)
{
Destroy(_bingFengInstance);
_bingFengInstance = null;
}
_frozenAnimSpeeds.Clear();
}
public virtual void Start()
{
@@ -3004,8 +3013,11 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
}
if (sit.posID==currSitData.posID)
{
AudioManager.Instance.PlayFX(bulletClip);
// ⭐ 战神普通开火音效(未锁定):优先读战神配置的 bulletAudio,未配置回退普通炮台音效 bulletClip
var zsData = sit.currentZhanShenData as ZhanShenTurretData;
AudioClip clip = (zsData != null && zsData.bulletAudio != null) ? zsData.bulletAudio : bulletClip;
if (clip != null)
AudioManager.Instance.PlayFX(clip);
}
}
@@ -3058,12 +3070,16 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
if (sit.posID == currSitData.posID)
{
// ⭐ 战神激光音效:激光声音与普通开火不同——直接读战神配置的 laserAudio 播放
// (AudioManager.PlayFX 的 AudioClip 重载);未配置时回退普通开火音效 bulletClip
AudioClip laserClip = (sit.currentZhanShenData as ZhanShenTurretData)?.laserAudio;
if (laserClip == null) laserClip = bulletClip;
if (laserClip != null)
AudioManager.Instance.PlayFX(laserClip);
// ⭐ 战神激光音效:配置了 laserAudio 的战神,激光音效由 SitPosData 用循环 AudioSource 播放
// (长音频循环,避免逐发播放重叠),此处不再逐发播;
// 未配置 laserAudio 时逐发回退:优先战神 bulletAudio,再退普通炮台 bulletClip
var zsData = sit.currentZhanShenData as ZhanShenTurretData;
if (zsData == null || zsData.laserAudio == null)
{
AudioClip clip = (zsData != null && zsData.bulletAudio != null) ? zsData.bulletAudio : bulletClip;
if (clip != null)
AudioManager.Instance.PlayFX(clip);
}
}
}