From ac93e899d5c6331e89ccae552ecbb502a9652d01 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期二, 27 一月 2026 18:49:43 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts

---
 Main/System/FuncPreset/FuncPresetManager.cs |   48 ++++++++++++++++++++++++++++++++++--------------
 1 files changed, 34 insertions(+), 14 deletions(-)

diff --git a/Main/System/FuncPreset/FuncPresetManager.cs b/Main/System/FuncPreset/FuncPresetManager.cs
index 70045fb..a5c661b 100644
--- a/Main/System/FuncPreset/FuncPresetManager.cs
+++ b/Main/System/FuncPreset/FuncPresetManager.cs
@@ -12,18 +12,17 @@
 
     //瀵瑰簲 BattlePreSetType 鎴樻枟绫诲瀷 锛� 鍏ㄥ眬鏂规ID
     Dictionary<int, int> battlePreSetDict = new Dictionary<int, int>();
-    public event Action OnBattelePresetEvent;
 
     //鎵�鏈夐璁炬柟妗堢殑淇濆瓨淇℃伅 鍏ㄥ眬鏂规ID 锛氬瓙鍔熻兘绫诲瀷锛堥厤琛級锛氬瓙鏂规ID
     Dictionary<int, Dictionary<int, int>> m_FuncPresetSaveDict = new Dictionary<int, Dictionary<int, int>>();
-    public event Action OnFuncPresetUseDataEvent;
+    public event Action<int> OnFuncPresetUseDataEvent;  //0 鏇存崲瀛愭柟妗堬紝1 鏇存崲鍏ㄥ眬鏂规锛�2 瑙i攣/鏇存敼鍚�
 
     public const int GlobalDefaultPresetID = 1; //榛樿鍏ㄥ眬鏂规ID
     public const int FuncDefaultPresetID = 1;   //榛樿瀛愬姛鑳芥柟妗圛D
 
     public int[] openConditions; //娴佹淳棰勮锛堜篃鍙叏灞�鏂规/鎴樻枟鏂规锛� 寮�鍚潯浠躲�愬紑鏈嶇N澶╋紝涓荤嚎閫氬叧X-Y锛屽畾鍐涢榿杈惧埌N灞傘��
 
-    public Action<int, int, bool> OnSelectPresetEvent; //閫夋嫨鍔熻兘棰勮鏂规浜嬩欢 鍔熻兘绫诲瀷 鏂规ID 鏄惁灞曞紑
+    public Action<int, int, int, bool> OnSelectPresetEvent; //閫夋嫨鍔熻兘棰勮鏂规浜嬩欢 鍔熻兘绫诲瀷 鏂规ID 鏄惁灞曞紑
 
     public override void Init()
     {
@@ -54,7 +53,7 @@
     public bool IsOpen()
     {
         //鐗规畩绾﹀畾
-        if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Mingge))
+        if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.FuncPreset))
             return false;
 
         if (TimeUtility.OpenDay < openConditions[0] - 1)
@@ -79,7 +78,7 @@
     //鎻愬墠鏄剧ず
     public bool IsPreShow()
     {
-        return FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Mingge);
+        return FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.FuncPreset);
     }
 
     void InitFuncPreset()
@@ -100,7 +99,7 @@
             m_FuncPresetDict[config.PresetType][config.PresetID] = new FuncPreset()
             {
                 unLock = config.UnlockType == 0,
-                PresetName = Language.Get("Mingge13", config.PresetID)
+                PresetName = Language.Get(config.PresetType == 1 ? "FuncPreset10" : "Mingge13", config.PresetID)
             };
         }
     }
@@ -122,12 +121,13 @@
                 m_FuncPresetDict[funcPresetInfo.FuncPresetType][preset.PresetID] = new FuncPreset()
                 {
                     unLock = _unlock,
-                    PresetName = string.IsNullOrEmpty(preset.PresetName) ? Language.Get("Mingge13", preset.PresetID) : preset.PresetName,
+                    PresetName = string.IsNullOrEmpty(preset.PresetName) ?
+                        Language.Get(funcPresetInfo.FuncPresetType == 1 ? "FuncPreset10" : "Mingge13", preset.PresetID) : preset.PresetName,
                 };
             }
         }
 
