From 871594462e82d6bc1341918d39e11ab036d59563 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期四, 18 九月 2025 19:26:28 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts

---
 Main/System/Main/AutoFightModel.cs |   73 +++++++++++++++++++++++++++++-------
 1 files changed, 59 insertions(+), 14 deletions(-)

diff --git a/Main/System/Main/AutoFightModel.cs b/Main/System/Main/AutoFightModel.cs
index c0b1c8d..0eb4c3a 100644
--- a/Main/System/Main/AutoFightModel.cs
+++ b/Main/System/Main/AutoFightModel.cs
@@ -36,7 +36,22 @@
     }
 
     //鑷姩妯″紡, 鐪熸鐐瑰嚮鎴橀敜娑堣�楀紑鍚紝鍜屼紤鎭紙鎴栨棤鏉愭枡锛夊仠姝�
-    public bool isAutoAttack = false;
+    public bool isPause = false;    //濡傛墦BOSS鐨勬儏鍐碉紝鏆傚仠鑷姩鎴樻枟 鍚庣画鍙互琛ュ厖姣廥绉掓娴嬩笅鏄惁鏈夊紓甯�
+    bool m_IsAutoAttack = false;
+    public bool isAutoAttack
+    {
+        get
+        {
+            return m_IsAutoAttack;
+        }
+        set
+        {
+            if (m_IsAutoAttack == value)
+                return;
+            m_IsAutoAttack = value;
+            Debug.Log("isAutoAttack:" + m_IsAutoAttack);
+        }
+    }
 
     //鏄惁寮�鍚嚜鍔ㄦ垬鏂楄缃�
     public bool isAutoAttackSet
@@ -75,18 +90,18 @@
     public override void Init()
     {
         ParseConfig();
-        DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent += OnPlayerLoginOk;
         DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += BeforePlayerInit;
         BattleManager.Instance.onBattleFieldCreate += OnCreateBattleField;
+        
         EventBroadcast.Instance.AddListener<string, SkillConfig, TeamHero>(EventName.BATTLE_CAST_SKILL, OnSkillCast);
 
     }
 
     public override void Release()
     {
-        DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent -= OnPlayerLoginOk;
         BattleManager.Instance.onBattleFieldCreate -= OnCreateBattleField;
         DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= BeforePlayerInit;
+        
 
     }
 
@@ -99,10 +114,6 @@
         maxCost = autoCostWithBlessLV.Length;
     }
 
-    void OnPlayerLoginOk()
-    {
-        //鐧诲綍鏃舵湁瑁呭鐨勫鐞�
-    }
 
     void BeforePlayerInit()
     {
@@ -123,6 +134,7 @@
         if (storyBattleField != null && storyBattleField.GetBattleMode() != BattleMode.Stop)
         {
             //鎴樻枟涓敼鍙樻ā寮�
+            isAutoAttack = isAutoAttackSet;
             storyBattleField.AutoSetBattleMode();
         }
 
@@ -179,10 +191,8 @@
             return;
         }
 
-        if (isAutoAttackSet)
-        {
-            isAutoAttack = true;
-        }
+
+        isAutoAttack = isAutoAttackSet;
 
         //鎵嬪姩浼氫竴鐩磋繘鍏ヨ繖涓�昏緫, 鑷姩瑙﹀彂涓�娆�
         storyBattleField.AutoSetBattleMode();
@@ -210,8 +220,8 @@
     }
 
     public int fightingHeroSkinID;  //褰撳墠鎴樻枟鐨勮嫳闆勭毊鑲D
-    public string heroGuid;
-    public event Action<bool> OnFightEvent; //鏄惁鎴樻枟閫氱煡
+    public string heroGuid; //鎴樻枟涓殑姝﹀皢
+    public event Action<bool> OnFightEvent; //鎴樻枟妯″紡鍙樻洿閫氱煡 鎴樻枟閲婃斁鎶�鑳介�氱煡
 
 
     /// <summary>
@@ -225,14 +235,49 @@
         if (!string.IsNullOrEmpty(guid))
             return;
 
+        //闃茶寖鍥炴敹鎶ラ敊
+        if (teamHero == null)
+            return;
 
+        //鍙�氱煡鐜╁姝﹀皢鐨勬垬鏂�
         if (teamHero.NPCID != 0)
             return;
+
         fightingHeroSkinID = teamHero.SkinID;
-        heroGuid = teamHero.guid;
+        //鎴樻枟鏃舵病鏈塆UID 锛岄�氳繃heroid鏌ユ壘
+        var hero = TeamManager.Instance.GetTeam(TeamType.Story).GetHeroByHeroID(teamHero.heroId);
+        if (hero != null)
+        {
+            heroGuid = hero.guid;
+        }
+        else
+        {
+            heroGuid = "";
+        }
         OnFightEvent?.Invoke(true);
     }
 
+    public bool CanChallengeBoss()
+    {
+        //鏈�鍚庝竴娉㈤�氳繃锛屼笖褰撳墠娉㈣繕鏄渶鍚庝竴娉紱鍊掗��鍙�掗��娉笉浼氬�掗��鍏冲崱
+        if (PlayerDatas.Instance.baseData.ExAttr2 != PlayerDatas.Instance.baseData.ExAttr1)
+        {
+            return false;
+        }
+        var value = PlayerDatas.Instance.baseData.ExAttr2;
+        var chapterID = value / 10000;
+        var levelNum = value % 10000 / 100;
+        var waveID = value % 100;
+
+        var config = MainLevelConfig.GetMainLevelConfig(chapterID, levelNum);
+        if (waveID < MainLevelConfig.GetwaveCount(config))
+        {
+            return false;
+        }
+
+        return true;
+    }
+
     #endregion
 
 

--
Gitblit v1.8.0