hch
2025-10-22 d73fb08fcd8ca7dc5778ca1a085206c8988199c7
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)
        {