hch
2025-09-15 0792ab377b82eed196ecdfd34dab84311bddf7a1
Main/ResModule/ResManager.cs
@@ -1,14 +1,10 @@
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using Cysharp.Threading.Tasks;
using System;
using UnityEngine.U2D;
using LitJson;
using System.IO;
using UnityEngine.Networking;
using UnityEngine.Video;
using System.Reflection;
using Spine.Unity;
@@ -69,14 +65,16 @@
    {
        {typeof(GameObject), "prefab"},
        {typeof(Sprite), "png"},
        {typeof(Texture2D), "png"},
        {typeof(Shader), "shader"},
        {typeof(Texture2D), "jpg"},
        {typeof(Texture), "jpg"},
        { typeof(Shader), "shader"},
        {typeof(TextAsset), "txt"},
        {typeof(AudioClip), "wav"},
        {typeof(Font), "ttf"},
        {typeof(Material), "mat"},
        {typeof(VideoClip), "mp4"},
        {typeof(SpriteAtlas), "spriteatlasv2"},
        {typeof(SkeletonDataAsset), "asset"},
    };
@@ -145,13 +143,15 @@
        if (!AssetSource.isUseAssetBundle)
        {
#if UNITY_EDITOR
            //  TODO YYL 还是要找到字符串问题
            path = System.Text.RegularExpressions.Regex.Replace(path, @"[\p{C}]", "");
            asset = UnityEditor.AssetDatabase.LoadAssetAtPath<T>(path);
#endif
        }
        else
        {
            if (directory == "UI" || directory == "UIComp" || directory.StartsWith("Sprite") || directory == "Battle/Prefabs")
            {
                directory = "UI/" + directory;
            }
            var assetInfo = new AssetInfo(directory.ToLower(), name.ToLower());
            asset = AssetBundleUtility.Instance.Sync_LoadAsset(assetInfo, typeof(T)) as T;
        }
@@ -162,6 +162,23 @@
        }
        return asset;
    }
    public string[] LoadConfig(string name)
    {
        string path = string.Empty;
#if UNITY_EDITOR
        if (!AssetSource.isUseAssetBundle)
        {
            path = ResourcesPath.CONFIG_FODLER + "/" + name + ".txt";
        }
        else
#endif
        {
            path = AssetVersionUtility.GetAssetFilePath($"config/{name}.txt");
        }
        return File.ReadAllLines(path);
    }
    private Sprite LoadSprite(string atlasName, string spriteName)
@@ -192,7 +209,8 @@
        LoadAssetAsync<SpriteAtlas>(atlasName, spriteName, (isLoaded, atlas) => {
            if (isLoaded)
            {
                callBack?.Invoke(isLoaded, atlas.GetSprite(spriteName));
                SpriteAtlas _atlas = atlas as SpriteAtlas;
                callBack?.Invoke(isLoaded, _atlas.GetSprite(spriteName));
            }
            else
            {