| | |
| | | { |
| | | // 组件引用 |
| | | [SerializeField] Transform mountPoint; |
| | | [SerializeField] Transform transButtons; |
| | | [SerializeField] Button btnSpeed; |
| | | [SerializeField] Text textSpeed; |
| | | [SerializeField] Button btnPass; |
| | |
| | | BattleManager.Instance.onBattleFieldCreate += OnCreateBattleField; |
| | | EventBroadcast.Instance.AddListener<BattleDmgInfo>(EventName.BATTLE_DAMAGE_TAKEN, OnDamageTaken); |
| | | EventBroadcast.Instance.AddListener<string, JsonData>(EventName.BATTLE_END, OnBattleEnd); |
| | | |
| | | 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() |
| | |
| | | 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() |
| | |
| | | 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); |
| | | } |
| | | |
| | | } |