Update ResourcesLocalComponent.cs

pull/1/head
zhangxl 2024-07-19 10:52:46 +08:00
parent 73ea5e97f3
commit babf5b2dd7
1 changed files with 38 additions and 1 deletions

View File

@ -12,6 +12,8 @@ namespace ZC
UniTask<T> LoadAssetAsync<T>(string location, uint priority = 0) where T : UnityEngine.Object; UniTask<T> LoadAssetAsync<T>(string location, uint priority = 0) where T : UnityEngine.Object;
UniTask<Object> LoadAssetAsync(string location, uint priority = 0); UniTask<Object> LoadAssetAsync(string location, uint priority = 0);
T LoadAssetSync<T>(string location) where T : UnityEngine.Object; T LoadAssetSync<T>(string location) where T : UnityEngine.Object;
GameObject LoadUIGameObjectSync(string location, UILayer uiLayer);
GameObject LoadGameObjectSync(string location);
Object LoadAssetSync(string location); Object LoadAssetSync(string location);
UniTask LoadSceneAsync(string location, LoadSceneMode sceneMode = LoadSceneMode.Single, bool suspendLoad = false, uint priority = 100, Action<float> callback = null); UniTask LoadSceneAsync(string location, LoadSceneMode sceneMode = LoadSceneMode.Single, bool suspendLoad = false, uint priority = 100, Action<float> callback = null);
} }
@ -49,7 +51,7 @@ namespace ZC
Low = transform.Find("Global/UI/UICanvas/Low"); Low = transform.Find("Global/UI/UICanvas/Low");
Mid = transform.Find("Global/UI/UICanvas/Mid"); Mid = transform.Find("Global/UI/UICanvas/Mid");
Hid = transform.Find("Global/UI/UICanvas/Hid"); Hid = transform.Find("Global/UI/UICanvas/Hid");
Parent = transform.Find("Global/GameObject"); Parent = transform.Find("ObjectPool");
} }
public async UniTask<T> LoadAssetAsync<T>(string location, uint priority = 0) where T : UnityEngine.Object public async UniTask<T> LoadAssetAsync<T>(string location, uint priority = 0) where T : UnityEngine.Object
@ -87,6 +89,41 @@ namespace ZC
return assetObject; return assetObject;
} }
public GameObject LoadUIGameObjectSync(string location, UILayer uiLayer)
{
var loadAssetAsync = YooAssets.LoadAssetSync(location);
Debug.Log($"加载{location}完成");
GameObject go = null;
switch (uiLayer)
{
case UILayer.Min:
go = Object.Instantiate(loadAssetAsync.AssetObject, this.Min) as GameObject;
break;
case UILayer.Low:
go = Object.Instantiate(loadAssetAsync.AssetObject, this.Low) as GameObject;
break;
case UILayer.Mid:
go = Object.Instantiate(loadAssetAsync.AssetObject, this.Mid) as GameObject;
break;
case UILayer.High:
go = Object.Instantiate(loadAssetAsync.AssetObject, this.Hid) as GameObject;
break;
default:
throw new ArgumentOutOfRangeException(nameof(uiLayer), uiLayer, null);
}
return go;
}
public GameObject LoadGameObjectSync(string location)
{
var loadAssetAsync = YooAssets.LoadAssetSync(location);
Debug.Log($"加载{location}完成");
GameObject go = null;
go = Object.Instantiate(loadAssetAsync.AssetObject, this.Parent) as GameObject;
return go;
}
public Object LoadAssetSync(string location) public Object LoadAssetSync(string location)
{ {
var loadAssetAsync = YooAssets.LoadAssetSync(location); var loadAssetAsync = YooAssets.LoadAssetSync(location);