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