using AlicizaX.Event.Runtime;
using AlicizaX;
namespace AlicizaX.Resource.Runtime
{
///
/// 下载进度更新
///
[UnityEngine.Scripting.Preserve]
public sealed class AssetDownloadProgressUpdateEventArgs : GameEventArgs
{
///
/// 包名称
///
public string PackageName { get; set; }
///
/// 总下载数量
///
public int TotalDownloadCount { get; private set; }
///
/// 当前下载数量
///
public int CurrentDownloadCount { get; private set; }
///
/// 总下载大小
///
public long TotalDownloadSizeBytes { get; private set; }
///
/// 当前下载大小
///
public long CurrentDownloadSizeBytes { get; private set; }
public override void Clear()
{
PackageName = null;
TotalDownloadCount = 0;
CurrentDownloadCount = 0;
TotalDownloadSizeBytes = 0;
CurrentDownloadSizeBytes = 0;
}
///
/// 下载进度更新事件编号
///
public static readonly string EventId = typeof(AssetDownloadProgressUpdateEventArgs).FullName;
public override string Id
{
get { return EventId; }
}
///
/// 创建下载进度更新
///
/// 包名称
/// 总下载数量
/// 当前下载数量
/// 总下载大小
/// 当前下载大小
///
public static AssetDownloadProgressUpdateEventArgs Create(string packageName, int totalDownloadCount, int currentDownloadCount, long totalDownloadSizeBytes, long currentDownloadSizeBytes)
{
var assetDownloadProgressUpdate = MemoryPool.Acquire();
assetDownloadProgressUpdate.TotalDownloadCount = totalDownloadCount;
assetDownloadProgressUpdate.CurrentDownloadCount = currentDownloadCount;
assetDownloadProgressUpdate.TotalDownloadSizeBytes = totalDownloadSizeBytes;
assetDownloadProgressUpdate.CurrentDownloadSizeBytes = currentDownloadSizeBytes;
assetDownloadProgressUpdate.PackageName = packageName;
return assetDownloadProgressUpdate;
}
}
}