三国卡牌客户端基础资源仓库
yyl
2025-05-19 2769f4c6422de2d85436b38ee7f5ad92236ed0cf
18 子 2D卡牌客户端搭建 / 2D卡牌客户端搭建
2 文件已重命名
2个文件已修改
130 ■■■■ 已修改文件
Assets/Launch/Common/DownLoadAndDiscompressTask.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/Launch/Launch.cs 60 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/Launch/Manager/LocalResManager.cs 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/Launch/Manager/LocalResManager.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/Launch/Common/DownLoadAndDiscompressTask.cs
@@ -73,8 +73,8 @@
            for (int i = 0; i < tasks.Count; i++)
            {
                var assetVersion = tasks[i];
                var remoteURL = StringUtility.Contact(ResManager.Instance.versionInfo.GetResourcesURL(VersionConfigEx.Get().branch), ResManager.fixPath, "/", assetVersion.relativePath);
                var localURL = StringUtility.Contact(ResManager.Instance.ExternalStorePath, assetVersion.relativePath);
                var remoteURL = StringUtility.Contact(LocalResManager.Instance.versionInfo.GetResourcesURL(VersionConfigEx.Get().branch), LocalResManager.fixPath, "/", assetVersion.relativePath);
                var localURL = StringUtility.Contact(ResourcesPath.Instance.ExternalStorePath, assetVersion.relativePath);
                DownloadMgr.Instance.AddTask(new DownloadTask(remoteURL, localURL));
            }
Assets/Launch/Launch.cs
@@ -80,21 +80,21 @@
        //内网下载测试
        _hotUpdateAss = System.AppDomain.CurrentDomain.GetAssemblies().First(a => a.GetName().Name == "Main");
        Type type = _hotUpdateAss.GetType("InGameDownTestUtility");
        ResManager.Instance.isPCTestDownLoad = (bool)type.GetMethod("GetReadVerionEx").Invoke(null, null);
        LocalResManager.Instance.isPCTestDownLoad = (bool)type.GetMethod("GetReadVerionEx").Invoke(null, null);
