From b3b624fabc00d12d6bbc31ed6d38790c5b28d7fa Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期一, 23 三月 2026 19:03:56 +0800
Subject: [PATCH] 577 子 【配套功能】新手引导 / 【新增】红颜引导

---
 Main/System/BeautyMM/BeautyMMCell.cs    |    1 +
 Main/System/BeautyMM/BeautyMMListWin.cs |   27 +++++++++++++++++++++++++++
 Main/System/BeautyMM/BeautyMMManager.cs |    7 +++++--
 3 files changed, 33 insertions(+), 2 deletions(-)

diff --git a/Main/System/BeautyMM/BeautyMMCell.cs b/Main/System/BeautyMM/BeautyMMCell.cs
index aaa3bd1..54a1db3 100644
--- a/Main/System/BeautyMM/BeautyMMCell.cs
+++ b/Main/System/BeautyMM/BeautyMMCell.cs
@@ -24,6 +24,7 @@
     public void Display(int index)
     {
         var mmID = BeautyMMManager.Instance.beautyMMIDSortList[index];
+        gameObject.name = $"BeautyMMCell_{mmID}";
         var isActive = BeautyMMManager.Instance.isActiveMM(mmID);
         var mmConfig = BeautyConfig.Get(mmID);
         bgIcon.SetSprite($"mmBG{mmConfig.BeautyQuality}");
diff --git a/Main/System/BeautyMM/BeautyMMListWin.cs b/Main/System/BeautyMM/BeautyMMListWin.cs
index 593753c..7f351c3 100644
--- a/Main/System/BeautyMM/BeautyMMListWin.cs
+++ b/Main/System/BeautyMM/BeautyMMListWin.cs
@@ -41,6 +41,7 @@
     {
         BeautyMMManager.Instance.SortMMList(functionOrder);
         scroller.OnRefreshCell += OnRefreshCell;
+        UIManager.Instance.OnOpenWindow += OnOpenWindow;
         UIManager.Instance.OnCloseWindow += OnCloseWindow;
         Display();
     }
@@ -49,6 +50,7 @@
     protected override void OnPreClose()
     {
         scroller.OnRefreshCell -= OnRefreshCell;
+        UIManager.Instance.OnOpenWindow -= OnOpenWindow;
         UIManager.Instance.OnCloseWindow -= OnCloseWindow;
     }
 
@@ -98,4 +100,29 @@
         }
     }
 
+    void OnOpenWindow(UIBase ui)
+    {
+        if (ui is NewBieWin)
+        {
+            if (BeautyMMManager.Instance.beautyIDGuideDic.ContainsKey(NewBieCenter.Instance.guideStep))
+            {
+                int jumpMMID = BeautyMMManager.Instance.beautyIDGuideDic[NewBieCenter.Instance.guideStep];
+                scroller.JumpIndex(FindJumpIndexBymmID(jumpMMID));
+            }
+        }
+    }
+
+    int FindJumpIndexBymmID(int mmID)
+    {
+        int index = -1;
+        foreach (var tempID in BeautyMMManager.Instance.beautyMMIDSortList)
+        {
+            index++;
+            if (tempID == mmID)
+            {
+                return index / 3 - 1;
+            }
+        }
+        return -1;
+    }
 }
diff --git a/Main/System/BeautyMM/BeautyMMManager.cs b/Main/System/BeautyMM/BeautyMMManager.cs
index 5da302a..68f9aff 100644
--- a/Main/System/BeautyMM/BeautyMMManager.cs
+++ b/Main/System/BeautyMM/BeautyMMManager.cs
@@ -40,7 +40,7 @@
 
     public Dictionary<int, long> allMMTalentAttr = new Dictionary<int, long>();
     public Dictionary<int, int> allMMTalentEffect = new Dictionary<int, int>();
-
+    public Dictionary<int, int> beautyIDGuideDic= new Dictionary<int, int>();
 
     public override void Init()
     {
@@ -85,7 +85,10 @@
         maxGirds = travelRowCol[0] * travelRowCol[1];
         addEnergyItemID = int.Parse(config.Numerical4);
         addEnergyValue = int.Parse(config.Numerical5);
-        
+
+        config = FuncConfigConfig.Get("Guide");
+        beautyIDGuideDic = ConfigParse.ParseIntDict(config.Numerical2);
+
     }
 
 

--
Gitblit v1.8.0