| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 | 
							- using System;
 
- using System.Collections;
 
- using System.Collections.Generic;
 
- using UnityEngine;
 
- using UnityEngine.Networking;
 
- public class AssetLoadHelper : MonoBehaviour
 
- {
 
-     public static AssetLoadHelper _Instance;
 
-     private Dictionary<string, AssetBundle> abRes_Dir;
 
-     string[] resList = { "weathertool", "model" };
 
-     public bool isLoad
 
-     {
 
-         get
 
-         {
 
-             for (int i = 0; i < resList.Length; i++)
 
-             {
 
-                 if (!abRes_Dir.ContainsKey(resList[i]))
 
-                 {
 
-                     return false;
 
-                 }
 
-             }
 
-             return true;
 
-         }
 
-     }
 
-     private void Awake()
 
-     {
 
-         _Instance = this;
 
-         LoadAB_res();
 
-     }
 
-     private void LoadAB_res()
 
-     {
 
-         abRes_Dir = new Dictionary<string, AssetBundle>();
 
-         foreach (var t in resList)
 
-         {
 
-             StartCoroutine(LoadAB(t));
 
-         }
 
-     }
 
-     IEnumerator LoadAB(string _name)
 
-     {
 
-         string abPath = "/AB/";
 
-         if (Application.isEditor) {
 
-             abPath = "/ABW/";
 
-         }
 
-         UnityWebRequest www =
 
-             UnityWebRequestAssetBundle.GetAssetBundle(Application.streamingAssetsPath + abPath + _name);
 
-         yield return www.SendWebRequest();
 
-         if (www.result != UnityWebRequest.Result.Success)
 
-         {
 
-             Debug.LogError(www.result);
 
-         }
 
-         else
 
-         {
 
-             AssetBundle ab= DownloadHandlerAssetBundle.GetContent(www);
 
-             if (ab != null)
 
-             {
 
-                 abRes_Dir.TryAdd(_name, ab);
 
-             }
 
-         }
 
-         www.Dispose();
 
-     }
 
-     public T LoadAssets<T>(string abName, string resName) where T : UnityEngine.Object
 
-     {
 
-         T obj = null;
 
-         if (!abRes_Dir.ContainsKey(abName))
 
-         {
 
-             Debug.LogError($"{abName}丢失");
 
-         }
 
-         else
 
-         {
 
-             if (typeof(T) == typeof(GameObject))
 
-             {
 
-                 obj = Instantiate(abRes_Dir[abName].LoadAsset<T>(resName));
 
-             }
 
-             else
 
-             {
 
-                 obj = abRes_Dir[abName].LoadAsset<T>(resName);
 
-             }
 
-         }
 
-         return obj;
 
-     }
 
- }
 
 
  |