| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
-
- namespace YooAsset
- {
- public class AssetInfo
- {
- internal enum ELoadMethod
- {
- None = 0,
- LoadAsset,
- LoadSubAssets,
- LoadAllAssets,
- LoadScene,
- LoadRawFile,
- }
- private readonly PackageAsset _packageAsset;
- private string _providerGUID;
- /// <summary>
- /// 所属包裹
- /// </summary>
- public string PackageName { private set; get; }
- /// <summary>
- /// 资源类型
- /// </summary>
- public System.Type AssetType { private set; get; }
- /// <summary>
- /// 错误信息
- /// </summary>
- public string Error { private set; get; }
- /// <summary>
- /// 加载方法
- /// </summary>
- internal ELoadMethod LoadMethod;
- /// <summary>
- /// 资源对象
- /// </summary>
- internal PackageAsset Asset
- {
- get { return _packageAsset; }
- }
- /// <summary>
- /// 唯一标识符
- /// </summary>
- internal string GUID
- {
- get
- {
- if (string.IsNullOrEmpty(_providerGUID) == false)
- return _providerGUID;
- if (AssetType == null)
- _providerGUID = $"[{AssetPath}][null]";
- else
- _providerGUID = $"[{AssetPath}][{AssetType.Name}]";
- return _providerGUID;
- }
- }
- /// <summary>
- /// 身份是否无效
- /// </summary>
- public bool IsInvalid
- {
- get
- {
- return _packageAsset == null;
- }
- }
- /// <summary>
- /// 可寻址地址
- /// </summary>
- public string Address
- {
- get
- {
- if (_packageAsset == null)
- return string.Empty;
- return _packageAsset.Address;
- }
- }
- /// <summary>
- /// 资源路径
- /// </summary>
- public string AssetPath
- {
- get
- {
- if (_packageAsset == null)
- return string.Empty;
- return _packageAsset.AssetPath;
- }
- }
- internal AssetInfo(string packageName, PackageAsset packageAsset, System.Type assetType)
- {
- if (packageAsset == null)
- throw new System.Exception("Should never get here !");
- _providerGUID = string.Empty;
- _packageAsset = packageAsset;
- PackageName = packageName;
- AssetType = assetType;
- Error = string.Empty;
- }
- internal AssetInfo(string packageName, string error)
- {
- _providerGUID = string.Empty;
- _packageAsset = null;
- PackageName = packageName;
- AssetType = null;
- Error = error;
- }
- }
- }
|