123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
-
- namespace YooAsset
- {
- public class AssetInfo
- {
- private readonly PackageAsset _packageAsset;
- private string _providerGUID;
- /// <summary>
- /// 资源类型
- /// </summary>
- public System.Type AssetType { private set; get; }
- /// <summary>
- /// 错误信息
- /// </summary>
- public string Error { private set; get; }
- /// <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>
- internal 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;
- }
- }
- private AssetInfo()
- {
- // 注意:禁止从外部创建该类
- }
- internal AssetInfo(PackageAsset packageAsset, System.Type assetType)
- {
- if (packageAsset == null)
- throw new System.Exception("Should never get here !");
- _providerGUID = string.Empty;
- _packageAsset = packageAsset;
- AssetType = assetType;
- Error = string.Empty;
- }
- internal AssetInfo(PackageAsset packageAsset)
- {
- if (packageAsset == null)
- throw new System.Exception("Should never get here !");
- _providerGUID = string.Empty;
- _packageAsset = packageAsset;
- AssetType = null;
- Error = string.Empty;
- }
- internal AssetInfo(string error)
- {
- _providerGUID = string.Empty;
- _packageAsset = null;
- AssetType = null;
- Error = error;
- }
- }
- }
|