From 1bcd08e4f930d6e054080d6859fee8e23be8e304 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期五, 26 十二月 2025 18:26:40 +0800
Subject: [PATCH] 351 【内政】红颜系统 - 游历

---
 Main/System/BeautyMM/BeautyMMManager.cs |   71 +++++++++++++++++++++++++++++++++--
 1 files changed, 66 insertions(+), 5 deletions(-)

diff --git a/Main/System/BeautyMM/BeautyMMManager.cs b/Main/System/BeautyMM/BeautyMMManager.cs
index fb64125..93d6575 100644
--- a/Main/System/BeautyMM/BeautyMMManager.cs
+++ b/Main/System/BeautyMM/BeautyMMManager.cs
@@ -27,6 +27,10 @@
     public int recoverTravelEnergyTime = 0;   // 鏁板��2锛氭仮澶�1鐐逛綋鍔涙墍闇�鏃堕棿锛屽垎閽�  
     public int[] travelRowCol = new int[2]; // 鏁板��3锛氭父鍘嗚鍒楁暟  琛寍鍒�
 
+    public Dictionary<int, int> allMMTalentAttr = new Dictionary<int, int>();
+    public Dictionary<int, int> allMMTalentEffect = new Dictionary<int, int>();
+
+
     public override void Init()
     {
         DTC0102_tagCDBPlayer.beforePlayerDataInitializeEventOnRelogin += OnBeforePlayerDataInitialize;
@@ -44,6 +48,8 @@
         beautyMMDataDict.Clear();
         beautyMMSkinDataDict.Clear();
         m_GridDict.Clear();
+        allMMTalentAttr.Clear();
+        allMMTalentEffect.Clear();
     }
 
     void ParseConfig()
@@ -92,6 +98,7 @@
             }
         }
         UpdateRedpoint();
+        RefreshAllTalen();
         OnBeautyMMDataUpdate?.Invoke();
     }
 
@@ -314,7 +321,7 @@
     }
 
     // 鑾峰彇MM澶╄祴鏁堟灉
-    public int GetMMTalentEffect(int mmID)
+    public Dictionary<int, int> GetMMTalentEffect(int mmID)
     {
         int _effect = 0;
         if (beautyMMDataDict.ContainsKey(mmID))
@@ -335,10 +342,49 @@
                         _effect += _addLV * config.EffPerLVAdd;
                     }
                 }
-                return _effect;
+                return new Dictionary<int, int>()
+                {
+                    {config.EffType, _effect}
+                } ;
             }
         }
-        return _effect;
+        return new Dictionary<int, int>();
+    }
+
+
+    void RefreshAllTalen()
+    {
+        foreach (var key in beautyMMDataDict.Keys)
+        {
+            var _dict = GetMMTalentAttr(key);
+            //鍔犲埌allMMTalentAttr
+            foreach (var _key in _dict.Keys)
+            {
+                if (allMMTalentAttr.ContainsKey(_key))
+                {
+                    allMMTalentAttr[_key] += _dict[_key];
+                }
+                else
+                {
+                    allMMTalentAttr.Add(_key, _dict[_key]);
+                }
+            }
+            var _dict2 = GetMMTalentEffect(key);
+            //鍔犲埌allMMTalentEffect
+            foreach (var _key in _dict2.Keys)
+            {
+                if (allMMTalentEffect.ContainsKey(_key))
+                {
+                    allMMTalentEffect[_key] += _dict2[_key];
+                }
+                else
+                {
+                    allMMTalentEffect.Add(_key, _dict2[_key]);
+                }
+            }
+        }
+
+
     }
 
     #region 绾㈢偣
@@ -548,8 +594,23 @@
     public ushort Exp;        //褰撳墠绛夌骇缁忛獙
     public ushort AwardLV;        //宸茬粡棰嗗彇鍒扮殑濂栧姳绛夌骇璁板綍
 }
-public class BeautyMMSkinData {
+public class BeautyMMSkinData
+{
     public byte State;        //鏄惁宸叉縺娲�
     public byte Used;        //鏄惁宸茬┛鎴磋鏃惰锛屾煇涓孩棰滅殑鎵�鏈夋椂瑁呯┛鎴村彲鑳介兘涓�0锛屽垯鍓嶇鍙栭粯璁ゆ椂瑁呰繘琛屽睍绀猴紝濡傛灉鏈夊悓姝ュ凡绌挎埓鐨勫垯浠ュ悗绔负鍑�
     public byte Star;        //鏃惰鏄熺骇锛屾縺娲绘椂涓�0鏄�
-}
\ No newline at end of file
+}
+
+// 1.涓荤嚎鎴樺埄鍝佷笂闄愭彁楂樼櫨鍒嗘瘮		鏃�	鐧惧垎姣�
+// 2.婕旀鍦烘寫鎴樿儨鍒╋紝姒傜巼棰濆鑾峰緱1涓墿鍝佺殑姒傜巼	鐗╁搧ID	姒傜巼
+// 3.娓稿巻浣撳姏涓婇檺澧炲姞		鏃�	澧炲姞涓婇檺
+// 4.鐧介鐩堥噹鎵崱棰濆鐗╁搧濂栧姳		鐗╁搧ID	涓暟
+
+public enum TalentEffectType
+{
+    MainLine = 1,
+    Arena = 2,
+    Travel = 3,
+    BoneField = 4,
+}
+

--
Gitblit v1.8.0