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; } } }