From b0a5d4688f1af73b5ad03ccc2df11c9aac1523a9 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期二, 29 七月 2025 16:56:23 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts

---
 Main/System/UIBase/UIBase.cs |   57 +++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 35 insertions(+), 22 deletions(-)

diff --git a/Main/System/UIBase/UIBase.cs b/Main/System/UIBase/UIBase.cs
index 37c3a1d..02d2031 100644
--- a/Main/System/UIBase/UIBase.cs
+++ b/Main/System/UIBase/UIBase.cs
@@ -9,9 +9,9 @@
 public enum UILayer
 {
     Static, // 闈欐�乁I 閫傚悎鍋� 鎴樻枟 涓荤晫闈�
-    Bottom, // 涓荤晫闈�
-    Mid,    // 鍔熻兘绐楀彛
-    System,  // 缃戠粶寮圭獥/鍏朵粬閲嶈寮圭獥
+    Bottom, // 閮ㄥ垎鐣岄潰鐗规畩澶勭悊灞傜骇鐢�
+    Mid,    // 澶ч儴鍒嗗姛鑳界獥鍙i兘鏀捐繖灞傦紝渚夸簬璺宠浆涓婁笅灞傜鐞嗭紙涓�涓晫闈㈠彲浠ュ悓鏃跺瓨鍦ㄥ涓級
+    System,  // 缃戠粶寮圭獥锛屼俊鎭彁绀虹瓑锛屽叾浠栭噸瑕佸脊绐�
     Loading,    // 鍔犺浇鐣岄潰
 
 }
@@ -40,7 +40,14 @@
     [SerializeField] public UILayer uiLayer = UILayer.Mid;
     [SerializeField][HideInInspector] public string uiName;
     [SerializeField] public bool isMainUI = false;
-    [SerializeField] public bool supportParentChildRelation = true; // 鏂板锛氭槸鍚︽敮鎸佺埗瀛愬叧绯�
+
+    // 鏂板锛氭槸鍚︽敮鎸佺埗瀛愬叧绯�
+    // 鐖跺瓙鍏崇郴:UI鎷ユ湁鐨勪笂涓嬬骇閾惧紡鍏崇郴
+    // 鍦ㄩ潪鐗瑰畾鎯呭喌涓� 閮借鎷ユ湁鐖跺瓙鍏崇郴 锛堜竴鑸潵璇村姛鑳介兘瑕佹湁鐖跺瓙鍏崇郴 渚嬪鐨勬槸渚嬪绯荤粺寮圭獥 
+    // 涓荤晫闈㈣繖绉嶄笉闇�瑕� 鍦ㄥ埗浣淯I浼�  鐩墠鐨勯渶姹傛槸 鍔熻兘鍏ㄩ儴鍋氬湪Middle灞傦級
+    // 鎷ユ湁鐖跺瓙鍏崇郴 鍦ㄥ叧闂埗鐣岄潰鐨勬椂鍊� 瀛愮晫闈細杩炲悓涓�璧峰叧闂� 瀛愮晫闈㈡墦寮�鏃� 鐖剁晫闈㈢殑鈥滃洖鍚堟暟鈥濅細鍒锋柊 鍥炲悎鏁拌瑙佹寔涔呭寲鐩稿叧鐨勬敞閲�
+    // 
+    [SerializeField] public bool supportParentChildRelation = true; 
 
     // 鎸佷箙鍖栫浉鍏�
     [SerializeField] public bool isPersistent = false;
@@ -65,12 +72,13 @@
     //  鎵撳紑閬僵
     [SerializeField] public bool openMask = false;
 
-    //  鐐瑰嚮绌虹櫧鍖哄煙鍏抽棴鐣岄潰
+    //  榛樿鐐瑰嚮绌虹櫧鍖哄煙鍏抽棴鐣岄潰
     [SerializeField] public bool clickEmptySpaceClose = false;
 
     private GameObject screenMask = null;
 
     private Button btnClickEmptyClose;
