1
This commit is contained in:
@@ -460,6 +460,8 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
|
||||
// SyncGameData_FreezeFish 已废弃:冰冻改由服务端 FishFrozen 事件统一触发
|
||||
EventCenter.Instance.AddEventListener(ConstEventString.FishFrozen, OnFishFrozen);
|
||||
EventCenter.Instance.AddEventListener<SyncGameData>(ConstEventString.SyncGameData_BotFireAngle, SyncGameData_BotFireAngle);
|
||||
// ⭐ 爆奖结束帧同步(baoJiangEnd):其他玩家爆奖完成,显示最终 BJEndUI 并加分
|
||||
EventCenter.Instance.AddEventListener<SyncGameData>(ConstEventString.BaoJiangEnd, OnBaoJiangEnd);
|
||||
btn_TuJian.onClick.AddListener(() =>
|
||||
{
|
||||
subUIManager.ShowAsync(UIPanel.GameTuJian);
|
||||
@@ -540,10 +542,13 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
|
||||
// SyncGameData_FreezeFish 已废弃:冰冻改由服务端 FishFrozen 事件统一触发
|
||||
EventCenter.Instance.RemoveEventListener(ConstEventString.FishFrozen, OnFishFrozen);
|
||||
EventCenter.Instance.RemoveEventListener<SyncGameData>(ConstEventString.SyncGameData_BotFireAngle, SyncGameData_BotFireAngle);
|
||||
EventCenter.Instance.RemoveEventListener<SyncGameData>(ConstEventString.BaoJiangEnd, OnBaoJiangEnd);
|
||||
|
||||
// ⭐ 离场清理:子弹池 + 特效池彻底清空,防止内存泄漏
|
||||
BulletPool.Instance.ClearAll();
|
||||
EffectPool.Instance.ClearAll();
|
||||
// ⭐ 清理未完成的 not-self 爆奖 pending(避免悬空引用)
|
||||
BaoJiangNotSelfHandler.ClearAll();
|
||||
|
||||
}
|
||||
public virtual void Start()
|
||||
@@ -2328,6 +2333,27 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
|
||||
sit.tMP_TurretConsumeNum.text = data.cannonMultiple.ToString();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 爆奖结束帧同步(baoJiangEnd):
|
||||
/// 其他玩家爆奖流程完成,从 pending 取出对应 not-self 爆奖,
|
||||
/// 显示最终 BJEndUI(开 tMP_beishu / 关 img_BaoJiangZhong)并加分。
|
||||
/// 自己触发的爆奖不在这里处理(self 流程在 BJEventBase 内部已自行结束)。
|
||||
/// </summary>
|
||||
public void OnBaoJiangEnd(SyncGameData sync)
|
||||
{
|
||||
var data = FrameDataParser.Parse<FrameData_BaoJiangEnd>(sync.frameData);
|
||||
if (data == null)
|
||||
{
|
||||
Debug.LogWarning("[GameMainPanel_FishBase] OnBaoJiangEnd: frameData 解析失败");
|
||||
return;
|
||||
}
|
||||
|
||||
// 自己触发的爆奖不在这里处理(self 流程已自行走完)
|
||||
if (data.userId == GameManager.Instance.user.id) return;
|
||||
|
||||
BaoJiangNotSelfHandler.OnBaoJiangEnd(data.userId, data.fishId, data.beishu, data.score);
|
||||
}
|
||||
|
||||
public void SyncCannonMultiple(int consumeGold)
|
||||
{
|
||||
if (currSitData == null) return;
|
||||
|
||||
Reference in New Issue
Block a user