#endif
        SDKInit();
        ResManager.Instance.Init();
        ResManager.Instance.InitTable(() =>
        LocalResManager.Instance.Init();
        LocalResManager.Instance.InitTable(() =>
        {
            ResManager.Instance.InitDefaultLanguage();
            LocalResManager.Instance.InitDefaultLanguage();
            LaunchLoadingWin.OpenWindow();
            // ResManager.Instance.OpenWindow("LaunchExWin", m_UICanvas);
            // LocalResManager.Instance.OpenWindow("LaunchExWin", m_UICanvas);
#if !UNITY_EDITOR
            ResManager.step = ResManager.LoadDllStep.RequestVersion;
            LocalResManager.step = LocalResManager.LoadDllStep.RequestVersion;
#else
            if (ResManager.Instance.isPCTestDownLoad)
            if (LocalResManager.Instance.isPCTestDownLoad)
            {
                ResManager.step = ResManager.LoadDllStep.RequestVersion;
                LocalResManager.step = LocalResManager.LoadDllStep.RequestVersion;
            }
            else
            {
@@ -124,7 +124,7 @@
        if (_hotUpdateAss == null)
            _hotUpdateAss = System.AppDomain.CurrentDomain.GetAssemblies().First(a => a.GetName().Name == "Main");
#endif
        ResManager.step = ResManager.LoadDllStep.None;
        LocalResManager.step = LocalResManager.LoadDllStep.None;
        // m_UICanvas.gameObject.SetActive(false);
        DestroySingleton();
@@ -136,9 +136,9 @@
    private void DestroySingleton()
    {
        if (ResManager.IsValid())
        if (LocalResManager.IsValid())
        {
            ResManager.Destroy();
            LocalResManager.Destroy();
        }
        if (DownloadMgr.IsValid())
        {
@@ -165,32 +165,32 @@
    {
        if (stop)
            return;
        if (ResManager.step == ResManager.LoadDllStep.None || ResManager.step == ResManager.LoadDllStep.Wait)
        if (LocalResManager.step == LocalResManager.LoadDllStep.None || LocalResManager.step == LocalResManager.LoadDllStep.Wait)
            return;
        else if (ResManager.step == ResManager.LoadDllStep.RequestVersion)
        else if (LocalResManager.step == LocalResManager.LoadDllStep.RequestVersion)
        {
            ResManager.step = ResManager.LoadDllStep.Wait;
            ResManager.Instance.RequestVersionCheck();
            LocalResManager.step = LocalResManager.LoadDllStep.Wait;
            LocalResManager.Instance.RequestVersionCheck();
        }
        else if (ResManager.step == ResManager.LoadDllStep.PrepareDownLoad)
        else if (LocalResManager.step == LocalResManager.LoadDllStep.PrepareDownLoad)
        {
            ResManager.step = ResManager.LoadDllStep.Wait;
            LocalResManager.step = LocalResManager.LoadDllStep.Wait;
            //下载前准备,读表判断是否需要多语言不同下载路径
            PrepareDownLoad();
        }
        else if (ResManager.step == ResManager.LoadDllStep.DownLoad)
        else if (LocalResManager.step == LocalResManager.LoadDllStep.DownLoad)
        {
            ResManager.step = ResManager.LoadDllStep.Wait;
            LocalResManager.step = LocalResManager.LoadDllStep.Wait;
            BeginDownload();
        }
        else if (ResManager.step == ResManager.LoadDllStep.ReadBytes)
        else if (LocalResManager.step == LocalResManager.LoadDllStep.ReadBytes)
        {
            ResManager.step = ResManager.LoadDllStep.Wait;
            LocalResManager.step = LocalResManager.LoadDllStep.Wait;
            ReadDllBytes(this.StartGame);
        }
        //else if (ResManager.step == ResManager.LoadDllStep.Completed)
        //else if (LocalResManager.step == LocalResManager.LoadDllStep.Completed)
        //{
        //    ResManager.step = ResManager.LoadDllStep.None;
        //    LocalResManager.step = LocalResManager.LoadDllStep.None;
        //    m_UICanvas.gameObject.SetActive(false);
        //    DestroySingleton();
        //}
@@ -199,7 +199,7 @@
    private string GetWebRequestPath(string asset)
    {
        var path = ResManager.Instance.GetAssetFilePath(string.Concat(ResManager.bytesFolderName, asset));
        var path = LocalResManager.Instance.GetAssetFilePath(string.Concat(LocalResManager.bytesFolderName, asset));
        if (!path.Contains("file:"))
        {
@@ -211,7 +211,7 @@
    private async void ReadDllBytes(Action callback)
    {
        foreach (var assetVersion in ResManager.Instance.assetVersions.Values)
        foreach (var assetVersion in LocalResManager.Instance.assetVersions.Values)
        {
            if (assetVersion.localValid)
            {
@@ -265,16 +265,16 @@
    private void PrepareDownLoad()
    {
        ResManager.Instance.RequestLogicBytes();
        LocalResManager.Instance.RequestLogicBytes();
    }
    private void BeginDownload()
    {
        List<AssetVersion> priorDownLoadAssetVersions = new List<AssetVersion>();
        foreach (var assetVersion in ResManager.Instance.assetVersions.Values)
        foreach (var assetVersion in LocalResManager.Instance.assetVersions.Values)
        {
            AssetVersion localAssetVersion = null;
            ResManager.Instance.localAssetVersions.TryGetValue(assetVersion.relativePath, out localAssetVersion);
            LocalResManager.Instance.localAssetVersions.TryGetValue(assetVersion.relativePath, out localAssetVersion);
            if (!assetVersion.CheckLocalFileValid(localAssetVersion))
            {
                priorDownLoadAssetVersions.Add(assetVersion);
@@ -292,7 +292,7 @@
            DownloadComplete();
            return;
        }
        var targetDirectory = ResManager.Instance.ExternalStorePath;
        var targetDirectory = LocalResManager.Instance.ExternalStorePath;
        if (!Directory.Exists(targetDirectory))
        {
            Directory.CreateDirectory(targetDirectory);
@@ -303,7 +303,7 @@
    void DownloadComplete()
    {
        ResManager.step = ResManager.LoadDllStep.ReadBytes;
        LocalResManager.step = LocalResManager.LoadDllStep.ReadBytes;
    }
}
Assets/Launch/Manager/LocalResManager.cs
File was renamed from Assets/Launch/Manager/ResManager.cs
@@ -14,10 +14,11 @@
using LaunchCommon;
public class ResManager : Singleton<ResManager>
//  热更新前的代码
public class LocalResManager : Singleton<LocalResManager>
{
    //不下载时本地安卓测试路径
    public string assetBundlesPath = Application.dataPath + "/../AssetBundles/Android/";
    public static string bytesFolderName = "logicbytes/";
@@ -152,7 +153,7 @@
        }
        Clock.Init();
        Debug.Log("ResManager.Init");
        Debug.Log("LocalResManager.Init");
    }
    public void Release()
@@ -271,54 +272,6 @@
        }
        return prefab;
    }
    private string GetExtension(Type type)
    {
        if (type == typeof(GameObject))
            return ".prefab";
        else if (type == typeof(Sprite))
            return ".png";
        else if (type == typeof(Texture2D))
            return ".png";
        else if (type == typeof(Shader))
            return ".shader";
        else if (type == typeof(TextAsset))
            return ".txt";
        else if (type == typeof(AudioClip))
            return ".wav";
        else if (type == typeof(Font))
            return ".ttf";
        else if (type == typeof(Material))
            return ".mat";
        else
        {
            Debug.LogErrorFormat("GetExtension() => 不支持的资源类型: {0}.", type.Name);
            return "";
        }
    }
    public T LoadAsset<T> (string directory, string name) where T : UnityEngine.Object
    {
        T asset = null;
#if UNITY_EDITOR
        var path = string.Concat($"Assets/ResourcesOut/{directory}/{name}", GetExtension(typeof(T)));
        asset = UnityEditor.AssetDatabase.LoadAssetAtPath<T>(path);
#else
        if (prefabBundle == null)
        {
            // string _path = GetAssetFilePath("builtin/prefabs");
            string _path = GetAssetFilePath($"builtin/{directory}");
            prefabBundle = AssetBundle.LoadFromFile(_path);
        }
        asset = prefabBundle.LoadAsset(name) as t;
#endif
        if (asset == null)
        {
            Debug.LogErrorFormat("LoadBuiltInPrefab() => 加载不到资源: {0}.", name);
        }
        return asset;
    }
@@ -493,11 +446,6 @@
        
    }
    public void UnloadAsset(string assetBundleName)
    {
    }
    public class VersionInfo
    {
        public JsonData notice_flag;
@@ -537,6 +485,4 @@
        ReadBytes,
        Completed,
    }
}
Assets/Launch/Manager/LocalResManager.cs.meta
File was renamed from Assets/Launch/Manager/ResManager.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 48ce53db3d9aea84aaf3155c8a41caa4
guid: 22fb6d897728ace438ffbae7628b8e07
MonoImporter:
  externalObjects: {}
  serializedVersion: 2