From f086c1ca7c319638ac6713599c299f9b6156a4bf Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期三, 05 十一月 2025 20:41:56 +0800
Subject: [PATCH] 0312 引导增加展示期,展示过后才能点击引导

---
 Main/System/NewBieGuidance/NewBieGuideScriptableObject.cs |    2 +-
 Main/System/HappyXB/HeroCallResultWin.cs                  |   11 ++++++++++-
 Main/System/NewBieGuidance/NewBieWin.cs                   |   24 +++++++++++++++++++-----
 3 files changed, 30 insertions(+), 7 deletions(-)

diff --git a/Main/System/HappyXB/HeroCallResultWin.cs b/Main/System/HappyXB/HeroCallResultWin.cs
index 2240f72..7fcbd3e 100644
--- a/Main/System/HappyXB/HeroCallResultWin.cs
+++ b/Main/System/HappyXB/HeroCallResultWin.cs
@@ -71,7 +71,14 @@
             HeroUIManager.Instance.selectCallIndex = 1;
             HappyXBModel.Instance.SendXBManyQuest((int)HeroUIManager.Instance.selectCallType);
         });
-        showNextlhOrCloseBtn.AddListener(RefreshLihui);
+        showNextlhOrCloseBtn.AddListener(()=>
+        {
+            if (Time.time - lastShowLHTime < 0.5f)
+            {
+                return;
+            }
+            RefreshLihui();
+        });
     }
 
 
@@ -285,8 +292,10 @@
         }
     }
 
+    float lastShowLHTime = 0;   //涓婃鏄剧ず绔嬬粯鐨勬椂闂� 璁剧疆鐐瑰嚮闂撮殧
     void RefreshLihui()
     {
+        lastShowLHTime = Time.time;
         //姹囨�诲搧璐ㄤ紶璇村強浠ヤ笂鐨勭珛缁�
         int heroID = 0;
         if (showLHHeroIDList.Count > 0)
diff --git a/Main/System/NewBieGuidance/NewBieGuideScriptableObject.cs b/Main/System/NewBieGuidance/NewBieGuideScriptableObject.cs
index e54b2db..155e93f 100644
--- a/Main/System/NewBieGuidance/NewBieGuideScriptableObject.cs
+++ b/Main/System/NewBieGuidance/NewBieGuideScriptableObject.cs
@@ -22,7 +22,7 @@
     //  濡傛灉鍚庣画鎯冲仛锛氫笉鎯宠钂欑増 鍙堟兂瑕佺偣鍑诲紩瀵肩殑浣嶇疆鎵嶆湁鏁� 鍒欏彲浠ユ槸鍦ㄥ嬀閫塩lickAnyWhereComplete鎯呭喌涓嬶紝鏀瑰彉mask鐨刟lpha鍊煎嵆鍙厤鍚堟彁绀�
     public bool clickAnyWhereComplete = false;  
     public bool clickCompleteNoMask = false;    //闈炲己鍒跺紩瀵硷紝浠绘剰鐐瑰嚮鍏抽棴锛屽嬀閫夋椤逛細闅愯棌钂欑増锛屼笖鐐瑰嚮鍏朵粬鍖哄煙涓嶄細鍝嶅簲鎸夐挳浜嬩欢
-
+    public int delayTime = 0;  //灞曠ず鏃堕棿锛堟绉掞級锛屾湡闂翠笉鍙偣鍑�
 
     // 寮曞鐨勬枃鏈殑绠ご浣嶇疆
     public enum ArrowPosition
diff --git a/Main/System/NewBieGuidance/NewBieWin.cs b/Main/System/NewBieGuidance/NewBieWin.cs
index 8858cfe..d4781a7 100644
--- a/Main/System/NewBieGuidance/NewBieWin.cs
+++ b/Main/System/NewBieGuidance/NewBieWin.cs
@@ -45,12 +45,13 @@
     GuideConfig config;
     NewBieGuideScriptableObject stepConfig; //寮曞姝ラ
 
+    float lastShowTime;
 
     #region Built-in
 
     protected override void InitComponent()
     {
-        m_ClickTalk.AddListener(()=>
+        m_ClickTalk.AddListener(() =>
         {
             ReportStepOver();
         });
@@ -110,6 +111,7 @@
             CloseWindow();
             return;
         }
+        lastShowTime = Time.time;
 
         if (config.WinName != "EquipExchangeWin" && UIManager.Instance.IsOpened<EquipExchangeWin>())
         {
@@ -284,10 +286,8 @@
         }
 
         m_ClickEffect.effectId = stepConfig.effect; //濡傛灉闇�瑕佺偣鍑荤壒鏁堜篃澧炲姞鍋忕Щ閲�
-        m_ClickEffect.SetActive(true);
-        m_ClickEffect.Play();
-        m_ClickEffect.transform.position = m_ClickTarget.position;
-        m_ClickEffect.transform.localPosition = m_ClickEffect.transform.localPosition + (Vector3)stepConfig.usherPosition;
+        m_ClickEffect.SetActive(false);
+        DelayShowClickEffect().Forget();
 
         if (stepConfig.clickCompleteNoMask)
         {
@@ -304,6 +304,16 @@
         }
     }
 
+    async UniTask DelayShowClickEffect()
+    {
+        await UniTask.Delay(stepConfig.delayTime);
+        m_ClickEffect.SetActive(true);
+        m_ClickEffect.Play();
+        m_ClickEffect.transform.position = m_ClickTarget.position;
+        m_ClickEffect.transform.localPosition = m_ClickEffect.transform.localPosition + (Vector3)stepConfig.usherPosition;
+
+    }
+
     void LateUpdate()
     {
         if (Input.GetMouseButtonUp(0))
@@ -318,6 +328,10 @@
             }
             if (stepConfig.clickAnyWhereComplete || m_NewBieMask.mask.IsInCirleArea(Input.mousePosition, CameraManager.uiCamera))
             {
+                if (stepConfig.delayTime > 0 && (Time.time - lastShowTime)*1000 < stepConfig.delayTime)
+                {
+                    return;
+                }
                 if (m_ClickTarget == null)
                 {
                     Debug.LogError("寮曞 m_ClickTarget == null; step = " + NewBieCenter.Instance.guideStep);

--
Gitblit v1.8.0