yyl
2026-03-04 bc1cb6da854cb2e9144f10ed55330a537ecdca16
Main/Core/GameEngine/Launch/BuiltInAssetCopyTask.cs
@@ -1,4 +1,4 @@
using System.Collections;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO;
@@ -10,17 +10,25 @@
{
    bool firstLaunch = false;
    private bool doneInBegin = true;
    public override void Begin()
    {
        PriorLanguageConfig.LazyInitAsync().Forget();
        InitialFunctionConfig.LazyInitAsync().Forget();
        duration = Mathf.Max(0.2f, expectTime);  //非安卓平台的时间,安卓由sdk拷贝完成回调
        if (Application.isEditor)
        {
            EditorCopyAsset();
        }
        else if (Application.platform == RuntimePlatform.WebGLPlayer)
        {
            // WebGL平台无需拷贝文件,直接跳过
        }
        else
        {
            //安卓每次由sdk回调拷贝成功,其他平台由unity自己存储标记
            switch (Application.platform)
            {
                case RuntimePlatform.Android:
@@ -37,10 +45,10 @@
        if (!firstLaunch)
        {
            //LoadInitalConfig().Forget();
            done = true;
            doneInBegin = true;
        }
    }
    //应该是下载最新的表格后再次加载 非拷贝
    //protected async UniTask LoadInitalConfig()
@@ -60,10 +68,9 @@
            LaunchInHot.Instance.InitSystemMgr();
            //  这里还没开始加载配置 但是提前加载了供LaunchWin使用
            PriorLanguageConfig.LazyInit();
            InitialFunctionConfig.LazyInit();
            UIManager.Instance.OpenWindow<LaunchWin>();
            UIManager.Instance.OpenWindowAsync<LaunchWin>().Forget();
        }
        // ConfigInitiator.SyncInit();
@@ -78,6 +85,18 @@
        {
            return;
        }
        if (!PriorLanguageConfig.isInit || !InitialFunctionConfig.isInit)
        {
            return;
        }
        if (doneInBegin)
        {
            done = true;
            return;
        }
        if (!Application.isEditor)
        {
            //安卓每次由sdk回调拷贝成功,其他平台由unity自己存储标记
@@ -122,38 +141,14 @@
    {
        if (!SDKUtils.Instance.AssetCopyFinished)
        {
            //每次由sdk回调拷贝成功
            firstLaunch = true;
            UnityEngine.Debug.Log("开始拷贝builtin资源");
            SDKUtils.Instance.CopyAsset(1);
            //ynmbxxjUtil.Instance.CopyOneAsset("builtin_assetbundle");
            //ynmbxxjUtil.Instance.CopyOneAsset("builtin_assetbundle.manifest");
            //ynmbxxjUtil.Instance.CopyOneAsset("builtin/musics");
            //ynmbxxjUtil.Instance.CopyOneAsset("builtin/musics.manifest");
            //ynmbxxjUtil.Instance.CopyOneAsset("builtin/prefabs");
            //ynmbxxjUtil.Instance.CopyOneAsset("builtin/prefabs.manifest");
            //ynmbxxjUtil.Instance.CopyOneAsset("builtin/sprites");
            //ynmbxxjUtil.Instance.CopyOneAsset("builtin/sprites.manifest");
            //ynmbxxjUtil.Instance.CopyOneAsset("builtin/animationclips");
            //ynmbxxjUtil.Instance.CopyOneAsset("builtin/animationclips.manifest");
            //ynmbxxjUtil.Instance.CopyOneAsset("builtin/materials");
            //ynmbxxjUtil.Instance.CopyOneAsset("builtin/materials.manifest");
            //ynmbxxjUtil.Instance.CopyOneAsset("builtin/scriptableobjects");
            //ynmbxxjUtil.Instance.CopyOneAsset("builtin/scriptableobjects.manifest");
            //ynmbxxjUtil.Instance.CopyOneAsset("builtin/font");
            //ynmbxxjUtil.Instance.CopyOneAsset("builtin/font.manifest");
            //foreach (var config in ConfigInitiator.builtinConfig)
            //{
            //    ynmbxxjUtil.Instance.CopyOneAsset("config/" + config);
            //}
            //AssetDeCompressTask.Decompress(ResourcesPath.Instance.ExternalStorePath);
            //LocalSave.SetString("BuiltInAssetCopyCompleted_Android", VersionConfig.Get().version);
        }
        else
        {
            UnityEngine.Debug.Log("builtin资源已经拷贝过了");
        }
    }
    private void IosCopyAsset()
@@ -217,17 +212,6 @@
        }
        var fileNames = new List<string>();
        //var files = new List<FileInfo>();
        //FileExtersion.GetAllDirectoryFileInfos(StringUtility.Concat(ResourcesPath.Instance.StreamingAssetPath, "builtin"), files);
        //foreach (var file in files)
        //{
        //    var name = Path.GetFileName(file.FullName);
        //    fileNames.Add(StringUtility.Concat("builtin", Path.DirectorySeparatorChar, name));
        //}
        //fileNames.Add("builtin_assetbundle");
        //fileNames.Add("builtin_assetbundle.manifest");
        var configFiles = new List<FileInfo>();
        FileExtersion.GetAllDirectoryFileInfos(StringUtility.Concat(ResourcesPath.Instance.StreamingAssetPath, "config"), configFiles);
        foreach (var file in configFiles)