private void OnProgress(FageEvent fevent) { FageWebEvent wevent = fevent as FageWebEvent; if ((wevent == null) || (!_hash.ContainsKey(wevent.requestId))) { return; } float seg = 1f / _total; float p = (_total - _hash.Count) * seg + wevent.progress * seg; FageBundleLoader.Instance.DispatchEvent(new FageBundleEvent(FageBundleEvent.DOWNLOADING, p)); }
private void OnResponse(FageEvent fevent) { FageWebEvent wevent = fevent as FageWebEvent; if ((wevent == null) || (!_hash.ContainsKey(wevent.requestId))) { return; } if (string.IsNullOrEmpty(wevent.www.error)) { FageBundle bundle = _hash[wevent.requestId] as FageBundle; Dictionary <string, AssetBundle> bundles = FageBundleLoader.Instance.GetDownloadedBundles(); if (bundles.ContainsKey(bundle.id)) { bundles[bundle.id] = wevent.www.assetBundle; } else { bundles.Add(bundle.id, wevent.www.assetBundle); } List <string> scenes = FageBundleLoader.Instance.GetLoadedScene(); string[] paths = wevent.www.assetBundle.GetAllScenePaths(); for (int i = 0; i < paths.Length; i++) { if (!scenes.Contains(paths[i])) { scenes.Add(paths[i]); } } wevent.www.Dispose(); } else { FageBundleLoader.Instance.DispatchEvent(new FageBundleEvent(FageBundleEvent.ERROR_NODATA)); FageBundleLoader.Instance.ReserveState("FageBundleLoaderIdle"); _hash.Clear(); return; } _hash.Remove(wevent.requestId); if (_hash.Count == 0) { FageBundleLoader.Instance.DispatchEvent(new FageBundleEvent(FageBundleEvent.DOWNLOADING, 1f)); FageBundleLoader.Instance.ReserveState("FageBundleLoaderLoad"); } }
private void OnResponse(FageEvent fevent) { FageWebEvent wevent = fevent as FageWebEvent; if ((wevent == null) || (wevent.requestId != _requestId)) { return; } if (string.IsNullOrEmpty(wevent.www.error)) { string str = wevent.www.text; FageConfig.LoadFromText(str); Utility.SetPrefString(_KEY, str); FageBundleLoader.Instance.ReserveState("FageBundleLoaderDownload"); } else { OnOffline(null); } }