示例#1
0
        //异步请求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);
        }
示例#2
0
        //同步请求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);
            }
        }
示例#3
0
 //预加载prefab同步(返回原始prefab,不实例)
 public GameObject PreLoadPrefab(string abName, string assetName)
 {
     return(HPrefab.Load(abName, assetName, true));
 }
示例#4
0
 //加载prefab协程
 public AsyncRequest LoadPrefabCoRequest(string abName, string assetName)
 {
     return(HPrefab.LoadCoRequest(abName, assetName, false));
 }
示例#5
0
 //加载prefab异步
 public void LoadPrefabAsync(string abName, string assetName, Action <GameObject, object[]> callback, params object[] args)
 {
     HPrefab.LoadAsync(abName, assetName, false, callback, args);
 }
示例#6
0
 //加载prefab同步
 public GameObject LoadPrefab(string abName, string assetName)
 {
     return(HPrefab.Load(abName, assetName, false));
 }