hch
2025-09-16 a2bc91b79dfa554c072d915cca7bddc139942b29
Main/ResModule/ResManager.cs
@@ -131,6 +131,17 @@
        {
            return LoadSprite(directory, name) as T;
        }
        else if (typeof(T) == typeof(SkeletonDataAsset))
        {
            //文件目录调整,name中包含了路径
            if (name.Contains("/"))
            {
                directory += name.Substring(0, name.LastIndexOf("/"));
                name = name.Substring(name.LastIndexOf("/") + 1);
            }
            directory = directory.Replace("\\", "/");
        }
        return LoadAssetInternal<T>(directory, name);
    }
@@ -148,10 +159,21 @@
        }
        else
        {
            if (directory == "UI" || directory == "UIComp" || directory.StartsWith("Sprite") || directory == "Battle/Prefabs")
            if (directory == "UI" || directory == "UIComp" || directory.StartsWith("Sprite")
            || directory == "Battle/Prefabs" || directory == "Materials")
            { 
                directory = "UI/" + directory;
            }
            else if (name == "Hero_001")
            {
                directory = "UI/Hero/SpineRes";
            }
            else if (directory.Contains("Texture"))
            {
                directory = "maps/"+name;
            }
            var assetInfo = new AssetInfo(directory.ToLower(), name.ToLower());
            asset = AssetBundleUtility.Instance.Sync_LoadAsset(assetInfo, typeof(T)) as T;
        }
@@ -183,12 +205,13 @@
    private Sprite LoadSprite(string atlasName, string spriteName)
    {
#if !UNITY_EDITOR
        SpriteAtlas atlas = LoadAsset<SpriteAtlas>("Sprite", atlasName.Replace("Sprite/", ""));
        return atlas.GetSprite(spriteName);
#else
        return ResManager.Instance.LoadAssetInternal<Sprite>(atlasName, spriteName);
#endif
        if (!AssetSource.isUseAssetBundle)
        {
            SpriteAtlas atlas = LoadAsset<SpriteAtlas>("Sprite", atlasName.Replace("Sprite/", ""));
            return atlas.GetSprite(spriteName);
        }
        else
            return LoadAssetInternal<Sprite>(atlasName, spriteName);
    }
    public void LoadAssetAsync<T>(string directory, string name, Action<bool, UnityEngine.Object> callBack) where T : UnityEngine.Object