From b1f98c42a6b859b35c26e0722efb38a6e9c215be Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 22 十月 2025 11:25:33 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts
---
Main/System/Arena/ArenaWin.cs | 21 ++++++
/dev/null | 11 ---
Main/System/Battle/BattleConst.cs | 9 +++
Main/System/Battle/BattleField/BattleRootNode.cs | 1
Main/System/Battle/BattleManager.cs | 21 ++++++
Main/System/Battle/BattleWin.cs | 6 ++
Main/System/Main/MainWin.cs | 59 ++++++-------------
Main/System/ChallengeTab/ChallengeTabWin.cs | 16 +++--
Main/System/Arena/ArenaManager.cs | 1
Main/System/Battle/ArenaBattleWin.cs | 20 +++++-
10 files changed, 101 insertions(+), 64 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/Battle/BattleConst.cs b/Main/System/Battle/BattleConst.cs
index 397a394..78a5d56 100644
--- a/Main/System/Battle/BattleConst.cs
+++ b/Main/System/Battle/BattleConst.cs
@@ -9,6 +9,15 @@
typeof(BattleWin),
typeof(StoryBossBattleWin),
typeof(ArenaBattleWin),
+ typeof(BoneFieldBattleWin),
+ };
+
+ public static Dictionary<string, string> battleNameToWinName = new Dictionary<string, string>()
+ {
+ { "StoryBattleField", "BattleWin" },
+ { "StoryBossBattleField", "StoryBossBattleWin" },
+ { "ArenaBattleField", "ArenaBattleWin" },
+ { "BoneBattleField", "BoneFieldBattleWin" },
};
public const int BattleStartEffectID = 1001; // Example effect ID for battle start
diff --git a/Main/System/Battle/BattleField/BattleRootNode.cs b/Main/System/Battle/BattleField/BattleRootNode.cs
index 14d2f00..198a2da 100644
--- a/Main/System/Battle/BattleField/BattleRootNode.cs
+++ b/Main/System/Battle/BattleField/BattleRootNode.cs
@@ -56,6 +56,7 @@
if (imgBackground != null)
{
imgBackground.texture = texture;
+ imgBackground.raycastTarget = false;
// imgBackground.SetNativeSize();
}
}
diff --git a/Main/System/Battle/BattleManager.cs b/Main/System/Battle/BattleManager.cs
index 732c309..906f27b 100644
--- a/Main/System/Battle/BattleManager.cs
+++ b/Main/System/Battle/BattleManager.cs
@@ -30,7 +30,7 @@
public Action<string, BattleField> onBattleFieldCreate;
- public Action<string, BattleField> onBattleFieldDestroy;
+ public Action onBattleFieldDestroy;
public bool isWaitServerStory = false; //涓荤嚎绛夋湇鍔$鍥炴姤 0425
@@ -532,7 +532,7 @@
GameObject.DestroyImmediate(battleField.battleRootNode.gameObject);
- onBattleFieldDestroy?.Invoke(battleField.guid, battleField);
+ onBattleFieldDestroy?.Invoke();
}
@@ -605,4 +605,21 @@
}
return false;
}
+
+ // 鑾峰彇褰撳墠姝e湪鏄剧ず鐨勬垬鏂楀満鏅悕绉帮紝濡傛灉娌℃湁鍒欒繑鍥炵┖瀛楃涓�
+ public string GetActiveBattleName()
+ {
+ foreach (var kvp in battleFields)
+ {
+ BattleField battleField = kvp.Value;
+ if (battleField == null)
+ continue;
+
+ var battleName = battleField.ToString();
+ if (BattleConst.battleNameToWinName.ContainsKey(battleName)
+ && UIManager.Instance.IsOpened(BattleConst.battleNameToWinName[battleName]))
+ return battleName;
+ }
+ return "";
+ }
}
\ No newline at end of file
diff --git a/Main/System/Battle/BattleWin.cs b/Main/System/Battle/BattleWin.cs
index 2fda744..317c3d3 100644
--- a/Main/System/Battle/BattleWin.cs
+++ b/Main/System/Battle/BattleWin.cs
@@ -6,6 +6,7 @@
{
// 缁勪欢寮曠敤
public Transform mountPoint;
+ [SerializeField] Button fightBtn;
private BattleRootNode battleRootNode = null;
@@ -22,6 +23,11 @@
// 鍒濆鍖栫粍浠跺紩鐢� 缁戝畾鎸夐挳绛塙I缁勪欢浜嬩欢
btnStop.AddListener(PauseGame);
+
+ fightBtn.AddListener(()=>
+ {
+ UIManager.Instance.GetUI<MainWin>()?.ClickFunc(0);
+ });
}
private void PauseGame()
diff --git a/Main/System/ChallengeTab/ChallengeTabWin.cs b/Main/System/ChallengeTab/ChallengeTabWin.cs
index 968824d..bc04981 100644
--- a/Main/System/ChallengeTab/ChallengeTabWin.cs
+++ b/Main/System/ChallengeTab/ChallengeTabWin.cs
@@ -5,7 +5,7 @@
{
[SerializeField] ChallengeTabButton btnBoneField;
[SerializeField] ChallengeTabButton btnArena;
- public static Action OnCloseChallengeTabWin;
+
protected override void InitComponent()
{
base.InitComponent();
@@ -28,7 +28,7 @@
TimeMgr.Instance.OnDayEvent -= OnDayEvent;
FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefresh;
- OnCloseChallengeTabWin?.Invoke();
+ UIManager.Instance.GetUI<MainWin>()?.RestoreFuncBtn();
}
private void OnDayEvent()
{
@@ -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..76d15e1 100644
--- a/Main/System/Main/MainWin.cs
+++ b/Main/System/Main/MainWin.cs
@@ -27,7 +27,6 @@
[SerializeField] UIEffectPlayer fightEffect;
[SerializeField] UIEffectPlayer openCloseAnim;
[SerializeField] FillTween cdTween;
- int index = 0;
public bool isFirstOpen = true; //棣栨鎵撳紑
public Text hammerText;
@@ -45,14 +44,13 @@
UpdateCurrency();
UpdatePlayerInfo();
RefreshFightBtn();
- DisplayTopBar(index);
+ DisplayTopBar();
}
protected override void OnPreOpen()
{
PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefresh;
AutoFightModel.Instance.OnFightEvent += OnSkillCast;
- ChallengeTabWin.OnCloseChallengeTabWin += OnCloseChallengeTabWin;
BattleManager.Instance.onBattleFieldCreate += OnBattleFieldCreate;
BattleManager.Instance.onBattleFieldDestroy += OnBattleFieldDestroy;
base.OnPreOpen();
@@ -65,7 +63,6 @@
{
PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefresh;
AutoFightModel.Instance.OnFightEvent -= OnSkillCast;
- ChallengeTabWin.OnCloseChallengeTabWin -= OnCloseChallengeTabWin;
BattleManager.Instance.onBattleFieldCreate -= OnBattleFieldCreate;
BattleManager.Instance.onBattleFieldDestroy -= OnBattleFieldDestroy;
base.OnPreClose();
@@ -76,16 +73,11 @@
Refresh();
}
- private void OnBattleFieldDestroy(string guid, BattleField battleField)
+ private void OnBattleFieldDestroy()
{
Refresh();
}
- private void OnCloseChallengeTabWin()
- {
- tabButtons[3].state = TitleBtnState.Normal;
- tabButtons[3].UpdateButtonState();
- }
//澶栭儴璋冪敤鐐瑰嚮鍔熻兘
public void ClickFunc(int functionOrder)
@@ -99,37 +91,13 @@
tabButtons[functionOrder].SelectBtn();
}
- public void DisplayTopBar(int index)
+ public void DisplayTopBar()
{
- bool isOtherBattleInProgress = BattleManager.Instance.IsOtherBattleInProgress();
- switch (index)
- {
- case 0:
- case 2:
- topBar.SetActive(true);
- break;
- case 1:
- case 4:
- topBar.SetActive(false);
- break;
- case 3:
- topBar.SetActive(!isOtherBattleInProgress);
- break;
- default:
- topBar.SetActive(true);
- break;
- }
+ topBar.SetActive(functionOrder == 0 || functionOrder == 2);
}
protected override void SelectBottomTab(int index)
{
- bool isOtherBattleInProgress = BattleManager.Instance.IsOtherBattleInProgress();
- if (isOtherBattleInProgress)
- {
- // 濡傛灉姝e湪闈炰富绾挎垬鏂椾腑锛屾病婊¤冻瑙i攣鏉′欢鍒欎笉鍏佽鍒囨崲
- }
- DisplayTopBar(index);
-
if (index == 3)
{
//鎸戞垬鐗规畩鏄剧ず閫昏緫
@@ -137,8 +105,8 @@
return;
}
-
-
+ TabChangeEvent?.Invoke();
+
// 濡傛灉鐐瑰嚮褰撳墠宸查�変腑鐨勬爣绛撅紝涓嶅仛澶勭悊
if (functionOrder == index && currentSubUI != null)
{
@@ -149,13 +117,14 @@
// 鏇存柊褰撳墠閫変腑鐨勬爣绛剧储寮�
functionOrder = index;
+ DisplayTopBar();
+
// 鍏抽棴褰撳墠鎵撳紑鐨勫瓙鐣岄潰
CloseCurrentSubUI();
// 鏍规嵁閫変腑鐨勬爣绛炬墦寮�瀵瑰簲鐨勭晫闈�
OpenSubUIByTabIndex();
- TabChangeEvent?.Invoke();
}
//鎴樻枟鎸夐挳鍔ㄧ敾
@@ -236,7 +205,15 @@
/// </summary>
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);
+ return;
+ }
if (index == 0)
@@ -253,6 +230,8 @@
UIManager.Instance.OpenWindow<GuildJoinWin>();
return;
}
+
+
SelectBottomTab(index);
}
diff --git a/Main/System/Place.meta b/Main/System/Place.meta
deleted file mode 100644
index 29907a9..0000000
--- a/Main/System/Place.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 2a75dbf92ff839445b4bf6be823add40
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Main/System/Place/PlaceWin.cs b/Main/System/Place/PlaceWin.cs
deleted file mode 100644
index 9e0caff..0000000
--- a/Main/System/Place/PlaceWin.cs
+++ /dev/null
@@ -1,62 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-using UnityEngine.UI;
-
-/// <summary>
-/// 鍦烘櫙鐣岄潰
-/// </summary>
-public class PlaceWin : UIBase
-{
- protected Button btnExplore;
-
- // protected
-
- /// <summary>
- /// 鍒濆鍖栫粍浠�
- /// </summary>
- protected override void InitComponent()
- {
- base.InitComponent();
-
- // 鍦ㄨ繖閲屽垵濮嬪寲缁勪欢
- btnExplore = transform.Find("BtnExplore").GetComponent<Button>();
- btnExplore.onClick.AddListener(OnExploreClick);
- }
-
-
- /// <summary>
- /// 绐楀彛鎵撳紑鏃惰皟鐢�
- /// </summary>
- protected override void OnOpen()
- {
- base.OnOpen();
-
- // 绐楀彛鎵撳紑鏃剁殑閫昏緫
-
- }
-
- /// <summary>
- /// 绐楀彛鍏抽棴鏃惰皟鐢�
- /// </summary>
- protected override void OnClose()
- {
- base.OnClose();
-
- // 绐楀彛鍏抽棴鏃剁殑閫昏緫
-
- }
-
- /// <summary>
- /// 鍒锋柊鐣岄潰
- /// </summary>
- public override void Refresh()
- {
- // 鍒锋柊鐣岄潰鐨勯�昏緫
- }
-
- private void OnExploreClick()
- {
- // UIManager.Instance.OpenUI<ExploreWin>();
- }
-}
diff --git a/Main/System/Place/PlaceWin.cs.meta b/Main/System/Place/PlaceWin.cs.meta
deleted file mode 100644
index ad66f43..0000000
--- a/Main/System/Place/PlaceWin.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 846b941e24d55594fac435ba7031cfa9
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
--
Gitblit v1.8.0