【m】框架大更新
This commit is contained in:
122
Assets/03.YooAsset/Runtime/ResourcePackage/AssetInfo.cs
Normal file
122
Assets/03.YooAsset/Runtime/ResourcePackage/AssetInfo.cs
Normal file
@@ -0,0 +1,122 @@
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user