yyl
2026-03-31 0fa617a09eedf6bdb25eda55fac1d3344859fd93
Main/System/AssetVersion/DownloadHotMgr.cs
@@ -223,10 +223,26 @@
    public string SpeedFormat { get { return StringUtility.FormatSpeed(downloadedSpeed); } }
    //本地文件大小
    public long LocalLength { get { return (File.Exists(tempFile)) ? (new FileInfo(tempFile)).Length : 0L; } }
    public long LocalLength {
        get {
#if UNITY_WEBGL
            return 0L;
#else
            return (File.Exists(tempFile)) ? (new FileInfo(tempFile)).Length : 0L;
#endif
        }
    }
    //本地文件最后修改时间
    private System.DateTime LocalLastModified { get { return File.Exists(tempFile) ? File.GetLastWriteTime(tempFile) : DateTime.MinValue; } }
    private System.DateTime LocalLastModified {
        get {
#if UNITY_WEBGL
            return DateTime.MinValue;
#else
            return File.Exists(tempFile) ? File.GetLastWriteTime(tempFile) : DateTime.MinValue;
#endif
        }
    }
    public bool IsWorking { get { return state == TaskState.Working; } }
    public bool IsDone { get { return state == TaskState.Succeed; } }
@@ -250,9 +266,13 @@
    private bool IsOutdated //本地文件是否已过时
    {
        get {
#if UNITY_WEBGL
            return false;
#else
            if (File.Exists(tempFile))
                return remoteLastModified > LocalLastModified;
            return false;
#endif
        }
    }
@@ -279,15 +299,19 @@
    public bool BeginDownload(Action<DownloadHotTask> onCompleted)
    {
        if ((IsWorking && requestHeaderOk) || IsDone)//已经在下载任务中或已经下载完成了
#if UNITY_WEBGL
        Debug.LogWarning("DownloadHotTask: 文件下载在WebGL上不支持");
        return false;
#else
        if ((IsWorking && requestHeaderOk) || IsDone)
            return false;
        if (state == TaskState.Wait)//第一次尝试
        if (state == TaskState.Wait)
            failedTimes = 0;
        this.onCompleted = onCompleted;
        this.isStop = false;
        Co_DownloadFile().Forget();
        // SnxxzGame.Instance.StartCoroutine(Co_DownloadFile());
        return true;
#endif
    }
    //停止下载
@@ -450,8 +474,12 @@
    private async UniTask Move(string sourceFile, string destFile)
    {
        var copyState = 0;//复制文件状态,0等待,1成功,2失败
#if UNITY_WEBGL
        SetFailed("WebGL不支持文件操作");
        await UniTask.CompletedTask;
        return;
#else
        var copyState = 0;
        try
        {
            if (File.Exists(destFile))
@@ -474,6 +502,7 @@
            SetFailed("临时文件改名出错");
        await UniTask.CompletedTask;
#endif
    }
}