Skip to content

Commit 01cda73

Browse files
committed
feat(UI): 为ReleaseUIForm方法添加uiFormAssetPath参数
在UIFormInstanceObject中存储并传递界面资源路径,以便在释放资源时提供更多上下文信息。这有助于调试和资源管理,特别是在需要根据路径进行特定处理时。
1 parent 8ed2a5d commit 01cda73

3 files changed

Lines changed: 10 additions & 5 deletions

File tree

Runtime/BaseUIManager.UIFormInstanceObject.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,11 @@ public partial class BaseUIManager
4242
public sealed class UIFormInstanceObject : ObjectBase
4343
{
4444
private object m_UIFormAsset = null;
45+
private string m_UIFormAssetPath = null;
4546
private IUIFormHelper m_UIFormHelper = null;
4647
private object m_AssetHandle = null;
4748

48-
public static UIFormInstanceObject Create(string name, object uiFormAsset, object uiFormInstance, IUIFormHelper uiFormHelper, object assetHandle)
49+
public static UIFormInstanceObject Create(string uiFormAssetPath, object uiFormAsset, object uiFormInstance, IUIFormHelper uiFormHelper, object assetHandle)
4950
{
5051
if (uiFormAsset == null)
5152
{
@@ -58,8 +59,9 @@ public static UIFormInstanceObject Create(string name, object uiFormAsset, objec
5859
}
5960

6061
var uiFormInstanceObject = ReferencePool.Acquire<UIFormInstanceObject>();
61-
uiFormInstanceObject.Initialize(name, uiFormInstance);
62+
uiFormInstanceObject.Initialize(uiFormAssetPath, uiFormInstance);
6263
uiFormInstanceObject.m_UIFormAsset = uiFormAsset;
64+
uiFormInstanceObject.m_UIFormAssetPath = uiFormAssetPath;
6365
uiFormInstanceObject.m_UIFormHelper = uiFormHelper;
6466
uiFormInstanceObject.m_AssetHandle = assetHandle;
6567
return uiFormInstanceObject;
@@ -71,11 +73,12 @@ public override void Clear()
7173
m_UIFormAsset = null;
7274
m_UIFormHelper = null;
7375
m_AssetHandle = null;
76+
m_UIFormAssetPath = null;
7477
}
7578

7679
protected override void Release(bool isShutdown)
7780
{
78-
m_UIFormHelper.ReleaseUIForm(m_UIFormAsset, Target, m_AssetHandle);
81+
m_UIFormHelper.ReleaseUIForm(m_UIFormAsset, Target, m_AssetHandle, m_UIFormAssetPath);
7982
}
8083
}
8184
}

Runtime/UI/IUIFormHelper.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ public interface IUIFormHelper
6060
/// <param name="uiFormAsset">要释放的界面资源。</param>
6161
/// <param name="uiFormInstance">要释放的界面实例。</param>
6262
/// <param name="assetHandle">界面资源句柄。</param>
63-
void ReleaseUIForm(object uiFormAsset, object uiFormInstance, object assetHandle);
63+
/// <param name="uiFormAssetPath">界面资源路径。</param>
64+
void ReleaseUIForm(object uiFormAsset, object uiFormInstance, object assetHandle, string uiFormAssetPath);
6465
}
6566
}

Runtime/UIFormHelperBase.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ public abstract class UIFormHelperBase : MonoBehaviour, IUIFormHelper
6262
/// <param name="uiFormAsset">要释放的界面资源。</param>
6363
/// <param name="uiFormInstance">要释放的界面实例。</param>
6464
/// <param name="assetHandle">资源句柄。</param>
65-
public abstract void ReleaseUIForm(object uiFormAsset, object uiFormInstance, object assetHandle);
65+
/// <param name="uiFormAssetPath">界面资源路径。</param>
66+
public abstract void ReleaseUIForm(object uiFormAsset, object uiFormInstance, object assetHandle, string uiFormAssetPath);
6667
}
6768
}

0 commit comments

Comments
 (0)