From 9e91c51e4ece0002b58e22e27ec57fd8d23176a9 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期五, 29 八月 2025 15:24:42 +0800
Subject: [PATCH] 125 【战斗】战斗系统 协议更新

---
 Main/System/Main/PlayerMainDate.cs |   70 ++++++++++++++++++++--------------
 1 files changed, 41 insertions(+), 29 deletions(-)

diff --git a/Main/System/Main/PlayerMainDate.cs b/Main/System/Main/PlayerMainDate.cs
index 2efdb1c..83a542b 100644
--- a/Main/System/Main/PlayerMainDate.cs
+++ b/Main/System/Main/PlayerMainDate.cs
@@ -47,36 +47,21 @@
     }
 
 
-    public void PowerAdd(ulong power)
+    public void PowerAdd(long power)
     {
         if (prowBool)
         {
-            prowNum = (long)power;
+            prowNum = power;
             prowBool = false;
         }
         else
         {
-            if ((long)power > prowNum)
+            if (power != prowNum)
             {
-                prowNumChange = (long)power - prowNum;
-                prowNum = (long)power;
-                isAdd = true;
-                if (customDisplayPower != null && customDisplayPower())
-                {
-                    return;
-                }
-                if (UIManager.Instance.IsOpened<PowerAddWin>())
-                {
-                    AddPowerEvent?.Invoke();
-                    return;
-                }
-                UIManager.Instance.OpenWindow<PowerAddWin>();
-            }
-            else if ((long)power < prowNum)
-            {
-                prowNumChange = prowNum - (long)power;
-                prowNum = (long)power;
-                isAdd = false;
+                prowNumChange = power - prowNum;
+                prowNum = power;
+                isAdd = prowNumChange > 0;
+                prowNumChange = Math.Abs(prowNumChange);
                 if (customDisplayPower != null && customDisplayPower())
                 {
                     return;
@@ -90,16 +75,45 @@
             }
             else
             {
-                prowNum = (long)power;
+                prowNum = power;
             }
         }
     }
 
-    public void CustomPowerUp(ulong nowPower ,ulong addPower)
+    // public void CustomPowerUp(ulong nowPower ,ulong addPower)
+    // {
+    //     prowNum = (long)nowPower;
+    //     prowNumChange = (long)addPower;
+    //     isAdd = true;
+    //     if (UIManager.Instance.IsOpened<PowerAddWin>())
+    //     {
+    //         AddPowerEvent?.Invoke();
+    //         return;
+    //     }
+    //     UIManager.Instance.OpenWindow<PowerAddWin>();
+    // }
+
+    /// <summary>
+    /// 姝﹀皢鑷韩鐨勬垬鍔涘彉鍖�
+    /// </summary>
+    /// <param name="hero"></param>
+    public void AddPowerNotOnTeam(HeroInfo hero)
     {
-        prowNum = (long)nowPower;
-        prowNumChange = (long)addPower;
-        isAdd = true;
+        if (HeroUIManager.Instance.lastFightPower.Key != hero.itemHero.guid)
+        {
+            return;
+        }
+
+        if (hero.IsInTeamByTeamType(TeamType.Story))
+        { 
+            return;
+        }
+
+        prowNumChange = hero.CalculatePower() - HeroUIManager.Instance.lastFightPower.Value;
+        HeroUIManager.Instance.lastFightPower = new KeyValuePair<string, long>();
+        isAdd = prowNumChange > 0;
+        prowNumChange = Math.Abs(prowNumChange);
+        prowNum = hero.CalculatePower();
         if (UIManager.Instance.IsOpened<PowerAddWin>())
         {
             AddPowerEvent?.Invoke();
@@ -107,8 +121,6 @@
         }
         UIManager.Instance.OpenWindow<PowerAddWin>();
     }
-
-  
 }
 
 

--
Gitblit v1.8.0