From 2870383afe64c7f6bc68b9d9ae57552ea7b537ea Mon Sep 17 00:00:00 2001
From: ALEXTANG <574809918@qq.com>
Date: Wed, 15 Nov 2023 10:48:28 +0800
Subject: [PATCH 1/2] =?UTF-8?q?Resource=E6=A8=A1=E5=9D=97=E6=94=AF?=
=?UTF-8?q?=E6=8C=81=E6=93=8D=E4=BD=9C=E6=8C=87=E5=AE=9A=E8=B5=84=E6=BA=90?=
=?UTF-8?q?=E5=8C=85=E7=9A=84=E8=B5=84=E6=BA=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Resource模块支持操作指定资源包的资源
---
.../Modules/ResourceModule/ResourceModule.cs | 206 +++++++++---------
1 file changed, 103 insertions(+), 103 deletions(-)
diff --git a/UnityProject/Assets/TEngine/Runtime/Modules/ResourceModule/ResourceModule.cs b/UnityProject/Assets/TEngine/Runtime/Modules/ResourceModule/ResourceModule.cs
index 919a1d62..2f486bf9 100644
--- a/UnityProject/Assets/TEngine/Runtime/Modules/ResourceModule/ResourceModule.cs
+++ b/UnityProject/Assets/TEngine/Runtime/Modules/ResourceModule/ResourceModule.cs
@@ -239,13 +239,13 @@ namespace TEngine
///
/// 获取当前资源包版本。
///
- /// 指定资源包的名称。不传使用默认资源包
+ /// 指定资源包的名称。不传使用默认资源包
/// 资源包版本。
- public string GetPackageVersion(string packageName = "")
+ public string GetPackageVersion(string customPackageName = "")
{
- var package = string.IsNullOrEmpty(packageName)
+ var package = string.IsNullOrEmpty(customPackageName)
? YooAssets.GetPackage(this.packageName)
- : YooAssets.GetPackage(packageName);
+ : YooAssets.GetPackage(customPackageName);
if (package == null)
{
return string.Empty;
@@ -259,14 +259,14 @@ namespace TEngine
///
/// 请求URL是否需要带时间戳。
/// 超时时间。
- /// 指定资源包的名称。不传使用默认资源包
+ /// 指定资源包的名称。不传使用默认资源包
/// 请求远端包裹的最新版本操作句柄。
public UpdatePackageVersionOperation UpdatePackageVersionAsync(bool appendTimeTicks = false, int timeout = 60,
- string packageName = "")
+ string customPackageName = "")
{
- var package = string.IsNullOrEmpty(packageName)
+ var package = string.IsNullOrEmpty(customPackageName)
? YooAssets.GetPackage(this.packageName)
- : YooAssets.GetPackage(packageName);
+ : YooAssets.GetPackage(customPackageName);
return package.UpdatePackageVersionAsync(appendTimeTicks, timeout);
}
@@ -276,23 +276,23 @@ namespace TEngine
/// 更新的包裹版本
/// 更新成功后自动保存版本号,作为下次初始化的版本。
/// 超时时间(默认值:60秒)
- /// 指定资源包的名称。不传使用默认资源包
+ /// 指定资源包的名称。不传使用默认资源包
public UpdatePackageManifestOperation UpdatePackageManifestAsync(string packageVersion,
- bool autoSaveVersion = true, int timeout = 60, string packageName = "")
+ bool autoSaveVersion = true, int timeout = 60, string customPackageName = "")
{
- var package = string.IsNullOrEmpty(packageName)
+ var package = string.IsNullOrEmpty(customPackageName)
? YooAssets.GetPackage(this.packageName)
- : YooAssets.GetPackage(packageName);
+ : YooAssets.GetPackage(customPackageName);
return package.UpdatePackageManifestAsync(packageVersion, autoSaveVersion, timeout);
}
///
/// 创建资源下载器,用于下载当前资源版本所有的资源包文件。
///
- /// 指定资源包的名称。不传使用默认资源包
- public ResourceDownloaderOperation CreateResourceDownloader(string packageName = "")
+ /// 指定资源包的名称。不传使用默认资源包
+ public ResourceDownloaderOperation CreateResourceDownloader(string customPackageName = "")
{
- if (string.IsNullOrEmpty(packageName))
+ if (string.IsNullOrEmpty(customPackageName))
{
var package = YooAssets.GetPackage(this.packageName);
Downloader = package.CreateResourceDownloader(downloadingMaxNum, failedTryAgain);
@@ -300,7 +300,7 @@ namespace TEngine
}
else
{
- var package = YooAssets.GetPackage(packageName);
+ var package = YooAssets.GetPackage(customPackageName);
Downloader = package.CreateResourceDownloader(downloadingMaxNum, failedTryAgain);
return Downloader;
}
@@ -309,24 +309,24 @@ namespace TEngine
///
/// 清理包裹未使用的缓存文件。
///
- /// 指定资源包的名称。不传使用默认资源包
- public ClearUnusedCacheFilesOperation ClearUnusedCacheFilesAsync(string packageName = "")
+ /// 指定资源包的名称。不传使用默认资源包
+ public ClearUnusedCacheFilesOperation ClearUnusedCacheFilesAsync(string customPackageName = "")
{
- var package = string.IsNullOrEmpty(packageName)
+ var package = string.IsNullOrEmpty(customPackageName)
? YooAssets.GetPackage(this.packageName)
- : YooAssets.GetPackage(packageName);
+ : YooAssets.GetPackage(customPackageName);
return package.ClearUnusedCacheFilesAsync();
}
///
/// 清理沙盒路径。
///
- /// 指定资源包的名称。不传使用默认资源包
- public void ClearSandbox(string packageName = "")
+ /// 指定资源包的名称。不传使用默认资源包
+ public void ClearSandbox(string customPackageName = "")
{
- var package = string.IsNullOrEmpty(packageName)
+ var package = string.IsNullOrEmpty(customPackageName)
? YooAssets.GetPackage(this.packageName)
- : YooAssets.GetPackage(packageName);
+ : YooAssets.GetPackage(customPackageName);
package.ClearPackageSandbox();
}
@@ -398,11 +398,11 @@ namespace TEngine
/// 检查资源是否存在。
///
/// 要检查资源的名称。
- /// 指定资源包的名称。不传使用默认资源包
+ /// 指定资源包的名称。不传使用默认资源包
/// 检查资源是否存在的结果。
- public HasAssetResult HasAsset(string location, string packageName = "")
+ public HasAssetResult HasAsset(string location, string customPackageName = "")
{
- return m_ResourceManager.HasAsset(location, packageName: packageName);
+ return m_ResourceManager.HasAsset(location, packageName: customPackageName);
}
///
@@ -418,65 +418,65 @@ namespace TEngine
/// 是否需要从远端更新下载。
///
/// 资源的定位地址。
- /// 指定资源包的名称。不传使用默认资源包
+ /// 指定资源包的名称。不传使用默认资源包
///
- public bool IsNeedDownloadFromRemote(string location, string packageName = "")
+ public bool IsNeedDownloadFromRemote(string location, string customPackageName = "")
{
- return m_ResourceManager.IsNeedDownloadFromRemote(location, packageName: packageName);
+ return m_ResourceManager.IsNeedDownloadFromRemote(location, packageName: customPackageName);
}
///
/// 是否需要从远端更新下载。
///
/// 资源信息。
- /// 指定资源包的名称。不传使用默认资源包
+ /// 指定资源包的名称。不传使用默认资源包
///
- public bool IsNeedDownloadFromRemote(AssetInfo assetInfo, string packageName = "")
+ public bool IsNeedDownloadFromRemote(AssetInfo assetInfo, string customPackageName = "")
{
- return m_ResourceManager.IsNeedDownloadFromRemote(assetInfo, packageName: packageName);
+ return m_ResourceManager.IsNeedDownloadFromRemote(assetInfo, packageName: customPackageName);
}
///
/// 获取资源信息列表。
///
/// 资源标签。
- /// 指定资源包的名称。不传使用默认资源包
+ /// 指定资源包的名称。不传使用默认资源包
/// 资源信息列表。
- public AssetInfo[] GetAssetInfos(string resTag, string packageName = "")
+ public AssetInfo[] GetAssetInfos(string resTag, string customPackageName = "")
{
- return m_ResourceManager.GetAssetInfos(resTag, packageName: packageName);
+ return m_ResourceManager.GetAssetInfos(resTag, packageName: customPackageName);
}
///
/// 获取资源信息列表。
///
/// 资源标签列表。
- /// 指定资源包的名称。不传使用默认资源包
+ /// 指定资源包的名称。不传使用默认资源包
/// 资源信息列表。
- public AssetInfo[] GetAssetInfos(string[] tags, string packageName = "")
+ public AssetInfo[] GetAssetInfos(string[] tags, string customPackageName = "")
{
- return m_ResourceManager.GetAssetInfos(tags, packageName: packageName);
+ return m_ResourceManager.GetAssetInfos(tags, packageName: customPackageName);
}
///
/// 获取资源信息。
///
/// 资源的定位地址。
- /// 指定资源包的名称。不传使用默认资源包
+ /// 指定资源包的名称。不传使用默认资源包
/// 资源信息。
- public AssetInfo GetAssetInfo(string location, string packageName = "")
+ public AssetInfo GetAssetInfo(string location, string customPackageName = "")
{
- return m_ResourceManager.GetAssetInfo(location, packageName: packageName);
+ return m_ResourceManager.GetAssetInfo(location, packageName: customPackageName);
}
///
/// 检查资源定位地址是否有效。
///
/// 资源的定位地址
- /// 指定资源包的名称。不传使用默认资源包
- public bool CheckLocationValid(string location, string packageName = "")
+ /// 指定资源包的名称。不传使用默认资源包
+ public bool CheckLocationValid(string location, string customPackageName = "")
{
- return m_ResourceManager.CheckLocationValid(location, packageName: packageName);
+ return m_ResourceManager.CheckLocationValid(location, packageName: customPackageName);
}
///
@@ -485,13 +485,13 @@ namespace TEngine
/// 资源的定位地址。
/// 是否需要实例化。
/// 是否需要缓存。
- /// 指定资源包的名称。不传使用默认资源包
+ /// 指定资源包的名称。不传使用默认资源包
/// 要加载资源的类型。
/// 资源实例。
public T LoadAsset(string location, bool needInstance = true, bool needCache = false,
- string packageName = "") where T : UnityEngine.Object
+ string customPackageName = "") where T : UnityEngine.Object
{
- return m_ResourceManager.LoadAsset(location, needInstance, needCache, packageName: packageName);
+ return m_ResourceManager.LoadAsset(location, needInstance, needCache, packageName: customPackageName);
}
///
@@ -501,13 +501,13 @@ namespace TEngine
/// 父节点位置。
/// 是否需要实例化。
/// 是否需要缓存。
- /// 指定资源包的名称。不传使用默认资源包
+ /// 指定资源包的名称。不传使用默认资源包
/// 要加载资源的类型。
/// 资源实例。
public T LoadAsset(string location, Transform parent, bool needInstance = true, bool needCache = false,
- string packageName = "") where T : UnityEngine.Object
+ string customPackageName = "") where T : UnityEngine.Object
{
- return m_ResourceManager.LoadAsset(location, parent, needInstance, needCache, packageName: packageName);
+ return m_ResourceManager.LoadAsset(location, parent, needInstance, needCache, packageName: customPackageName);
}
///
@@ -516,13 +516,13 @@ namespace TEngine
/// 资源操作句柄。
/// 资源的定位地址。
/// 是否需要缓存。
- /// 指定资源包的名称。不传使用默认资源包
+ /// 指定资源包的名称。不传使用默认资源包
/// 要加载资源的类型。
/// 资源实例。
public T LoadAsset(string location, out AssetOperationHandle handle, bool needCache = false,
- string packageName = "") where T : UnityEngine.Object
+ string customPackageName = "") where T : UnityEngine.Object
{
- return m_ResourceManager.LoadAsset(location, out handle, needCache, packageName: packageName);
+ return m_ResourceManager.LoadAsset(location, out handle, needCache, packageName: customPackageName);
}
///
@@ -532,13 +532,13 @@ namespace TEngine
/// 资源操作句柄。
/// 父节点位置。
/// 是否需要缓存。
- /// 指定资源包的名称。不传使用默认资源包
+ /// 指定资源包的名称。不传使用默认资源包
/// 要加载资源的类型。
/// 资源实例。
public T LoadAsset(string location, Transform parent, out AssetOperationHandle handle,
- bool needCache = false, string packageName = "") where T : UnityEngine.Object
+ bool needCache = false, string customPackageName = "") where T : UnityEngine.Object
{
- return m_ResourceManager.LoadAsset(location, parent, out handle, needCache, packageName: packageName);
+ return m_ResourceManager.LoadAsset(location, parent, out handle, needCache, packageName: customPackageName);
}
///
@@ -547,13 +547,13 @@ namespace TEngine
/// 资源的定位地址。
/// 回调函数。
/// 是否需要缓存。
- /// 指定资源包的名称。不传使用默认资源包
+ /// 指定资源包的名称。不传使用默认资源包
/// 要加载资源的类型。
public void LoadAssetAsync(string location, Action callback = null,
- bool needCache = false, string packageName = "") where T : UnityEngine.Object
+ bool needCache = false, string customPackageName = "") where T : UnityEngine.Object
{
AssetOperationHandle handle =
- m_ResourceManager.LoadAssetAsyncHandle(location, needCache, packageName: packageName);
+ m_ResourceManager.LoadAssetAsyncHandle(location, needCache, packageName: customPackageName);
handle.Completed += callback;
}
@@ -563,13 +563,13 @@ namespace TEngine
///
/// 资源的定位地址。
/// 是否需要缓存。
- /// 指定资源包的名称。不传使用默认资源包
+ /// 指定资源包的名称。不传使用默认资源包
/// 要加载资源的类型。
/// 同步加载资源句柄。
public AssetOperationHandle LoadAssetGetOperation(string location, bool needCache = false,
- string packageName = "") where T : UnityEngine.Object
+ string customPackageName = "") where T : UnityEngine.Object
{
- return m_ResourceManager.LoadAssetGetOperation(location, needCache, packageName: packageName);
+ return m_ResourceManager.LoadAssetGetOperation(location, needCache, packageName: customPackageName);
}
///
@@ -577,13 +577,13 @@ namespace TEngine
///
/// 资源的定位地址。
/// 是否需要缓存。
- /// 指定资源包的名称。不传使用默认资源包
+ /// 指定资源包的名称。不传使用默认资源包
/// 要加载资源的类型。
/// 异步加载资源句柄。
public AssetOperationHandle LoadAssetAsyncHandle(string location, bool needCache = false,
- string packageName = "") where T : UnityEngine.Object
+ string customPackageName = "") where T : UnityEngine.Object
{
- return m_ResourceManager.LoadAssetAsyncHandle(location, needCache, packageName: packageName);
+ return m_ResourceManager.LoadAssetAsyncHandle(location, needCache, packageName: customPackageName);
}
@@ -592,11 +592,11 @@ namespace TEngine
///
/// 资源类型
/// 资源的定位地址
- /// 指定资源包的名称。不传使用默认资源包
- public SubAssetsOperationHandle LoadSubAssetsSync(string location, string packageName = "")
+ /// 指定资源包的名称。不传使用默认资源包
+ public SubAssetsOperationHandle LoadSubAssetsSync(string location, string customPackageName = "")
where TObject : UnityEngine.Object
{
- return m_ResourceManager.LoadSubAssetsSync(location: location, packageName: packageName);
+ return m_ResourceManager.LoadSubAssetsSync(location: location, packageName: customPackageName);
}
///
@@ -604,41 +604,41 @@ namespace TEngine
///
/// 资源类型
/// 资源的定位地址
- /// 指定资源包的名称。不传使用默认资源包
- public SubAssetsOperationHandle LoadSubAssetsAsync(string location, string packageName = "")
+ /// 指定资源包的名称。不传使用默认资源包
+ public SubAssetsOperationHandle LoadSubAssetsAsync(string location, string customPackageName = "")
where TObject : UnityEngine.Object
{
- return m_ResourceManager.LoadSubAssetsAsync(location: location, packageName: packageName);
+ return m_ResourceManager.LoadSubAssetsAsync(location: location, packageName: customPackageName);
}
///
/// 同步加载子资源对象
///
/// 资源的定位地址
- /// 指定资源包的名称。不传使用默认资源包
- public SubAssetsOperationHandle LoadSubAssetsSync(string location, string packageName = "")
+ /// 指定资源包的名称。不传使用默认资源包
+ public SubAssetsOperationHandle LoadSubAssetsSync(string location, string customPackageName = "")
{
- var assetInfo = GetAssetInfo(location, packageName: packageName);
+ var assetInfo = GetAssetInfo(location, customPackageName: customPackageName);
if (assetInfo == null)
{
Log.Fatal($"AssetsInfo is null");
return null;
}
- return m_ResourceManager.LoadSubAssetsSync(assetInfo, packageName: packageName);
+ return m_ResourceManager.LoadSubAssetsSync(assetInfo, packageName: customPackageName);
}
///
/// 通过Tag加载资源对象集合。
///
/// 资源标识。
- /// 指定资源包的名称。不传使用默认资源包
+ /// 指定资源包的名称。不传使用默认资源包
/// 资源类型。
/// 资源对象集合。
- public async UniTask> LoadAssetsByTagAsync(string assetTag, string packageName = "")
+ public async UniTask> LoadAssetsByTagAsync(string assetTag, string customPackageName = "")
where T : UnityEngine.Object
{
- return await m_ResourceManager.LoadAssetsByTagAsync(assetTag, packageName: packageName);
+ return await m_ResourceManager.LoadAssetsByTagAsync(assetTag, packageName: customPackageName);
}
///
@@ -648,14 +648,14 @@ namespace TEngine
/// 取消操作Token。
/// 是否需要实例化。
/// 是否需要缓存。
- /// 指定资源包的名称。不传使用默认资源包
+ /// 指定资源包的名称。不传使用默认资源包
/// 要加载资源的类型。
/// 异步资源实例。
public async UniTask LoadAssetAsync(string location, CancellationToken cancellationToken = default,
- bool needInstance = true, bool needCache = false, string packageName = "") where T : UnityEngine.Object
+ bool needInstance = true, bool needCache = false, string customPackageName = "") where T : UnityEngine.Object
{
return await m_ResourceManager.LoadAssetAsync(location, cancellationToken, needInstance, needCache,
- packageName: packageName);
+ packageName: customPackageName);
}
///
@@ -664,13 +664,13 @@ namespace TEngine
/// 要加载的游戏物体名称。
/// 取消操作Token。
/// 是否需要缓存。
- /// 指定资源包的名称。不传使用默认资源包
+ /// 指定资源包的名称。不传使用默认资源包
/// 异步游戏物体实例。
public async UniTask LoadGameObjectAsync(string location,
- CancellationToken cancellationToken = default, bool needCache = false, string packageName = "")
+ CancellationToken cancellationToken = default, bool needCache = false, string customPackageName = "")
{
return await m_ResourceManager.LoadGameObjectAsync(location, cancellationToken, needCache,
- packageName: packageName);
+ packageName: customPackageName);
}
///
@@ -680,13 +680,13 @@ namespace TEngine
/// 父节点位置。
/// 取消操作Token。
/// 是否需要缓存。
- /// 指定资源包的名称。不传使用默认资源包
+ /// 指定资源包的名称。不传使用默认资源包
/// 异步游戏物体实例。
public async UniTask LoadGameObjectAsync(string location, Transform parent,
- CancellationToken cancellationToken = default, bool needCache = false, string packageName = "")
+ CancellationToken cancellationToken = default, bool needCache = false, string customPackageName = "")
{
return await m_ResourceManager.LoadGameObjectAsync(location, parent, cancellationToken, needCache,
- packageName: packageName);
+ packageName: customPackageName);
}
///
@@ -694,12 +694,12 @@ namespace TEngine
///
/// 资源定位地址。
/// 取消操作Token。
- /// 指定资源包的名称。不传使用默认资源包
+ /// 指定资源包的名称。不传使用默认资源包
/// 原生文件资源实例。
public async UniTask LoadRawAssetAsync(string location,
- CancellationToken cancellationToken = default, string packageName = "")
+ CancellationToken cancellationToken = default, string customPackageName = "")
{
- return await m_ResourceManager.LoadRawAssetAsync(location, cancellationToken, packageName: packageName);
+ return await m_ResourceManager.LoadRawAssetAsync(location, cancellationToken, packageName: customPackageName);
}
///
@@ -708,14 +708,14 @@ namespace TEngine
/// 资源定位地址。
/// 子资源名称。
/// 取消操作Token。
- /// 指定资源包的名称。不传使用默认资源包
+ /// 指定资源包的名称。不传使用默认资源包
/// 资源实例类型。
/// 原生文件资源实例。
public async UniTask LoadSubAssetAsync(string location, string assetName,
- CancellationToken cancellationToken = default, string packageName = "") where T : UnityEngine.Object
+ CancellationToken cancellationToken = default, string customPackageName = "") where T : UnityEngine.Object
{
return await m_ResourceManager.LoadSubAssetAsync(location, assetName, cancellationToken,
- packageName: packageName);
+ packageName: customPackageName);
}
///
@@ -723,14 +723,14 @@ namespace TEngine
///
/// 资源定位地址。
/// 取消操作Token。
- /// 指定资源包的名称。不传使用默认资源包
+ /// 指定资源包的名称。不传使用默认资源包
/// 资源实例类型。
/// 原生文件资源实例。
public async UniTask LoadAllSubAssetAsync(string location,
- CancellationToken cancellationToken = default, string packageName = "") where T : UnityEngine.Object
+ CancellationToken cancellationToken = default, string customPackageName = "") where T : UnityEngine.Object
{
return await m_ResourceManager.LoadAllSubAssetAsync(location, cancellationToken,
- packageName: packageName);
+ packageName: customPackageName);
}
#region 预加载
@@ -740,22 +740,22 @@ namespace TEngine
///
/// 资源定位地址。
/// 预加载对象。
- /// 指定资源包的名称。不传使用默认资源包
- public void PushPreLoadAsset(string location, UnityEngine.Object assetObject, string packageName = "")
+ /// 指定资源包的名称。不传使用默认资源包
+ public void PushPreLoadAsset(string location, UnityEngine.Object assetObject, string customPackageName = "")
{
- m_ResourceManager.PushPreLoadAsset(location, assetObject, packageName: packageName);
+ m_ResourceManager.PushPreLoadAsset(location, assetObject, packageName: customPackageName);
}
///
/// 获取预加载的实例对象。
///
/// 资源定位地址。
- /// 指定资源包的名称。不传使用默认资源包
+ /// 指定资源包的名称。不传使用默认资源包
/// 资源实例类型。
/// 预加载对象。
- public T GetPreLoadAsset(string location, string packageName = "") where T : UnityEngine.Object
+ public T GetPreLoadAsset(string location, string customPackageName = "") where T : UnityEngine.Object
{
- return m_ResourceManager.GetPreLoadAsset(location, packageName: packageName);
+ return m_ResourceManager.GetPreLoadAsset(location, packageName: customPackageName);
}
#endregion
From 623d301e4170a9e539c398ae7d4e5a9463d2e636 Mon Sep 17 00:00:00 2001
From: ALEXTANG <574809918@qq.com>
Date: Wed, 15 Nov 2023 14:06:49 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=BC=82=E6=AD=A5?=
=?UTF-8?q?=E5=88=9B=E5=BB=BA=E5=AD=90Widget=E6=97=B6SetParent=E7=9A=84?=
=?UTF-8?q?=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
修正异步创建子Widget时SetParent的问题
---
UnityProject/Assets/TEngine/Runtime/Modules/UIModule/UIBase.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/UnityProject/Assets/TEngine/Runtime/Modules/UIModule/UIBase.cs b/UnityProject/Assets/TEngine/Runtime/Modules/UIModule/UIBase.cs
index bbf5e8ad..bad0f557 100644
--- a/UnityProject/Assets/TEngine/Runtime/Modules/UIModule/UIBase.cs
+++ b/UnityProject/Assets/TEngine/Runtime/Modules/UIModule/UIBase.cs
@@ -340,7 +340,7 @@ namespace TEngine
public async UniTask CreateWidgetByPathAsync(Transform parentTrans, string assetLocation, bool visible = true) where T : UIWidget, new()
{
GameObject goInst = await GameModule.Resource.LoadAssetAsync(assetLocation, gameObject.GetCancellationTokenOnDestroy());
- goInst.transform.SetParent(parentTrans);
+ goInst.transform.SetParent(parentTrans, false);
return CreateWidget(goInst, visible);
}