From bc1cb6da854cb2e9144f10ed55330a537ecdca16 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 04 三月 2026 14:35:57 +0800
Subject: [PATCH] 466 h5版本 资源规则修改 打包修改(未完成 勿拉取)

---
 Main/System/UIBase/OneLevelWin.cs |   36 ++++++++++++++++++++++++++++++++++--
 1 files changed, 34 insertions(+), 2 deletions(-)

diff --git a/Main/System/UIBase/OneLevelWin.cs b/Main/System/UIBase/OneLevelWin.cs
index be5cde9..02feaa8 100644
--- a/Main/System/UIBase/OneLevelWin.cs
+++ b/Main/System/UIBase/OneLevelWin.cs
@@ -1,6 +1,7 @@
 using UnityEngine;
 using UnityEngine.UI; 
 using System;
+using Cysharp.Threading.Tasks;
 
 // 涓�绾х晫闈㈠甫棰勫埗浣擄紝搴曢儴鍔熻兘鎸夐挳鏍峰紡
 public class OneLevelWin : FunctionsBaseWin
@@ -8,10 +9,40 @@
     [NonSerialized] GroupButtonEx tabBtn;
     public FuncBtnData[] funcBtnDatas;
     [NonSerialized] Button closeBtn;
+
+    bool isComponentReady = false;
+
     protected override void InitComponent()
     {
+        InitComponentAsync().Forget();
+    }
+
+    protected override void OnPreOpen()
+    {
+        if (!isComponentReady)
+        {
+            WaitReadyThenOpen().Forget();
+            return;
+        }
+        base.OnPreOpen();
+    }
+
+    private async UniTaskVoid WaitReadyThenOpen()
+    {
+        await UniTask.WaitUntil(() => isComponentReady || this == null);
+        if (this == null) return;
+        base.OnPreOpen();
+    }
+
+    private async UniTask InitComponentAsync()
+    {
         // 鍒涘缓
-        var instance = UIUtility.CreateWidget("OneLevelWin", "BottomTabs");
+        var instance = await UIUtility.CreateWidget("OneLevelWin", "BottomTabs");
+        if (this == null)
+        {
+            if (instance != null) DestroyImmediate(instance);
+            return;
+        }
         instance.transform.SetParent(_rectTransform, false);
         closeBtn = _rectTransform.GetComponent<Button>("BottomTabs/bg/backbtn");
         tabBtn = _rectTransform.GetComponent<GroupButtonEx>("BottomTabs/bg/btns/funcbtn");
@@ -33,8 +64,9 @@
             tabButtons[i].SetActive(true);
         }
         base.InitComponent();
-
         closeBtn.AddListener(CloseWindow);
+
+        isComponentReady = true;
     }
 
     protected override void OpenSubUIByTabIndex()

--
Gitblit v1.8.0