//异步请求prefab public static void LoadAsync(string abName, string assetName, bool isPreLoad, Action <GameObject, object[]> callback, params object[] args) { if (string.IsNullOrEmpty(abName) || string.IsNullOrEmpty(assetName)) { Debug.LogError("abName or assetName is null!!!"); if (callback != null) { callback(null, null); } return; } Action <AssetLoadData> tCallBack = null; if (callback != null) { tCallBack = (data) => { if (data != null) { callback(data.mAsset as GameObject, args); } else { callback(null, args); } }; } HPrefab res = Get <HPrefab>(abName, assetName, AssetType.ePrefab); res.StartLoad(false, false, isPreLoad, tCallBack); }
//同步请求prefab public static GameObject Load(string abName, string assetName, bool isPreLoad) { if (string.IsNullOrEmpty(abName) || string.IsNullOrEmpty(assetName)) { Debug.LogError("abName or assetName is null!!!"); return(null); } HPrefab res = Get <HPrefab>(abName, assetName, AssetType.ePrefab); res.StartLoad(true, false, isPreLoad, null); if (isPreLoad) { return(res.AssetData.mAsset as GameObject); } else { return(res.InstObj); } }
//预加载prefab同步(返回原始prefab,不实例) public GameObject PreLoadPrefab(string abName, string assetName) { return(HPrefab.Load(abName, assetName, true)); }
//加载prefab协程 public AsyncRequest LoadPrefabCoRequest(string abName, string assetName) { return(HPrefab.LoadCoRequest(abName, assetName, false)); }
//加载prefab异步 public void LoadPrefabAsync(string abName, string assetName, Action <GameObject, object[]> callback, params object[] args) { HPrefab.LoadAsync(abName, assetName, false, callback, args); }
//加载prefab同步 public GameObject LoadPrefab(string abName, string assetName) { return(HPrefab.Load(abName, assetName, false)); }