hch
2026-01-23 2e7b22a39c201ad63f9f956a040f725d9cb77a30
Main/System/Main/AutoFightModel.cs
@@ -80,6 +80,7 @@
        }
    }
    public event Action<bool> OnAutoChallengeBossEvent;
    //自动挑战首领
    public bool isAutoChallengeBoss
    {
@@ -90,6 +91,7 @@
        set
        {
            QuickSetting.Instance.SetQuickSetting(QuickSettingType.AutoFight_ChallengeBoss, value);
            OnAutoChallengeBossEvent?.Invoke(value);
        }
    }
@@ -107,9 +109,11 @@
            if (m_NowChallengeCount >= tryChallengeCount)
            {
                m_NowChallengeCount = -1;   //代表停止继续挑战BOSS, 但不是停止战斗
                isAutoChallengeBoss = false; //取消勾选自动挑战boss
            }
        }
    }
    //自动挑战首领,战败x次停止
    public int tryChallengeCount
@@ -208,81 +212,81 @@
    {
        ProccessCloseWin();
    }
   void ProccessCloseWin()
    void ProccessCloseWin()
    {
        if (!isAutoAttack)
            return;
      if (isAutoChallengeBoss)
      {
         if (UIManager.Instance.IsOpened<BattleVictoryWin>())
         {
            if (!winWaitCloseDict.ContainsKey("BattleVictoryWin"))
            {
               winWaitCloseDict["BattleVictoryWin"] = 0;
            }
        if (isAutoChallengeBoss)
        {
            if (UIManager.Instance.IsOpened<BattleVictoryWin>())
            {
                if (!winWaitCloseDict.ContainsKey("BattleVictoryWin"))
                {
                    winWaitCloseDict["BattleVictoryWin"] = 0;
                }
            if (winWaitCloseDict["BattleVictoryWin"] == 0)
            {
               winWaitCloseDict["BattleVictoryWin"] = (int)Time.time;
            }
            else if (Time.time - winWaitCloseDict["BattleVictoryWin"] > AutoFightModel.Instance.autoCloseWinCD)
            {
               UIManager.Instance.CloseWindow<BattleVictoryWin>();
               winWaitCloseDict["BattleVictoryWin"] = 0;
            }
         }
                if (winWaitCloseDict["BattleVictoryWin"] == 0)
                {
                    winWaitCloseDict["BattleVictoryWin"] = (int)Time.time;
                }
                else if (Time.time - winWaitCloseDict["BattleVictoryWin"] > AutoFightModel.Instance.autoCloseWinCD)
                {
                    UIManager.Instance.CloseWindow<BattleVictoryWin>();
                    winWaitCloseDict["BattleVictoryWin"] = 0;
                }
            }
         if (UIManager.Instance.IsOpened<BattleFailWin>())
         {
            if (!winWaitCloseDict.ContainsKey("BattleFailWin"))
            {
               winWaitCloseDict["BattleFailWin"] = 0;
            }
            if (UIManager.Instance.IsOpened<BattleFailWin>())
            {
                if (!winWaitCloseDict.ContainsKey("BattleFailWin"))
                {
                    winWaitCloseDict["BattleFailWin"] = 0;
                }
            if (winWaitCloseDict["BattleFailWin"] == 0)
            {
               winWaitCloseDict["BattleFailWin"] = (int)Time.time;
            }
            else if (Time.time - winWaitCloseDict["BattleFailWin"] > autoCloseWinCD)
            {
               UIManager.Instance.CloseWindow<BattleFailWin>();
               winWaitCloseDict["BattleFailWin"] = 0;
            }
         }
      }
      if (isAutoFinishTask)
      {
         if (TaskManager.Instance.GetMainTaskState() == 2 && UIManager.Instance.IsOpened<HomeWin>()
                if (winWaitCloseDict["BattleFailWin"] == 0)
                {
                    winWaitCloseDict["BattleFailWin"] = (int)Time.time;
                }
                else if (Time.time - winWaitCloseDict["BattleFailWin"] > autoCloseWinCD)
                {
                    UIManager.Instance.CloseWindow<BattleFailWin>();
                    winWaitCloseDict["BattleFailWin"] = 0;
                }
            }
        }
        if (isAutoFinishTask)
        {
            if (TaskManager.Instance.GetMainTaskState() == 2 && UIManager.Instance.IsOpened<HomeWin>()
            && !UIManager.Instance.ExistAnyFullScreenOrMaskWin("") && !NewBieCenter.Instance.inGuiding)
         {
            //领取任务奖励
            CA504_tagCMPlayerGetReward getReward = new CA504_tagCMPlayerGetReward();
            getReward.RewardType = 66;
            getReward.DataEx = (uint)TaskManager.Instance.mainTask.TaskID;
            GameNetSystem.Instance.SendInfo(getReward);
            return;
         }
            {
                //领取任务奖励
                CA504_tagCMPlayerGetReward getReward = new CA504_tagCMPlayerGetReward();
                getReward.RewardType = 66;
                getReward.DataEx = (uint)TaskManager.Instance.mainTask.TaskID;
                GameNetSystem.Instance.SendInfo(getReward);
                return;
            }
         if (UIManager.Instance.IsOpened<CommonGetItemWin>() && ItemLogicUtility.Instance.getItemEventName == "Task")
         {
            if (!winWaitCloseDict.ContainsKey("CommonGetItemWin"))
            {
               winWaitCloseDict["CommonGetItemWin"] = 0;
            }
            if (UIManager.Instance.IsOpened<CommonGetItemWin>() && ItemLogicUtility.Instance.getItemEventName == "Task")
            {
                if (!winWaitCloseDict.ContainsKey("CommonGetItemWin"))
                {
                    winWaitCloseDict["CommonGetItemWin"] = 0;
                }
            if (winWaitCloseDict["CommonGetItemWin"] == 0)
            {
               winWaitCloseDict["CommonGetItemWin"] = (int)Time.time;
            }
            else if (Time.time - winWaitCloseDict["CommonGetItemWin"] > autoCloseWinCD)
            {
               UIManager.Instance.CloseWindow<CommonGetItemWin>();
               winWaitCloseDict["CommonGetItemWin"] = 0;
            }
         }
      }
   }
                if (winWaitCloseDict["CommonGetItemWin"] == 0)
                {
                    winWaitCloseDict["CommonGetItemWin"] = (int)Time.time;
                }
                else if (Time.time - winWaitCloseDict["CommonGetItemWin"] > autoCloseWinCD)
                {
                    UIManager.Instance.CloseWindow<CommonGetItemWin>();
                    winWaitCloseDict["CommonGetItemWin"] = 0;
                }
            }
        }
    }
    public void SaveAutoFightSetting()