This commit is contained in:
2026-10-05 16:46:28 +08:00
parent 95b442bc73
commit 3617a25775
3 changed files with 170 additions and 117 deletions
@@ -640,25 +640,29 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
subUIManager.boardCast_Boss = boardCast_Boss;
GameManager.Instance.OnUserDataChanged += RefreshGGKCount;
baseAttackTime = attackTime;
btn_ChangeTurret.onClick.AddListener(() =>
{
var panel = subUIManager.Get<SubUIBase>(UIPanel.TurretPanel);
if (panel != null && panel.gameObject.activeSelf)
subUIManager.Hide(UIPanel.TurretPanel);
else
// ⭐ 各游戏 prefab 按钮配置不同:未拖引用时为null,做保护(空就跳过,不能报错)
if (btn_ChangeTurret != null)
btn_ChangeTurret.onClick.AddListener(() =>
{
subUIManager.ShowAsync(UIPanel.TurretPanel, (ItemPanelSelect.Turrect, true));
StartCoroutine(CloseSettingList());
}
});
btn_Setting.onClick.AddListener(() => {subUIManager.ShowAsync(UIPanel.SettingPanel); });
var panel = subUIManager.Get<SubUIBase>(UIPanel.TurretPanel);
if (panel != null && panel.gameObject.activeSelf)
subUIManager.Hide(UIPanel.TurretPanel);
else
{
subUIManager.ShowAsync(UIPanel.TurretPanel, (ItemPanelSelect.Turrect, true));
StartCoroutine(CloseSettingList());
}
});
if (btn_Setting != null)
btn_Setting.onClick.AddListener(() => {subUIManager.ShowAsync(UIPanel.SettingPanel); });
// ⭐ 各游戏prefab未拖拽表情按钮时为null,做保护(XJMH面板没有该按钮)
if (btn_BiaoQing != null)
btn_BiaoQing.onClick.AddListener(OnBiaoQingButtonClick);
btn_TuiChu.onClick.AddListener(() =>
{
StartLeaveCountdown();
});
if (btn_TuiChu != null)
btn_TuiChu.onClick.AddListener(() =>
{
StartLeaveCountdown();
});
// ⭐ 切换房间:离房后重新走一遍加入房间流程(QuickJoin同场次同等级 → 连新房socket → JoinRoom)
// 各游戏prefab未拖拽该按钮时为null,做保护
if (btn_ChangeRoom != null)
@@ -725,15 +729,17 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
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);
StartCoroutine(CloseSettingList());
});
btn_GuaGuaKa.onClick.AddListener(() =>
{
subUIManager.ShowAsync(UIPanel.GuaGuaKa);
});
if (btn_TuJian != null)
btn_TuJian.onClick.AddListener(() =>
{
subUIManager.ShowAsync(UIPanel.GameTuJian);
StartCoroutine(CloseSettingList());
});
if (btn_GuaGuaKa != null)
btn_GuaGuaKa.onClick.AddListener(() =>
{
subUIManager.ShowAsync(UIPanel.GuaGuaKa);
});
}
/// <summary>打开离开游戏确认面板:点确认直接退出房间(无倒计时)</summary>
@@ -981,11 +987,13 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
public virtual void Start()
{
btn_SettingList.onClick.AddListener(() =>
{
if (isOpenSetting) StartCoroutine(CloseSettingList());
else StartCoroutine(OpenSettingList());
});
// ⭐ 未拖引用时为null,做保护(空就跳过)
if (btn_SettingList != null)
btn_SettingList.onClick.AddListener(() =>
{
if (isOpenSetting) StartCoroutine(CloseSettingList());
else StartCoroutine(OpenSettingList());
});
if (toggle_Lock != null)
{
@@ -1027,7 +1035,9 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
};
}
toggle_BaoZou.onValueChanged.AddListener(on =>
// ⭐ 未拖引用时为null,做保护(空就跳过)
if (toggle_BaoZou != null)
toggle_BaoZou.onValueChanged.AddListener(on =>
{
if (!on)
{
@@ -1048,7 +1058,9 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
"40004", 0);
});
// toggle_SkillAuto 的关闭监听(切 Idle+广播)已移植到 SitPosData.OnAutoAttackToggleChanged,面板通过 HookAutoAttackOff 订阅广播
toggle_BingFeng.onValueChanged.AddListener(on => {
// ⭐ 未拖引用时为null,做保护(空就跳过)
if (toggle_BingFeng != null)
toggle_BingFeng.onValueChanged.AddListener(on => {
if (!on)
{
// ⭐ 打开后只能等倒计时结束自动关闭,不允许玩家手动关闭