| Main/System/Arena/ArenaManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Battle/ArenaBattleWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Main/MainWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Main/System/Arena/ArenaManager.cs
@@ -7,7 +7,8 @@ { public readonly int rankType = 1; // 榜单类型 public readonly int funcId = 27; // 功能Id public readonly int DeployTroopsFuncId = 32; // 布阵功能ID public readonly int DeployTroopsFuncId = 31; // 布阵功能ID public readonly int BattleChangeTabFuncId = 32; // 战斗能切换页签功能ID public readonly int recType = 308; // 演武场玩家挑战记录类型 308 public readonly int ChallengeMoneyType = 53; public readonly int NeedChallengeMoneyCnt = 1; Main/System/Battle/ArenaBattleWin.cs
@@ -8,6 +8,7 @@ { // 组件引用 [SerializeField] Transform mountPoint; [SerializeField] Transform transButtons; [SerializeField] Button btnSpeed; [SerializeField] Text textSpeed; [SerializeField] Button btnPass; @@ -76,7 +77,18 @@ BattleManager.Instance.onBattleFieldCreate += OnCreateBattleField; EventBroadcast.Instance.AddListener<BattleDmgInfo>(EventName.BATTLE_DAMAGE_TAKEN, OnDamageTaken); EventBroadcast.Instance.AddListener<string, JsonData>(EventName.BATTLE_END, OnBattleEnd); UIManager.Instance.GetUI<MainWin>()?.CloseSubUI(); BattleManager.Instance.storyBattleField.IsPause = true; bool isOpenBattleChangeTab = IsOpenBattleChangeTab(); transButtons.localPosition = new Vector3(0, isOpenBattleChangeTab ? 200 : 0, 0); if (isOpenBattleChangeTab) { UIManager.Instance.GetUI<MainWin>()?.CloseSubUI(); } else { UIManager.Instance.CloseWindow<MainWin>(); } } protected override void OnPreClose() @@ -87,8 +99,17 @@ BattleManager.Instance.onBattleFieldCreate -= OnCreateBattleField; EventBroadcast.Instance.RemoveListener<BattleDmgInfo>(EventName.BATTLE_DAMAGE_TAKEN, OnDamageTaken); EventBroadcast.Instance.RemoveListener<string, JsonData>(EventName.BATTLE_END, OnBattleEnd); UIManager.Instance.GetUI<MainWin>()?.RestoreSubUI(); BattleManager.Instance.storyBattleField.IsPause = false; bool isOpenBattleChangeTab = IsOpenBattleChangeTab(); if (isOpenBattleChangeTab) { UIManager.Instance.GetUI<MainWin>()?.RestoreSubUI(); } else { UIManager.Instance.OpenWindow<MainWin>(); } } private void OnTabChangeEvent() @@ -301,16 +322,9 @@ txtWaveInfo.text = Language.Get("BoneField09", battleField.round, battleField.turnMax); } bool IsBlockBattleChangeTab() bool IsOpenBattleChangeTab() { string activeBattleName = BattleManager.Instance.GetActiveBattleName(); // 没有正在进行的战斗 if (activeBattleName == null || activeBattleName == "") return false; // 主线道中不阻止切出 if (activeBattleName == "StoryBattleField") return false; return true; return FuncOpen.Instance.IsFuncOpen(ArenaManager.Instance.BattleChangeTabFuncId); } } Main/System/Main/MainWin.cs
@@ -29,7 +29,7 @@ [SerializeField] FillTween cdTween; [SerializeField] Text hammerText; bool isFirstOpen = true; //首次打开 bool isForcePlayFightUIAnim = true; //强制播放战斗锤子框动画 public static event Action TabChangeEvent; protected override void InitComponent() @@ -61,6 +61,7 @@ PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefresh; AutoFightModel.Instance.OnFightEvent -= OnSkillCast; base.OnPreClose(); isForcePlayFightUIAnim = true; } @@ -73,18 +74,33 @@ //战斗按钮动画 void ClickAnimation(int index) { if (isFirstOpen || (functionOrder != 0 && index == 0)) //强制播放 if (isForcePlayFightUIAnim) { openCloseAnim.onComplete = () => { openCloseAnim.SetEnabled(true); }; openCloseAnim.PlayByArrIndex(index == 0 ? 1 : 0); isForcePlayFightUIAnim = false; return; } //切换显示 if (functionOrder != 0 && index == 0) { //切回战斗场景 openCloseAnim.onComplete = () => { openCloseAnim.SetEnabled(true); }; openCloseAnim.PlayByArrIndex(1); isFirstOpen = false; } else if (functionOrder == 0 && index != 0) else if (functionOrder <= 0 && index != 0) { //切出战斗场景 openCloseAnim.onComplete = () => { openCloseAnim.SetEnabled(true); @@ -184,11 +200,11 @@ return; } TabChangeEvent?.Invoke(); ClickAnimation(index); // 更新当前选中的标签索引 functionOrder = index; TabChangeEvent?.Invoke(); DisplayTopBar(); @@ -364,7 +380,7 @@ { if (lastWinOrder == -1) { lastWinOrder = 0; functionOrder = 0; } else { @@ -386,6 +402,7 @@ currentSubUI.CloseWindow(); currentSubUI = null; functionOrder = -1; isForcePlayFightUIAnim = true; DisplayTopBar(); } } @@ -393,7 +410,7 @@ // 外部恢复子界面 public void RestoreSubUI() { if (functionOrder != 0) if (functionOrder != -1) return; if (lastWinOrder == -1) {