Exemplo n.º 1
0
    public static BaseLoaderElement CreateLoader(EnumResouceType type, string path)
    {
        BaseLoaderElement loader;

        switch (type)
        {
        case EnumResouceType.CACHE_BINARY:
            loader = new CacheBinaryLoader(path);
            break;

        case EnumResouceType.BINARY:
            loader = new BinaryLoader(path);
            break;

        case EnumResouceType.REMOTE_BINARY:
            loader = new RemoteBinaryLoader(path);
            break;

        case EnumResouceType.ASSETBUNDLE:
            loader = new ABLoader(path);
            break;

        default:
            loader = new BinaryLoader(path);
            break;
        }
        return(loader);
    }
Exemplo n.º 2
0
    public static void Load(string path, EnumResouceType type, System.Action <object> completeCallback, System.Action <string> errorCallback = null)
    {
        BaseLoaderElement loader;

        if (_loadingDic.ContainsKey(path))
        {
            loader = _loadingDic[path];
            loader.completeCallback += completeCallback;
            if (errorCallback != null)
            {
                loader.errorCallback += errorCallback;
            }
        }
        else
        {
            loader = CreateLoader(type, path);
            loader.onLoadComplete = OnLoadComplete;
            loader.onLoadError    = OnLoadError;

            loader.completeCallback += completeCallback;
            loader.errorCallback    += errorCallback;
            _loadingDic.Add(path, loader);
            Initiator.instance.StartCoroutine(loader.Load());
        }
    }