+    public Action btnClickEmptyCloseEvent = null;   //鎻愪緵鐐瑰嚮绌虹櫧鍖哄煙鍏抽棴鐣岄潰鐨勫洖璋�
 
     //  璺烵neLevelWin鑱斿姩 瀹為檯涓婃槸闇�瑕佺户鎵胯嚜OneLevelWin鎵嶈兘鐢熸晥鐨勫�� 浣跨敤闇�瑕佹敞鎰�
     int m_FunctionOrder = 0;
@@ -109,7 +117,8 @@
         // 淇濆瓨鍘熷鍊肩敤浜庡姩鐢�
         if (_rectTransform != null)
         {
-            originalPosition = _rectTransform.anchoredPosition;
+            originalPosition = _rectTransform.anchoredPosition;;
+
         }
 
         ApplySettings();
@@ -135,12 +144,20 @@
             //寤惰繜鍒涘缓浼氬鑷村眰绾у湪ScreenMask涔嬩笂
             GameObject goBtnESC = GameObject.Instantiate(Resources.Load<GameObject>("Prefabs/ClickEmptyCloseMask"), transform);
             btnClickEmptyClose = goBtnESC.GetComponent<Button>();
-            btnClickEmptyClose.AddListener(CloseWindow);
             btnClickEmptyClose.transform.SetAsFirstSibling();
             await UniTask.DelayFrame(5);
 
-            btnClickEmptyClose = goBtnESC.GetComponent<Button>();
-            btnClickEmptyClose.AddListener(CloseWindow);
+            btnClickEmptyClose.AddListener(()=>
+            {
+                if (btnClickEmptyCloseEvent != null)
+                {
+                    btnClickEmptyCloseEvent();
+                }
+                else
+                { 
+                    CloseWindow();
+                }
+            });
         }
     }
 
@@ -176,8 +193,9 @@
 
         // 璁剧疆Canvas灞炴��
         canvas.overrideSorting = true;
-
         canvas.worldCamera = CameraManager.uiCamera;
+
+        canvas.sortingLayerID = SortingLayer.NameToID("UI"); // 纭繚浣跨敤姝g‘鐨勬帓搴忓眰
 
         // 鑾峰彇鎴栨坊鍔燙anvasGroup缁勪欢
         canvasGroup = GetComponent<CanvasGroup>();
@@ -244,6 +262,10 @@
 
         // 鏍规嵁鍔ㄧ敾绫诲瀷鎾斁鎵撳紑鍔ㄧ敾
         PlayOpenAnimation();
+        
+        // // 濡傛灉鍚庣画闇�瑕佺粺涓�澶勭悊鍒樻捣鎴栬�呭皬娓告垙鐨勭晫闈㈤�傞厤闂
+        // _rectTransform.offsetMin = new Vector2(0, 10);  //涓嬫柟
+        // _rectTransform.offsetMax = new Vector2(0, -50); //涓婃柟
 
         OnOpen();
 
@@ -331,24 +353,15 @@
     /// <summary>
     /// 鎾斁UI鐗规晥
     /// </summary>
-    /// <param name="effectName">鐗规晥璧勬簮鍚嶇О</param>
+    /// <param name="id">鐗规晥璧勬簮鍚嶇О</param>
     /// <param name="parent">鐗规晥鐖惰妭鐐癸紝榛樿涓哄綋鍓峌I</param>
-    /// <param name="autoDestroy">鏄惁鑷姩閿�姣侊紝榛樿涓簍rue</param>
-    /// <param name="destroyDelay">鑷姩閿�姣佸欢杩熸椂闂达紝榛樿涓�5绉�</param>
     /// <returns>鐗规晥娓告垙瀵硅薄</returns>
-    public EffectPlayer PlayUIEffect(int id, Transform parent = null, bool autoDestroy = true, float destroyDelay = 5f)
+    public UIEffectPlayer PlayUIEffect(int id, Transform parent = null)
     {
         // 浣跨敤榛樿鍊�
         if (parent == null) parent = transform;
-        
-        EffectPlayer player = parent.gameObject.AddComponent<EffectPlayer>();
 
-        player.effectId = id;
-        player.autoDestroy = autoDestroy;
-        player.destroyDelay = destroyDelay;
-        player.canvas = canvas;
-
-        return player;
+        return UIEffectPlayer.CreateEffect(id, parent, false);
     }
     
     #endregion

--
Gitblit v1.8.0