Main/System/Main/MainWin.cs
@@ -27,6 +27,7 @@
    [SerializeField] UIEffectPlayer fightEffect;
    [SerializeField] UIEffectPlayer openCloseAnim;
    [SerializeField] FillTween cdTween;
    [SerializeField] Transform nextCantAttackMask;
    [SerializeField] Text hammerText;
    [SerializeField] Text multiFightText;
@@ -56,6 +57,8 @@
        AutoFightModel.Instance.OnFightEvent += OnSkillCast;
        RenameManager.Instance.OnUpdateRenameResultEvent += OnUpdateRenameResultEvent;
        UIManager.Instance.OnCloseWindow += OnCloseWindow;
        GlobalTimeEvent.Instance.MSEvent += OnMSEvent;
        EventBroadcast.Instance.AddListener<string>(EventName.BATTLE_START, OnBattleStart);
        base.OnPreOpen();
        // 刷新UI
@@ -68,6 +71,9 @@
        AutoFightModel.Instance.OnFightEvent -= OnSkillCast;
        RenameManager.Instance.OnUpdateRenameResultEvent -= OnUpdateRenameResultEvent;
        UIManager.Instance.OnCloseWindow -= OnCloseWindow;
        GlobalTimeEvent.Instance.MSEvent -= OnMSEvent;
        EventBroadcast.Instance.RemoveListener<string>(EventName.BATTLE_START, OnBattleStart);
        base.OnPreClose();
        isForcePlayFightUIAnim = true;
    }
@@ -191,6 +197,7 @@
        {
            if (currentSubUI != null && currentSubUI.name == "HomeWin")
            {
                fightEffect.Play();
                //手动自动一起处理
                AutoFightModel.Instance.StartFight();
            }
@@ -340,13 +347,32 @@
        }
    }
    void OnBattleStart(string guid)
    {
        if (string.IsNullOrEmpty(guid))
        {
            var tmpHero = TeamManager.Instance.GetTeam(TeamType.Story).GetNextServerHero("");
            if (tmpHero != null)
            {
                AutoFightModel.Instance.fightingHeroSkinID = tmpHero.SkinID;
            }
            else
            {
                Debug.LogError("没有找到下一个攻击武将");
                return;
            }
            fightHeroImg.SetOrgSprite(HeroSkinConfig.Get(AutoFightModel.Instance.fightingHeroSkinID).SquareIcon, "HeroHead");
        }
    }
    void RefreshFightIng(bool isfighting = false)
    {
        if (isfighting)
        {
            fightEffect.Play();
            if (!fightEffect.isPlaying)
                fightEffect.Play();
            nextCantAttackMask.localScale = Vector3.zero;
            cdTween.SetStartState();
            cdTween.Play(() =>
            {
@@ -355,6 +381,7 @@
                {
                    AutoFightModel.Instance.fightingHeroSkinID = tmpHero.SkinID;
                    fightHeroImg.SetOrgSprite(HeroSkinConfig.Get(AutoFightModel.Instance.fightingHeroSkinID).SquareIcon, "HeroHead");
                    nextCantAttackMask.localScale = Vector3.one;
                }
            });
            fightHeroScale.SetStartState();
@@ -383,6 +410,17 @@
        }
        fightHeroImg.SetOrgSprite(HeroSkinConfig.Get(AutoFightModel.Instance.fightingHeroSkinID).SquareIcon, "HeroHead");
    }
    void OnMSEvent()
    {
        if (nextCantAttackMask.localScale == Vector3.one)
        {
            if (BattleManager.Instance.storyBattleField.IsCanRequestFight())
            {
                nextCantAttackMask.localScale = Vector3.zero;
            }
        }
    }
    void OnSkillCast(bool isfighting)
@@ -451,15 +489,18 @@
        {
            if (currentSubUI != null && currentSubUI.IsActive())
            {
                // RestoreFuncBtn 造成
                //点击挑战标签又关闭时,会触发 RestoreFuncBtn 造成
                return;
            }
        }
        if (functionOrder != -1)
        {
            //主动点击功能栏的情况
            lastWinOrder = functionOrder;
        }
        //lastWinOrder 是默认恢复使用
        if (lastWinOrder == -1)
        {
            lastWinOrder = 0;