diff --git a/Assets/YooAsset/Runtime/YooAssetPackage.cs b/Assets/YooAsset/Runtime/YooAssetPackage.cs index 4db450f..1029666 100644 --- a/Assets/YooAsset/Runtime/YooAssetPackage.cs +++ b/Assets/YooAsset/Runtime/YooAssetPackage.cs @@ -25,11 +25,11 @@ namespace YooAsset public string PackageName { private set; get; } /// - /// 是否已经初始化 + /// 初始化状态 /// - public bool IsInitialized + public EOperationStatus InitializeStatus { - get { return _isInitialize; } + get { return _initializeStatus; } } diff --git a/Assets/YooAsset/Runtime/YooAssets.cs b/Assets/YooAsset/Runtime/YooAssets.cs index a55404f..4f92cb6 100644 --- a/Assets/YooAsset/Runtime/YooAssets.cs +++ b/Assets/YooAsset/Runtime/YooAssets.cs @@ -17,17 +17,18 @@ namespace YooAsset public static void Initialize() { if (_isInitialize) - throw new Exception("YooAssets is initialized !"); + throw new Exception($"{nameof(YooAssets)} is initialized !"); - // 创建驱动器 if (_isInitialize == false) { + // 创建驱动器 _isInitialize = true; - UnityEngine.GameObject driverGo = new UnityEngine.GameObject("[YooAsset]"); + UnityEngine.GameObject driverGo = new UnityEngine.GameObject($"[{nameof(YooAssets)}]"); driverGo.AddComponent(); UnityEngine.Object.DontDestroyOnLoad(driverGo); #if DEBUG + // 添加远程调试脚本 driverGo.AddComponent(); #endif @@ -83,7 +84,7 @@ namespace YooAsset public static YooAssetPackage CreateAssetPackage(string packageName) { if (_isInitialize == false) - throw new Exception("YooAssets not initialize !"); + throw new Exception($"{nameof(YooAssets)} not initialize !"); if (string.IsNullOrEmpty(packageName)) throw new Exception("PackageName is null or empty !"); @@ -96,12 +97,37 @@ namespace YooAsset return component; } + /// + /// 获取资源包 + /// + /// 资源包名称 + public static YooAssetPackage GetAssetPackage(string packageName) + { + if (_isInitialize == false) + throw new Exception($"{nameof(YooAssets)} not initialize !"); + + if (string.IsNullOrEmpty(packageName)) + throw new Exception("Package name is null or empty !"); + + foreach (var package in _packages) + { + if (package.PackageName == packageName) + return package; + } + + YooLogger.Warning($"Not found asset package : {packageName}"); + return null; + } + /// /// 检测资源包是否存在 /// /// 资源包名称 public static bool HasAssetPackage(string packageName) { + if (_isInitialize == false) + throw new Exception($"{nameof(YooAssets)} not initialize !"); + foreach (var package in _packages) { if (package.PackageName == packageName) diff --git a/Assets/YooAsset/Runtime/YooAssetsExtension.cs b/Assets/YooAsset/Runtime/YooAssetsExtension.cs index 4abf39f..b10d291 100644 --- a/Assets/YooAsset/Runtime/YooAssetsExtension.cs +++ b/Assets/YooAsset/Runtime/YooAssetsExtension.cs @@ -11,18 +11,19 @@ namespace YooAsset private static YooAssetPackage _mainPackage; /// - /// 是否已经初始化 + /// 初始化状态 /// - public static bool IsInitialized + public static EOperationStatus InitializeStatus { - get + get { if (_mainPackage == null) - return false; - return _mainPackage.IsInitialized; + return EOperationStatus.None; + return _mainPackage.InitializeStatus; } } + /// /// 异步初始化 ///