From 1ab047b5fdd933c38ba0519ec2e83a44512ea8d7 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期四, 26 三月 2026 17:46:11 +0800
Subject: [PATCH] webgl代码合并 1

---
 Main/Core/GameEngine/Launch/AssetCopyTask.cs |  185 +++++++++++++++++++++++++---------------------
 1 files changed, 100 insertions(+), 85 deletions(-)

diff --git a/Main/Core/GameEngine/Launch/AssetCopyTask.cs b/Main/Core/GameEngine/Launch/AssetCopyTask.cs
index 61ba736..6bbe36a 100644
--- a/Main/Core/GameEngine/Launch/AssetCopyTask.cs
+++ b/Main/Core/GameEngine/Launch/AssetCopyTask.cs
@@ -1,6 +1,7 @@
 using System;
 using System.Collections.Generic;
 using System.IO;
+using Cysharp.Threading.Tasks;
 using UnityEngine;
 
 
@@ -91,39 +92,95 @@
 
     private void AndroidCopyAsset()
     {
-        switch (VersionConfig.Get().assetAccess)
+        VersionConfig.GetAsync().ContinueWith(config =>
         {
-            case InstalledAsset.FullAsset:
-            case InstalledAsset.HalfAsset:
-            case InstalledAsset.IngoreDownLoad:
-                if (!SDKUtils.Instance.AssetCopyFinished)
-                {
-                    SDKUtils.Instance.CopyAsset();
-                    done = false;
-                    progress = 0f;
-                }
-                else
-                {
-                    done = true;
-                }
-                break;
-            case InstalledAsset.NullAsset:
-                done = true;
-                break;
-        }
-    }
-
-    private void IOSCopyAsset()
-    {
-        if (VersionUtility.Instance.versionInfo != null && VersionUtility.Instance.versionInfo.downAsset == 1)
-        {
-            switch (VersionConfig.Get().assetAccess)
+            switch (config.assetAccess)
             {
                 case InstalledAsset.FullAsset:
                 case InstalledAsset.HalfAsset:
                 case InstalledAsset.IngoreDownLoad:
                     if (!SDKUtils.Instance.AssetCopyFinished)
                     {
+                        SDKUtils.Instance.CopyAsset();
+                        done = false;
+                        progress = 0f;
+                    }
+                    else
+                    {
+                        done = true;
+                    }
+                    break;
+                case InstalledAsset.NullAsset:
+                    done = true;
+                    break;
+            }
+        }).Forget();
+    }
+
+    private void IOSCopyAsset()
+    {
+        if (VersionUtility.Instance.versionInfo != null && VersionUtility.Instance.versionInfo.downAsset == 1)
+        {
+            VersionConfig.GetAsync().ContinueWith(config =>
+            {
+                switch (config.assetAccess)
+                {
+                    case InstalledAsset.FullAsset:
+                    case InstalledAsset.HalfAsset:
+                    case InstalledAsset.IngoreDownLoad:
+                        if (!SDKUtils.Instance.AssetCopyFinished)
+                        {
+                            copyTasks = new List<FileInfo>();
+                            FileExtersion.GetAllDirectoryFileInfos(ResourcesPath.Instance.StreamingAssetPath, copyTasks);
+
+                            for (var i = copyTasks.Count - 1; i >= 0; i--)
+                            {
+                                var fileInfo = copyTasks[i];
+                                var destPath = fileInfo.FullName.Replace(ResourcesPath.Instance.StreamingAssetPath, ResourcesPath.Instance.ExternalStorePath);
+                                if (File.Exists(destPath))
+                                {
+                                    copyTasks.RemoveAt(i);
+                                }
+                            }
+
+                            completedCount = 0;
+                            totalCount = copyTasks.Count;
+                        }
+
+                        if (totalCount > 0)
+                        {
+                            done = false;
+                            progress = 0f;
+                        }
+                        else
+                        {
+                            done = true;
+                        }
+                        break;
+                    case InstalledAsset.NullAsset:
+                        done = true;
+                        break;
+                }
+            }).Forget();
+
+        }
+        else
+        {
+            done = true;
+        }
+    }
+
+    private void StandaloneCopyAsset()
+    {
+        if (VersionUtility.Instance.versionInfo != null && VersionUtility.Instance.versionInfo.downAsset == 1)
+        {
+            VersionConfig.GetAsync().ContinueWith(config =>
+            {
+                switch (config.assetAccess)
+                {
+                    case InstalledAsset.FullAsset:
+                    case InstalledAsset.HalfAsset:
+                    case InstalledAsset.IngoreDownLoad:
                         copyTasks = new List<FileInfo>();
                         FileExtersion.GetAllDirectoryFileInfos(ResourcesPath.Instance.StreamingAssetPath, copyTasks);
 
@@ -139,68 +196,23 @@
 
                         completedCount = 0;
                         totalCount = copyTasks.Count;
-                    }
 
-                    if (totalCount > 0)
-                    {
-                        done = false;
-                        progress = 0f;
-                    }
-                    else
-                    {
-                        done = true;
-                    }
-                    break;
-                case InstalledAsset.NullAsset:
-                    done = true;
-                    break;
-            }
-        }
-        else
-        {
-            done = true;
-        }
-    }
-
-    private void StandaloneCopyAsset()
-    {
-        if (VersionUtility.Instance.versionInfo != null && VersionUtility.Instance.versionInfo.downAsset == 1)
-        {
-            switch (VersionConfig.Get().assetAccess)
-            {
-                case InstalledAsset.FullAsset:
-                case InstalledAsset.HalfAsset:
-                case InstalledAsset.IngoreDownLoad:
-                    copyTasks = new List<FileInfo>();
-                    FileExtersion.GetAllDirectoryFileInfos(ResourcesPath.Instance.StreamingAssetPath, copyTasks);
-
-                    for (var i = copyTasks.Count - 1; i >= 0; i--)
-                    {
-                        var fileInfo = copyTasks[i];
-                        var destPath = fileInfo.FullName.Replace(ResourcesPath.Instance.StreamingAssetPath, ResourcesPath.Instance.ExternalStorePath);
-                        if (File.Exists(destPath))
+                        if (totalCount > 0)
                         {
-                            copyTasks.RemoveAt(i);
+                            done = false;
+                            progress = 0f;
                         }
-                    }
-
-                    completedCount = 0;
-                    totalCount = copyTasks.Count;
-
-                    if (totalCount > 0)
-                    {
-                        done = false;
-                        progress = 0f;
-                    }
-                    else
-                    {
+                        else
+                        {
+                            done = true;
+                        }
+                        break;
+                    case InstalledAsset.NullAsset:
                         done = true;
-                    }
-                    break;
-                case InstalledAsset.NullAsset:
-                    done = true;
-                    break;
-            }
+                        break;
+                }
+            }).Forget();
+            
         }
         else
         {
@@ -260,7 +272,10 @@
 
     private void IOSProcessCopyComplete()
     {
-        LocalSave.SetString("AssetCopyCompleted_IOSorStandalone", VersionConfig.Get().version);
+        VersionConfig.GetAsync().ContinueWith(config =>
+        {
+            LocalSave.SetString("AssetCopyCompleted_IOSorStandalone", config.version);
+        }).Forget();
     }
 
 }
\ No newline at end of file

--
Gitblit v1.8.0