71 lines
2.7 KiB
C#
71 lines
2.7 KiB
C#
// using Cysharp.Threading.Tasks;
|
|
// using UnityEngine;
|
|
// using UnityEngine.SceneManagement;
|
|
// using YooAsset;
|
|
//
|
|
// namespace Unity.Loader
|
|
// {
|
|
// public interface IResourcesComponent
|
|
// {
|
|
// //
|
|
// UniTask<T> LoadAssetAsync<T>(string location, uint priority = 0) where T : UnityEngine.Object;
|
|
// UniTask<Object> LoadAssetAsync(string location, uint priority = 0);
|
|
// UniTask LoadSceneAsync(string location, LoadSceneMode sceneMode = LoadSceneMode.Single, bool suspendLoad = false, uint priority = 100);
|
|
// }
|
|
//
|
|
// public class ResourcesComponent : IResourcesComponent
|
|
// {
|
|
// private static ResourcesComponent instance;
|
|
//
|
|
// public static ResourcesComponent Instance
|
|
// {
|
|
// get
|
|
// {
|
|
// if (instance == null)
|
|
// {
|
|
// instance = new ResourcesComponent();
|
|
// }
|
|
//
|
|
// return instance;
|
|
// }
|
|
// }
|
|
//
|
|
// public async UniTask<T> LoadAssetAsync<T>(string location, uint priority = 0) where T : UnityEngine.Object
|
|
// {
|
|
// var loadAssetAsync = YooAssets.LoadAssetAsync<T>(location, priority);
|
|
// while (!loadAssetAsync.IsDone)
|
|
// {
|
|
// Debug.Log($"加载{location}中,进度:{loadAssetAsync.Progress}");
|
|
// await UniTask.Yield();
|
|
// }
|
|
//
|
|
// var assetObject = loadAssetAsync.AssetObject as T;
|
|
// Debug.Log($"{location} 加载完成 : {assetObject}");
|
|
// return assetObject;
|
|
// }
|
|
//
|
|
// public async UniTask<Object> LoadAssetAsync(string location, uint priority = 0)
|
|
// {
|
|
// var loadAssetAsync = YooAssets.LoadAssetAsync(location, priority);
|
|
// while (!loadAssetAsync.IsDone)
|
|
// {
|
|
// Debug.Log($"加载{location}中,进度:{loadAssetAsync.Progress}");
|
|
// await UniTask.Yield();
|
|
// }
|
|
//
|
|
// Debug.Log($"{location} 加载完成 : {loadAssetAsync}");
|
|
// return loadAssetAsync.AssetObject;
|
|
// }
|
|
//
|
|
// public async UniTask LoadSceneAsync(string location, LoadSceneMode sceneMode = LoadSceneMode.Single, bool suspendLoad = false, uint priority = 100)
|
|
// {
|
|
// var loadAssetAsync = YooAssets.LoadSceneAsync(location, sceneMode, suspendLoad, priority);
|
|
// while (!loadAssetAsync.IsDone)
|
|
// {
|
|
// Debug.Log($"加载{location}中,进度:{loadAssetAsync.Progress}");
|
|
// await UniTask.Yield();
|
|
// }
|
|
// Debug.Log($"{location} 场景加载完成");
|
|
// }
|
|
// }
|
|
// } |