From 1ab047b5fdd933c38ba0519ec2e83a44512ea8d7 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期四, 26 三月 2026 17:46:11 +0800
Subject: [PATCH] webgl代码合并 1

---
 Main/System/UIBase/UIBase.cs |  109 ++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 92 insertions(+), 17 deletions(-)

diff --git a/Main/System/UIBase/UIBase.cs b/Main/System/UIBase/UIBase.cs
index 6514d5e..b4e444f 100644
--- a/Main/System/UIBase/UIBase.cs
+++ b/Main/System/UIBase/UIBase.cs
@@ -127,7 +127,7 @@
         }
         catch (Exception e)
         {
-            Debug.LogError($"{uiName}鐣岄潰鐨処nitComponentInternal鎶ラ敊: {e.StackTrace}");
+            Debug.LogError($"{uiName}鐣岄潰鐨処nitComponentInternal鎶ラ敊: message: {e.Message} \nStackTrace: {e.StackTrace}");
         }
 
         try
@@ -136,7 +136,7 @@
         }
         catch (Exception e)
         {
-            Debug.LogError($"{uiName}鐣岄潰鐨処nitComponent鎶ラ敊: {e.StackTrace}");
+            Debug.LogError($"{uiName}鐣岄潰鐨処nitComponent鎶ラ敊: message: {e.Message} \nStackTrace: {e.StackTrace}");
         }
 
         // 淇濆瓨鍘熷鍊肩敤浜庡姩鐢�
@@ -144,9 +144,8 @@
         {
             if (Screen.height / Screen.width > 1.8)//瀹藉睆闇�瑕侀�傞厤
             {
-                //涓婁笅鍚勯棿闅擲afeWidth
-                _rectTransform.offsetMax = new Vector2(0, -SafeHeightUp);  //涓�
-                _rectTransform.offsetMin = new Vector2(0, SafeHeightDown);   //涓�
+                _rectTransform.offsetMax = new Vector2(0, -SafeHeightUp);   //涓�
+                _rectTransform.offsetMin = new Vector2(0, SafeHeightDown);  //涓�
             }
             originalPosition = _rectTransform.anchoredPosition;
         }
@@ -204,7 +203,6 @@
 
         btnClickEmptyClose.enabled = false;
     }
-
 
     protected async void ExecuteNextFrame(Action _action)
     {
@@ -274,7 +272,10 @@
     // 璁剧疆UI灞傜骇
     public void SetSortingOrder(int order)
     {
-        canvas.sortingOrder = order;
+        if (canvas == null)
+            canvas = GetComponent<Canvas>();
+        if (canvas != null)
+            canvas.sortingOrder = order;
     }
 
     protected virtual void OnPreOpen()
@@ -308,7 +309,7 @@
         }
         catch (Exception e)
         {
-            Debug.LogError($"{uiName}鐣岄潰鐨凮nPreOpen鎶ラ敊: {e.StackTrace}");
+            Debug.LogError($"{uiName}鐣岄潰鐨凮nPreOpen鎶ラ敊: message: {e.Message} \nStackTrace: {e.StackTrace}");
         }
 
         StopCurrentAnimation();
@@ -329,10 +330,15 @@
         }
         catch (Exception e)
         {
-            Debug.LogError($"{uiName}鐣岄潰鐨凮nOpen鎶ラ敊: {e.StackTrace}");
+            Debug.LogError($"{uiName}鐣岄潰鐨凮nOpen鎶ラ敊: message: {e.Message} \nStackTrace: {e.StackTrace}");
         }
 
-        ApplyClickEmptySpaceClose();
+        ApplyClickEmptySpaceClose().Forget();
+
+#if UNITY_WEBGL
+        // WebGL 璇婃柇锛氭娴� Image 缁勪欢鐨� sprite 鏄惁涓� null
+        DiagCheckImageSprites();
+#endif
 
         ExecuteNextFrame(() =>
         {
@@ -346,7 +352,7 @@
             }
             catch (Exception e)
             {
-                Debug.LogError($"{uiName}鐣岄潰鐨凬extFrameAfterOpen鎶ラ敊: {e.StackTrace}");
+                Debug.LogError($"{uiName}鐣岄潰鐨凬extFrameAfterOpen鎶ラ敊: message: {e.Message} \nStackTrace: {e.StackTrace}");
             }
         });
     }
@@ -355,6 +361,75 @@
     {
 
     }
