Beispiel #1
0
 public void LoadAsset(string fullPath, AssetCallback assetCallback, object callbackData)
 {
     StartCoroutine(LoadAssetByWWW(fullPath, new AssetCallback(delegate(string Name, WWW asset, object callbackData0)
     {
         assetCallback(Name, asset, callbackData0);
     }), null));
 }
Beispiel #2
0
    private IEnumerator LoadAssetByWWW(string fullPath, AssetCallback assetCallback, object callbackData)
    {
        WWW asset = new WWW(fullPath);

        yield return(asset);

        assetCallback(string.Empty, asset, null);
    }
Beispiel #3
0
 public void AsyncLoadAssetWithType(string resName, Type type, AssetCallback callback)
 {
     if (resName.Contains("Scenes/s") && Path.GetDirectoryName(resName) == "Scenes")
     {
         callback(null);
     }
     else
     {
         if (this.coroutineQueue == null)
         {
             this.coroutineQueue = new SingleLoader(new Func <IEnumerator, Coroutine>(GameManager.Instance.StartCoroutine));
         }
         this.coroutineQueue.Enqueue(this.AsyncOnLoadAsset(resName, type, callback));
     }
 }
Beispiel #4
0
 public static void LoadEquipCustomizationAsset(string path, AssetCallback callback)
 {
     AssetManager.LoadAssetWithPool(path, delegate(bool isSuccess)
     {
         if (isSuccess)
         {
             if (!AssetManager.mEquipCustomizationAsset.Contains(path))
             {
                 AssetManager.mEquipCustomizationAsset.Add(path);
             }
             if (callback != null)
             {
                 callback(AssetManager.LoadAssetNowWithPool(path));
             }
         }
     });
 }
Beispiel #5
0
    //基于现有的经验,大部分情况下,异步加载资源的表现更加优异,所以直接使用异步接口,不管是否是同步还是异步
    public void LoadAssetAsync(string assetName, string assetFileName, AssetCallback callBack)
    {
        if (!IsAssetsLoaded(assetFileName))
        {
            var info = new CAssetLoaderInfo();
            info.assetName = assetName;
            info.path      = assetRootPath + assetFileName;
            info.loadType  = CAssetLoadType.AssetBundleFile;

            loaderInfoQueue.Push(info);
        }

        if (callBack != null)
        {
            if (!callBacks.ContainsKey(assetFileName))
            {
                callBacks.Add(assetFileName, new List <AssetCallback>());
            }
            callBacks[assetFileName].Add(callBack);
        }

        //loader.callBack = callBack;
    }
Beispiel #6
0
 private IEnumerator AsyncOnLoadAsset(string resName, Type type, AssetCallback callback)
 {
     StaticLoader.< AsyncOnLoadAsset > c__Iterator23 <AsyncOnLoadAsset> c__Iterator = new StaticLoader.< AsyncOnLoadAsset > c__Iterator23();
Beispiel #7
0
 public InteropBase()
 {
     _onAssetErrorMessageChanged = LogUpdater;
 }
Beispiel #8
0
 public static void LoadAsset(string resName, Type type, AssetCallback callback)
 {
     AssetLoader.GetCurrentLoader().AsyncLoadAssetWithType(resName, type, callback);
 }
 private IEnumerator AsyncOnLoadAsset(string resName, Type type, AssetCallback callback)
 {
     DynamicLoader.< AsyncOnLoadAsset > c__Iterator20 <AsyncOnLoadAsset> c__Iterator = new DynamicLoader.< AsyncOnLoadAsset > c__Iterator20();