Update TResource.cs

This commit is contained in:
ALEXTANG
2022-09-05 17:45:45 +08:00
parent 196d2b0666
commit 6f3808a97e

View File

@@ -24,6 +24,11 @@ namespace TEngine.Runtime
m_ResourceHelper = resourceHelper;
}
/// <summary>
/// 加载GameObject
/// </summary>
/// <param name="path">路径</param>
/// <returns></returns>
public static GameObject Load(string path)
{
if (m_ResourceHelper == null)
@@ -35,6 +40,12 @@ namespace TEngine.Runtime
return m_ResourceHelper.Load(path);
}
/// <summary>
/// 加载GameObject并设置父节点
/// </summary>
/// <param name="path">路径</param>
/// <param name="parent">父节点</param>
/// <returns></returns>
public static GameObject Load(string path, Transform parent)
{
if (m_ResourceHelper == null)
@@ -46,6 +57,12 @@ namespace TEngine.Runtime
return m_ResourceHelper.Load(path, parent);
}
/// <summary>
/// 加载泛型
/// </summary>
/// <param name="path">路径</param>
/// <typeparam name="T">泛型UnityEngine.Object</typeparam>
/// <returns></returns>
public static T Load<T>(string path) where T : UnityEngine.Object
{
if (m_ResourceHelper == null)
@@ -57,6 +74,11 @@ namespace TEngine.Runtime
return m_ResourceHelper.Load<T>(path);
}
/// <summary>
/// 异步加载GameObject
/// </summary>
/// <param name="path">路径</param>
/// <param name="callBack">回调</param>
public static void LoadAsync(string path, Action<GameObject> callBack)
{
if (m_ResourceHelper == null)
@@ -68,6 +90,13 @@ namespace TEngine.Runtime
m_ResourceHelper.LoadAsync(path, callBack);
}
/// <summary>
/// 异步加载泛型
/// </summary>
/// <param name="path"></param>
/// <param name="callBack"></param>
/// <param name="withSubAsset"></param>
/// <typeparam name="T">泛型UnityEngine.Object</typeparam>
public static void LoadAsync<T>(string path, Action<T> callBack, bool withSubAsset = false)
where T : UnityEngine.Object
{
@@ -79,5 +108,96 @@ namespace TEngine.Runtime
m_ResourceHelper.LoadAsync<T>(path, callBack, withSubAsset);
}
/// <summary>
/// 异步加载资源。
/// </summary>
/// <param name="path">要加载资源的路径全名。</param>
/// <param name="priority">加载资源的优先级。</param>
/// <param name="loadAssetCallbacks">加载资源回调函数集。</param>
/// <param name="userData">用户自定义数据。</param>
public static void LoadAsset(string path, int priority, LoadAssetCallbacks loadAssetCallbacks, object userData)
{
if (loadAssetCallbacks == null)
{
Log.Error("Load asset callbacks is invalid.");
return;
}
if (string.IsNullOrEmpty(path))
{
if (loadAssetCallbacks.LoadAssetFailureCallback != null)
{
loadAssetCallbacks.LoadAssetFailureCallback(path, LoadResourceStatus.NotExist,
"Asset name is invalid.", userData);
}
return;
}
var timeWatcher = new GameTickWatcher();
m_ResourceHelper.LoadAsync(path, (gameObject) =>
{
if (gameObject == null)
{
if (loadAssetCallbacks.LoadAssetFailureCallback != null)
{
loadAssetCallbacks.LoadAssetFailureCallback(path, LoadResourceStatus.NotExist,
Utility.Text.Format("Asset name '{0}' is invalid.", path), userData);
}
}
else
{
loadAssetCallbacks.LoadAssetSuccessCallback(path, gameObject, timeWatcher.ElapseTime(), userData);
}
});
}
/// <summary>
/// 异步加载资源。
/// </summary>
/// <param name="path">要加载资源的路径全名。</param>
/// <param name="priority">加载资源的优先级。</param>
/// <param name="loadAssetCallbacks">加载资源回调函数集。</param>
/// <param name="userData">用户自定义数据。</param>
public static void LoadAsset<T>(string path, int priority, LoadAssetCallbacks loadAssetCallbacks,
object userData) where T : UnityEngine.Object
{
if (loadAssetCallbacks == null)
{
Log.Error("Load asset callbacks is invalid.");
return;
}
if (string.IsNullOrEmpty(path))
{
if (loadAssetCallbacks.LoadAssetFailureCallback != null)
{
loadAssetCallbacks.LoadAssetFailureCallback(path, LoadResourceStatus.NotExist,
"Asset name is invalid.", userData);
}
return;
}
var timeWatcher = new GameTickWatcher();
m_ResourceHelper.LoadAsync<T>(path, (obj) =>
{
if (obj == null)
{
if (loadAssetCallbacks.LoadAssetFailureCallback != null)
{
loadAssetCallbacks.LoadAssetFailureCallback(path, LoadResourceStatus.NotExist,
Utility.Text.Format("Asset name '{0}' is invalid.", path), userData);
}
}
else
{
loadAssetCallbacks.LoadAssetSuccessCallback(path, obj, timeWatcher.ElapseTime(), userData);
}
});
}
}
}