+
+#if UNITY_WEBGL
+    /// <summary>
+    /// WebGL 璇婃柇锛氭娴嬫墍鏈� Image 瀛愮粍浠剁殑 sprite 鐘舵�併��
+    /// 鐢ㄤ簬鎺掓煡 WebGL 鏋勫缓涓� Image 璧勬簮涓㈠け鐨勯棶棰樸��
+    /// </summary>
+    private void DiagCheckImageSprites()
+    {
+        var images = GetComponentsInChildren<Image>(true);
+        int nullCount = 0;
+        int totalCount = images.Length;
+        var sb = new System.Text.StringBuilder();
+
+        foreach (var img in images)
+        {
+            if (img.sprite == null && img.overrideSprite == null)
+            {
+                // 璺宠繃 Color-only 鎴� mask 鐢ㄩ�旂殑 Image锛堟棤闇� sprite锛�
+                if (img.type == Image.Type.Simple && img.color.a < 0.01f)
+                    continue;
+
+                nullCount++;
+                string path = GetTransformPath(img.transform);
+                sb.AppendLine($"  [NULL sprite] {path} (type={img.type}, raycast={img.raycastTarget})");
+            }
+        }
+
+        var rawImages = GetComponentsInChildren<RawImage>(true);
+        int rawNullCount = 0;
+        foreach (var ri in rawImages)
+        {
+            if (ri.texture == null)
+            {
+                rawNullCount++;
+                string path = GetTransformPath(ri.transform);
+                sb.AppendLine($"  [NULL texture] RawImage: {path}");
+            }
+        }
+
+        if (nullCount > 0 || rawNullCount > 0)
+        {
+            Debug.LogWarning($"[UIBase][SpriteDiag] {uiName}: {nullCount}/{totalCount} Image sprites NULL, {rawNullCount} RawImage textures NULL\n{sb}");
+        }
+        else
+        {
+            Debug.Log($"[UIBase][SpriteDiag] {uiName}: All {totalCount} Image sprites OK");
+        }
+
+        // 妫�鏌� Canvas 鐘舵��
+        if (canvas != null)
+        {
+            Debug.Log($"[UIBase][SpriteDiag] {uiName} Canvas: renderMode={canvas.renderMode}, worldCamera={(canvas.worldCamera != null ? canvas.worldCamera.name : "NULL")}, sortingOrder={canvas.sortingOrder}");
+        }
+    }
+
+    private string GetTransformPath(Transform t)
+    {
+        string path = t.name;
+        Transform parent = t.parent;
+        int depth = 0;
+        while (parent != null && parent != transform && depth < 10)
+        {
+            path = parent.name + "/" + path;
+            parent = parent.parent;
+            depth++;
+        }
+        return path;
+    }
+#endif
 
     // 鍏抽棴UI - 淇敼鍚庣殑鏂规硶
     public void HandleClose()
@@ -371,7 +446,7 @@
         }
         catch (Exception e)
         {
-            Debug.LogError($"{uiName}鐣岄潰鐨凮nPreClose鎶ラ敊: {e.StackTrace}");
+            Debug.LogError($"{uiName}鐣岄潰鐨凮nPreClose鎶ラ敊: message: {e.Message} \nStackTrace: {e.StackTrace}");
         }
 
         StopCurrentAnimation();
@@ -392,7 +467,7 @@
         }
         catch (Exception e)
         {
-            Debug.LogError($"{uiName}鐣岄潰鐨凮nClose鎶ラ敊: {e.StackTrace}");
+            Debug.LogError($"{uiName}鐣岄潰鐨凮nClose鎶ラ敊: message: {e.Message} \nStackTrace: {e.StackTrace}");
         }
 
         if (closeAnimationType == UIAnimationType.None)
@@ -403,7 +478,7 @@
             }
             catch (Exception e)
             {
-                Debug.LogError($"{uiName}鐣岄潰鐨凜ompleteClose鎶ラ敊: {e.StackTrace}");
+                Debug.LogError($"{uiName}鐣岄潰鐨凜ompleteClose鎶ラ敊: message: {e.Message} \nStackTrace: {e.StackTrace}");
             }
         }
         // 鍚﹀垯鍦ㄥ姩鐢诲畬鎴愬悗绂佺敤娓告垙瀵硅薄锛堝湪PlayCloseAnimation涓鐞嗭級
@@ -672,7 +747,7 @@
         }
         catch (System.Exception e)
         {
-            Debug.LogError($"鎾斁鎵撳紑鍔ㄧ敾鏃跺嚭閿�: {e.StackTrace}");
+            Debug.LogError($"鎾斁鎵撳紑鍔ㄧ敾鏃跺嚭閿�: message: {e.Message} \nStackTrace: {e.StackTrace}");
 
             // 鍑洪敊鏃剁‘淇漊I鍙骞跺彲浜や簰
             if (canvasGroup != null)
@@ -795,7 +870,7 @@
                     }
                     catch (Exception e)
                     {
-                        Debug.LogError($"{uiName}鐣岄潰鐨凜ompleteClose鎶ラ敊: {e.StackTrace}");
+                        Debug.LogError($"{uiName}鐣岄潰鐨凜ompleteClose鎶ラ敊: message: {e.Message} \nStackTrace: {e.StackTrace}");
                     }
                 }
             });
@@ -804,7 +879,7 @@
         }
         catch (System.Exception e)
         {
-            Debug.LogError($"鎾斁鍏抽棴鍔ㄧ敾鏃跺嚭閿�: {e.StackTrace}");
+            Debug.LogError($"鎾斁鍏抽棴鍔ㄧ敾鏃跺嚭閿�: message: {e.Message} \nStackTrace: {e.StackTrace}");
             
             // 鍑洪敊鏃剁洿鎺ュ畬鎴愬叧闂�
             isAnimating = false;

--
Gitblit v1.8.0