From e8a8c3c1b8c3bca0532d1853f15713e79385cc14 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=BC=A0=E9=93=AE?= <834207172@qq.com>
Date: Sun, 27 Apr 2025 11:30:35 +0800
Subject: [PATCH] =?UTF-8?q?06=20=E4=BC=98=E5=8C=96=E5=8A=A0=E8=BD=BD?=
=?UTF-8?q?=E8=B5=84=E6=BA=90=E5=8C=85=E8=AF=BB=E5=8F=96=E8=B7=AF=E5=BE=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Assets/06.UIFarme/RunTime/Base/BasePanel.cs | 55 ++++++++++++-------
.../06.UIFarme/RunTime/Manager/PanelSystem.cs | 12 ++--
Assets/06.UIFarme/package.json | 2 +-
3 files changed, 41 insertions(+), 28 deletions(-)
diff --git a/Assets/06.UIFarme/RunTime/Base/BasePanel.cs b/Assets/06.UIFarme/RunTime/Base/BasePanel.cs
index 1cd0539..8cd52d6 100644
--- a/Assets/06.UIFarme/RunTime/Base/BasePanel.cs
+++ b/Assets/06.UIFarme/RunTime/Base/BasePanel.cs
@@ -9,8 +9,6 @@ namespace Stary.Evo.UIFarme
{
public interface IBasePanel : IController
{
-
-
///
/// 绑定这个面板的实例
///
@@ -50,14 +48,14 @@ namespace Stary.Evo.UIFarme
///
/// ui信息
///
- Task CreatePanel(string panelName);
+ Task CreatePanel(string panelName, string packageName);
///
/// 销毁一个Ui对象
///
///
void DestoryUI();
-
+
void SetPanelParent(Transform parent);
}
@@ -79,21 +77,20 @@ namespace Stary.Evo.UIFarme
///
/// 生成的父物体
///
- protected Transform panelParent{get; private set;}
-
+ protected Transform panelParent { get; private set; }
+
///
/// 缓存该面板所有的Button,Toggle,Slider,InputField,Dropdown,ScroolBar
///
private Dictionary selectableDict;
- protected CanvasGroup canvasGroup{get;private set;}
-
- protected GameObject activePanel{get;private set;}
+ protected CanvasGroup canvasGroup { get; private set; }
+
+ protected GameObject activePanel { get; private set; }
protected BasePanel()
{
-
selectableDict = new Dictionary();
}
@@ -148,32 +145,49 @@ namespace Stary.Evo.UIFarme
}
- public async Task CreatePanel(string panelName)
+ public async Task CreatePanel(string panelName, string packageName)
{
if (panelParent == null)
{
Debug.LogError($"UnityEvo:parent为空,{panelName}无法创建,进程已中断,请检查!!!!!");
return null;
}
-
+
if (this.activePanel != null)
{
return activePanel.gameObject;
}
- var handle= YooAssets.LoadAssetAsync(panelName);
+ AssetHandle handle = null;
+ if (packageName == null)
+ {
+ handle = YooAssets.LoadAssetAsync(panelName);
+ }
+ else
+ {
+ var package= YooAssets.TryGetPackage(packageName);
+ if (package == null)
+ {
+ handle = YooAssets.LoadAssetAsync(panelName);
+ }
+ else
+ {
+ handle = package.LoadAssetAsync(panelName);
+ }
+ }
+
await handle.Task;
-
- activePanel = GameObject.Instantiate(handle.AssetObject as GameObject,panelParent);
+
+ activePanel = GameObject.Instantiate(handle.AssetObject as GameObject, panelParent);
activePanel.name = this.GetType().Name;
-
-
+
+
if (!activePanel.GetComponent