Files
Fishing2/Assets/Scripts/NBC/Asset/Runtime/Address/Data/BundleData.cs
2025-05-10 12:49:47 +08:00

114 lines
2.9 KiB
C#

using System;
using System.Collections.Generic;
namespace NBC.Asset
{
[Serializable]
public class BundleData
{
public string Name;
public string Hash;
public int Size;
// /// <summary>
// /// 加载方法
// /// </summary>
// public byte LoadMethod;
/// <summary>
/// 资源包的分类标签
/// </summary>
public string[] Tags;
/// <summary>
/// 依赖的bundleId
/// </summary>
public List<int> Deps = new List<int>();
/// <summary>
/// 所属的包裹名称
/// </summary>
public string PackageName { set; get; }
public List<string> DependBundles { get; private set; } = new List<string>();
private string _nameHash = string.Empty;
public string NameHash
{
get
{
if (!string.IsNullOrEmpty(_nameHash)) return _nameHash;
_nameHash = Util.NameAddHash(Name, Hash);
return _nameHash;
}
}
/// <summary>
/// 内置文件路径
/// </summary>
private string _streamingFilePath;
public string StreamingFilePath
{
get
{
if (string.IsNullOrEmpty(_streamingFilePath) == false)
return _streamingFilePath;
_streamingFilePath = Const.GetStreamingPath(NameHash);
return _streamingFilePath;
}
}
/// <summary>
/// 缓存的数据文件路径
/// </summary>
private string _cachedDataFilePath;
public string CachedDataFilePath
{
get
{
if (string.IsNullOrEmpty(_cachedDataFilePath) == false)
return _cachedDataFilePath;
_cachedDataFilePath = Const.GetCachePath(NameHash);
return _cachedDataFilePath;
}
}
/// <summary>
/// 远程的数据文件路径
/// </summary>
private string _remoteDataFilePath;
public string RemoteDataFilePath
{
get
{
if (string.IsNullOrEmpty(_remoteDataFilePath) == false)
return _remoteDataFilePath;
_remoteDataFilePath = Const.GetRemotePath(NameHash);
return _remoteDataFilePath;
}
}
/// <summary>
/// 临时的数据文件路径
/// </summary>
private string _tempDataFilePath;
public string TempDataFilePath
{
get
{
if (string.IsNullOrEmpty(_tempDataFilePath) == false)
return _tempDataFilePath;
_tempDataFilePath = $"{CachedDataFilePath}.temp";
return _tempDataFilePath;
}
}
}
}