yyl
9 天以前 0556da8f5e7f7ff498ded7ad1430ef3f7abed30c
125 战斗 开启自动战斗导致的无限次请求主线的问题修复
5个文件已修改
21 ■■■■ 已修改文件
Main/System/Battle/BattleField/BattleField.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Battle/BattleField/StoryBattleField.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Battle/BattleField/StoryBossBattleField.cs 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Main/AutoFightModel.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/MainLevel/MainBossEnterWin.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Battle/BattleField/BattleField.cs
@@ -676,6 +676,7 @@
        recordPlayer.HaveRest();
        battleObjMgr.HaveRest(BattleCamp.Blue);
        battleObjMgr.DestroyTeam(BattleCamp.Blue);
        BattleManager.Instance.ClearStoryQueue();
        SetBattleStartState();
        
        // 清理死亡处理记录
Main/System/Battle/BattleField/StoryBattleField.cs
@@ -38,6 +38,7 @@
    public override void Init(int MapID, int FuncLineID, JsonData _extendData,
        List<TeamBase> _redTeamList, List<TeamBase> _blueTeamList, byte turnMax)
    {
        chapter = FuncLineID / 10000;
        wave = MapID == 1 ? FuncLineID % 100 : 1;//第几波怪
        level = (FuncLineID % 10000) / 100;
@@ -257,9 +258,8 @@
                byte reqType;
                if (battleState == StoryBattleState.Break || AutoFightModel.Instance.restartMainStoryBattle)
                if (battleState == StoryBattleState.Break)
                {
                    AutoFightModel.Instance.restartMainStoryBattle = false;
                    reqType = 2;
                }
                else if (battleState == StoryBattleState.Battle)
Main/System/Battle/BattleField/StoryBossBattleField.cs
@@ -78,12 +78,15 @@
    protected override void OnSettlement(JsonData turnFightStateData)
    {
        base.OnSettlement(turnFightStateData);
        BattleManager.Instance.MainFightRequest(2);
        BattleManager.Instance.MainFightRequest(4);
        AutoFightModel.Instance.ApplyAutoFightToSettings();
    }
    public override void WhaleFall()
    {
        UIManager.Instance.CloseWindow<StoryBossBattleWin>();
        AutoFightModel.Instance.restartMainStoryBattle = true;
        AutoFightModel.Instance.isPause = false;
Main/System/Main/AutoFightModel.cs
@@ -40,7 +40,6 @@
    //自动模式, 真正点击战锤消耗开启,和休息(或无材料)停止
    public bool isPause = false;    //如打BOSS的情况,暂停自动战斗 后续可以补充每X秒检测下是否有异常
    public bool restartMainStoryBattle = false;
    bool m_IsAutoAttack = false;
    public bool isAutoAttack
    {
@@ -142,14 +141,19 @@
        if (storyBattleField != null && storyBattleField.GetBattleMode() != BattleMode.Stop)
        {
            //战斗中改变模式
            isAutoAttack = isAutoAttackSet;
            storyBattleField.AutoSetBattleMode();
            ApplyAutoFightToSettings();
        }
        QuickSetting.Instance.SendPackage();
        ChangeAutoEvent?.Invoke();
    }
    public void ApplyAutoFightToSettings()
    {
        isAutoAttack = isAutoAttackSet;
        BattleManager.Instance.storyBattleField?.AutoSetBattleMode();
    }
    //自动处理装备,需要等待穿戴返回false,其他情况返回true
    public bool TryAutoFightDoEquip(ItemModel item)
Main/System/MainLevel/MainBossEnterWin.cs
@@ -146,6 +146,7 @@
            BattleManager.Instance.SendTurnFight(2);
            BattleManager.Instance.storyBattleField.CleanBattle();
            AutoFightModel.Instance.isPause = true;
            AutoFightModel.Instance.isAutoAttack = false;
        }
        CloseWindow();
    }