|  |  | 
 |  |  | using UnityEngine; | 
 |  |  | using System.Collections; | 
 |  |  | using UnityEngine; | 
 |  |  | 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; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  | 
 |  |  |     { | 
 |  |  |         {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"}, | 
 |  |  |     }; | 
 |  |  |  | 
 |  |  |  | 
 |  |  | 
 |  |  |         T asset = null; | 
 |  |  |  | 
 |  |  |         var path = ($"Assets/ResourcesOut/{directory}/{name}" + GetExtension(typeof(T))).Replace("//", "/").Trim().Replace("\\", "/"); | 
 |  |  |         path = System.Text.RegularExpressions.Regex.Replace(path, @"[\p{C}]", ""); | 
 |  |  |         if (AssetSource.uiFromEditor) | 
 |  |  |         if (!AssetSource.isUseAssetBundle) | 
 |  |  |         { | 
 |  |  | #if UNITY_EDITOR | 
 |  |  |             asset = UnityEditor.AssetDatabase.LoadAssetAtPath<T>(path); | 
 |  |  | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         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) | 
 |  |  | 
 |  |  |     { | 
 |  |  |         var path = string.Concat($"Assets/ResourcesOut/{directory}/{name}", GetExtension(typeof(T))).Replace("//", "/"); | 
 |  |  |  | 
 |  |  |         if (AssetSource.uiFromEditor) | 
 |  |  |         if (!AssetSource.isUseAssetBundle) | 
 |  |  |         { | 
 |  |  | #if UNITY_EDITOR | 
 |  |  |             var asset = UnityEditor.AssetDatabase.LoadAssetAtPath<T>(path); | 
 |  |  | 
 |  |  |  | 
 |  |  |     public void UnloadAsset(string assetBundleName, string assetName) | 
 |  |  |     { | 
 |  |  |         if (AssetSource.uiFromEditor) | 
 |  |  |         if (!AssetSource.isUseAssetBundle) | 
 |  |  |             return; | 
 |  |  |  | 
 |  |  |         AssetBundleUtility.Instance.UnloadAsset(assetBundleName, assetName); | 
 |  |  | 
 |  |  |  | 
 |  |  |     public void UnloadAssetBundle(string assetBundleName, bool unloadAllLoadedObjects, bool includeDependenice) | 
 |  |  |     { | 
 |  |  |         if (AssetSource.uiFromEditor) | 
 |  |  |         if (!AssetSource.isUseAssetBundle) | 
 |  |  |             return; | 
 |  |  |         AssetBundleUtility.Instance.UnloadAssetBundle(assetBundleName, unloadAllLoadedObjects, includeDependenice); | 
 |  |  |     } |