//------------------------------------------------------------
// Game Framework
// Copyright © 2013-2021 loyalsoft. All rights reserved.
// Homepage: http://www.game7000.com/
// Feedback: http://www.game7000.com/
//------------------------------------------------------------
namespace GameFramework.Resource
{
internal sealed partial class ResourceManager : GameFrameworkModule, IResourceManager
{
private sealed partial class ResourceUpdater
{
///
/// 资源更新信息。
///
private sealed class UpdateInfo
{
private readonly ResourceName m_ResourceName;
private readonly string m_FileSystemName;
private readonly LoadType m_LoadType;
private readonly int m_Length;
private readonly int m_HashCode;
private readonly int m_CompressedLength;
private readonly int m_CompressedHashCode;
private readonly string m_ResourcePath;
private bool m_Downloading;
private int m_RetryCount;
///
/// 初始化资源更新信息的新实例。
///
/// 资源名称。
/// 资源所在的文件系统名称。
/// 资源加载方式。
/// 资源大小。
/// 资源哈希值。
/// 压缩后大小。
/// 压缩后哈希值。
/// 资源路径。
public UpdateInfo(ResourceName resourceName, string fileSystemName, LoadType loadType, int length, int hashCode, int compressedLength, int compressedHashCode, string resourcePath)
{
m_ResourceName = resourceName;
m_FileSystemName = fileSystemName;
m_LoadType = loadType;
m_Length = length;
m_HashCode = hashCode;
m_CompressedLength = compressedLength;
m_CompressedHashCode = compressedHashCode;
m_ResourcePath = resourcePath;
m_Downloading = false;
m_RetryCount = 0;
}
///
/// 获取资源名称。
///
public ResourceName ResourceName
{
get
{
return m_ResourceName;
}
}
///
/// 获取资源是否使用文件系统。
///
public bool UseFileSystem
{
get
{
return !string.IsNullOrEmpty(m_FileSystemName);
}
}
///
/// 获取资源所在的文件系统名称。
///
public string FileSystemName
{
get
{
return m_FileSystemName;
}
}
///
/// 获取资源加载方式。
///
public LoadType LoadType
{
get
{
return m_LoadType;
}
}
///
/// 获取资源大小。
///
public int Length
{
get
{
return m_Length;
}
}
///
/// 获取资源哈希值。
///
public int HashCode
{
get
{
return m_HashCode;
}
}
///
/// 获取压缩后大小。
///
public int CompressedLength
{
get
{
return m_CompressedLength;
}
}
///
/// 获取压缩后哈希值。
///
public int CompressedHashCode
{
get
{
return m_CompressedHashCode;
}
}
///
/// 获取资源路径。
///
public string ResourcePath
{
get
{
return m_ResourcePath;
}
}
///
/// 获取或设置下载状态。
///
public bool Downloading
{
get
{
return m_Downloading;
}
set
{
m_Downloading = value;
}
}
///
/// 获取或设置已重试次数。
///
public int RetryCount
{
get
{
return m_RetryCount;
}
set
{
m_RetryCount = value;
}
}
}
}
}
}