From 9e40cf7d1390e13bc90acf23c30eb002744fd6d4 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期二, 21 十月 2025 19:16:06 +0800
Subject: [PATCH] 143 演武场-客户端 修改挑战界面,演武场布阵的显隐,达到条件才能切出非主线任务
---
Main/System/Arena/ArenaWin.cs | 21 +++++++++-
Main/System/Main/MainWin.cs | 22 ++++++----
Main/System/ChallengeTab/ChallengeTabWin.cs | 12 ++++--
Main/System/Arena/ArenaManager.cs | 1
Main/System/Battle/ArenaBattleWin.cs | 20 ++++++++-
5 files changed, 58 insertions(+), 18 deletions(-)
diff --git a/Main/System/Arena/ArenaManager.cs b/Main/System/Arena/ArenaManager.cs
index c1baa85..b9acc8d 100644
--- a/Main/System/Arena/ArenaManager.cs
+++ b/Main/System/Arena/ArenaManager.cs
@@ -7,6 +7,7 @@
{
public readonly int rankType = 1; // 姒滃崟绫诲瀷
public readonly int funcId = 27; // 鍔熻兘Id
+ public readonly int DeployTroopsFuncId = 32; // 甯冮樀鍔熻兘ID
public readonly int recType = 308; // 婕旀鍦虹帺瀹舵寫鎴樿褰曠被鍨� 308
public readonly int ChallengeMoneyType = 53;
public readonly int NeedChallengeMoneyCnt = 1;
diff --git a/Main/System/Arena/ArenaWin.cs b/Main/System/Arena/ArenaWin.cs
index c2898f7..4ab33ed 100644
--- a/Main/System/Arena/ArenaWin.cs
+++ b/Main/System/Arena/ArenaWin.cs
@@ -1,9 +1,9 @@
+using System;
using System.Collections.Generic;
using UnityEngine;
public class ArenaWin : UIBase
{
- [SerializeField] ButtonEx btnClose;
[SerializeField] ButtonEx btnRecord;
[SerializeField] ButtonEx btnAward;
[SerializeField] ButtonEx btnChallage;
@@ -20,7 +20,6 @@
protected override void InitComponent()
{
base.InitComponent();
- btnClose.SetListener(() => UIManager.Instance.CloseWindow<ArenaWin>());
btnAward.SetListener(() => UIManager.Instance.OpenWindow<ArenaAwardWin>());
btnRecord.SetListener(() =>
{
@@ -55,6 +54,7 @@
ArenaManager.Instance.OnUpdateArenaPlayerInfo += OnUpdateArenaPlayerInfo;
ArenaManager.Instance.OnUpdateGameRecInfo += OnUpdateGameRecInfo;
PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefresh;
+ FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChange;
Display();
}
@@ -67,7 +67,23 @@
ArenaManager.Instance.OnUpdateArenaPlayerInfo -= OnUpdateArenaPlayerInfo;
ArenaManager.Instance.OnUpdateGameRecInfo -= OnUpdateGameRecInfo;
PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefresh;
+ FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChange;
}
+
+ private void OnFuncStateChange(int obj)
+ {
+ if (obj == ArenaManager.Instance.DeployTroopsFuncId)
+ {
+ DisplayDeployTroop();
+ }
+ }
+
+ void DisplayDeployTroop()
+ {
+ bool isOpen = FuncOpen.Instance.IsFuncOpen(ArenaManager.Instance.DeployTroopsFuncId);
+ btnDeployTroops.SetActive(isOpen);
+ }
+
private void PlayerDataRefresh(PlayerDataType type)
{
@@ -104,6 +120,7 @@
CreateScroller();
DisplayMyRank();
DisplayTop3();
+ DisplayDeployTroop();
}
void CreateScroller()
diff --git a/Main/System/Battle/ArenaBattleWin.cs b/Main/System/Battle/ArenaBattleWin.cs
index c990c92..18574a8 100644
--- a/Main/System/Battle/ArenaBattleWin.cs
+++ b/Main/System/Battle/ArenaBattleWin.cs
@@ -76,7 +76,7 @@
BattleManager.Instance.onBattleFieldCreate += OnCreateBattleField;
EventBroadcast.Instance.AddListener<BattleDmgInfo>(EventName.BATTLE_DAMAGE_TAKEN, OnDamageTaken);
EventBroadcast.Instance.AddListener<string, JsonData>(EventName.BATTLE_END, OnBattleEnd);
- //UIManager.Instance.CloseWindow<MainWin>();
+ UIManager.Instance.CloseWindow<BattleWin>();
}
protected override void OnPreClose()
@@ -87,12 +87,12 @@
BattleManager.Instance.onBattleFieldCreate -= OnCreateBattleField;
EventBroadcast.Instance.RemoveListener<BattleDmgInfo>(EventName.BATTLE_DAMAGE_TAKEN, OnDamageTaken);
EventBroadcast.Instance.RemoveListener<string, JsonData>(EventName.BATTLE_END, OnBattleEnd);
- //UIManager.Instance.OpenWindow<MainWin>(0);
+ UIManager.Instance.OpenWindow<BattleWin>();
}
private void OnTabChangeEvent()
{
- UIManager.Instance.CloseWindow<ArenaBattleWin>(true);
+ UIManager.Instance.CloseWindow<ArenaBattleWin>();
}
private void OnBattleEnd(string guid, JsonData endData)
@@ -299,4 +299,18 @@
return;
txtWaveInfo.text = Language.Get("BoneField09", battleField.round, battleField.turnMax);
}
+
+ public void DisplayBattleWin()
+ {
+ if (!UIManager.Instance.IsOpened<BattleWin>())
+ {
+ BattleWin battleWin = UIManager.Instance.OpenWindow<BattleWin>();
+ battleWin.SetBattleField(BattleManager.Instance.storyBattleField);
+ }
+ else
+ {
+ BattleWin battleWin = UIManager.Instance.GetUI<BattleWin>();
+ battleWin.SetBattleField(BattleManager.Instance.storyBattleField);
+ }
+ }
}
diff --git a/Main/System/ChallengeTab/ChallengeTabWin.cs b/Main/System/ChallengeTab/ChallengeTabWin.cs
index 968824d..6a302fb 100644
--- a/Main/System/ChallengeTab/ChallengeTabWin.cs
+++ b/Main/System/ChallengeTab/ChallengeTabWin.cs
@@ -93,12 +93,16 @@
BattleField arenaBattle = BattleManager.Instance.GetBattleFieldByMapID(3);
if (arenaBattle != null)
{
- ArenaBattleWin fsBattleWin = UIManager.Instance.GetUI<ArenaBattleWin>();
- if (null == fsBattleWin)
+ ArenaBattleWin battleWin;
+ if (!UIManager.Instance.IsOpened<ArenaBattleWin>())
{
- fsBattleWin = UIManager.Instance.OpenWindow<ArenaBattleWin>();
+ battleWin = UIManager.Instance.OpenWindow<ArenaBattleWin>();
}
- fsBattleWin.SetBattleField(arenaBattle);
+ else
+ {
+ battleWin = UIManager.Instance.GetUI<ArenaBattleWin>();
+ }
+ battleWin.SetBattleField(arenaBattle);
}
else
{
diff --git a/Main/System/Main/MainWin.cs b/Main/System/Main/MainWin.cs
index a629719..1ceda2d 100644
--- a/Main/System/Main/MainWin.cs
+++ b/Main/System/Main/MainWin.cs
@@ -123,13 +123,6 @@
protected override void SelectBottomTab(int index)
{
- bool isOtherBattleInProgress = BattleManager.Instance.IsOtherBattleInProgress();
- if (isOtherBattleInProgress)
- {
- // 濡傛灉姝e湪闈炰富绾挎垬鏂椾腑锛屾病婊¤冻瑙i攣鏉′欢鍒欎笉鍏佽鍒囨崲
- }
- DisplayTopBar(index);
-
if (index == 3)
{
//鎸戞垬鐗规畩鏄剧ず閫昏緫
@@ -137,7 +130,7 @@
return;
}
-
+ TabChangeEvent?.Invoke();
// 濡傛灉鐐瑰嚮褰撳墠宸查�変腑鐨勬爣绛撅紝涓嶅仛澶勭悊
if (functionOrder == index && currentSubUI != null)
@@ -155,7 +148,6 @@
// 鏍规嵁閫変腑鐨勬爣绛炬墦寮�瀵瑰簲鐨勭晫闈�
OpenSubUIByTabIndex();
- TabChangeEvent?.Invoke();
}
//鎴樻枟鎸夐挳鍔ㄧ敾
@@ -237,6 +229,16 @@
protected override void OnTabButtonClicked(int index)
{
this.index = index;
+ int funcId = 32;
+ bool isOtherBattleInProgress = BattleManager.Instance.IsOtherBattleInProgress();
+ // 濡傛灉姝e湪闈炰富绾挎垬鏂椾腑锛屾病婊¤冻瑙i攣鏉′欢鍒欎笉鍏佽鍒囨崲
+ if (isOtherBattleInProgress && !FuncOpen.Instance.IsFuncOpen(funcId))
+ {
+ string tip = FuncOpen.Instance.GetErrorTip(funcId);
+ SysNotifyMgr.Instance.ShowTip("SwitchOutOfBattle", tip);
+ tabButtons[functionOrder].SelectBtn();
+ return;
+ }
if (index == 0)
@@ -253,6 +255,8 @@
UIManager.Instance.OpenWindow<GuildJoinWin>();
return;
}
+
+ DisplayTopBar(index);
SelectBottomTab(index);
}
--
Gitblit v1.8.0