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