| | |
| | | [SerializeField] FillTween cdTween; |
| | | [SerializeField] Text hammerText; |
| | | |
| | | bool isFirstOpen = true; //首次打开 |
| | | bool isForcePlayFightUIAnim = true; //强制播放战斗锤子框动画 |
| | | |
| | | public static event Action TabChangeEvent; |
| | | protected override void InitComponent() |
| | |
| | | PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefresh; |
| | | AutoFightModel.Instance.OnFightEvent -= OnSkillCast; |
| | | base.OnPreClose(); |
| | | isForcePlayFightUIAnim = true; |
| | | } |
| | | |
| | | |
| | |
| | | //战斗按钮动画 |
| | | 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); |
| | |
| | | return; |
| | | } |
| | | |
| | | TabChangeEvent?.Invoke(); |
| | | |
| | | ClickAnimation(index); |
| | | // 更新当前选中的标签索引 |
| | | functionOrder = index; |
| | | TabChangeEvent?.Invoke(); |
| | | |
| | | DisplayTopBar(); |
| | | |
| | |
| | | { |
| | | if (lastWinOrder == -1) |
| | | { |
| | | lastWinOrder = 0; |
| | | functionOrder = 0; |
| | | } |
| | | else |
| | | { |
| | |
| | | currentSubUI.CloseWindow(); |
| | | currentSubUI = null; |
| | | functionOrder = -1; |
| | | isForcePlayFightUIAnim = true; |
| | | DisplayTopBar(); |
| | | } |
| | | } |
| | |
| | | // 外部恢复子界面 |
| | | public void RestoreSubUI() |
| | | { |
| | | if (functionOrder != 0) |
| | | if (functionOrder != -1) |
| | | return; |
| | | if (lastWinOrder == -1) |
| | | { |