-        OnFuncPresetUseDataEvent?.Invoke();
+        OnFuncPresetUseDataEvent?.Invoke(2);
     }
 
     //姣忎釜鍏ㄥ眬鏂规鐨勫瓨鍌ㄤ俊鎭�
@@ -146,7 +146,7 @@
                 m_FuncPresetSaveDict[batPreset.BatPresetID][funcPreset.FuncPresetType] = funcPreset.FuncPresetID;
             }
         }
-        OnFuncPresetUseDataEvent?.Invoke();
+        OnFuncPresetUseDataEvent?.Invoke(0);
     }
 
     //褰撳墠鎴樻枟鍔熻兘鐨勫叏灞�鏂规ID浣跨敤鎯呭喌
@@ -156,7 +156,7 @@
         {
             battlePreSetDict[netPack.BatPresetList[i].BatPresetType] = netPack.BatPresetList[i].BatPresetID;
         }
-        OnBattelePresetEvent?.Invoke();
+        OnFuncPresetUseDataEvent?.Invoke(1);
     }
 
     //鏍规嵁鎴樻枟鑾峰彇鍏ㄥ眬鏂规ID锛屽鏋滃彇涓嶅埌榛樿鏂规1
@@ -222,7 +222,7 @@
         var pack = new CB262_tagCSFuncPresetSwitch();
         pack.FuncPresetType = (byte)funcType;
         pack.PresetID = (byte)presetID;
-        pack.BatPresetID = (byte)battleType;
+        pack.BatPresetID = (byte)GetGlobalPresetID(battleType);
         GameNetSystem.Instance.SendInfo(pack);
     }
 
@@ -240,6 +240,7 @@
         pack.FuncPresetType = (byte)funcType;
         pack.PresetID = (byte)presetID;
         GameNetSystem.Instance.SendInfo(pack);
+        SysNotifyMgr.Instance.ShowTip("FuncPreset2");
     }
 
     //瑕佹樉绀虹殑鏂规鏁伴噺; 鏍规嵁鎯呭喌浼氬寘鍚湭瑙i攣
@@ -249,14 +250,14 @@
     {
         var unlockCnt = GetUnlockCnt(funcType);
         var maxCount = PresetUnlockConfig.GetFuncPresetMaxCount(funcType);
-        var unlockType = PresetUnlockConfig.GetUnlockType((int)FuncPresetType.Mingge);
+        var unlockType = PresetUnlockConfig.GetUnlockType(funcType);
         if (unlockType == 2)
         {
             //鍛芥牸鎸夋帹婕斿鐣岃В閿�
             //鍙湁1涓柟妗堝垯涓嶆樉绀猴紝澶т簬1涓垯鍏ㄦ樉绀�
             if (unlockCnt == 1)
             {
-                var config = PresetUnlockConfig.GetPresetUnlockConfig((int)FuncPresetType.Mingge, 2);
+                var config = PresetUnlockConfig.GetPresetUnlockConfig(funcType, 2);
                 if (MinggeManager.Instance.m_GanwuLV >= config.UnlockValue)
                 {
                     return maxCount;
@@ -325,7 +326,26 @@
 
         SaveFuncPresetID(battleType, funcType, id);
         return true;
-    } 
+    }
+
+    // 鐐瑰嚮娴佹淳/闃插畧棰勮鎸夐挳
+    public void ClickBattlePreset(int battleType)
+    {
+        if (battleType > 1)
+        {
+            UIManager.Instance.OpenWindow<FuncPresetWin>(battleType);
+            return;
+        }
+
+        if (!IsOpen())
+        {
+            UIManager.Instance.OpenWindow<FuncPresetUnLockWin>(battleType);
+        }
+        else
+        {
+			UIManager.Instance.OpenWindow<FuncPresetWin>(battleType);
+		}
+    }
 
 }
 

--
Gitblit v1.8.0