private IEnumerator startLoadScene(uint mapId, string url) { try { print("****异步加载场景特效资源, mapId,url = " + mapId + ", " + url); isLoadingScene = true; Log.info(this, "-startLoadScene() 异步加载场景,场景uri: " + url); loadSceneOpt = Application.LoadLevelAsync(url); yield return(loadSceneOpt); //场景资源预只会预加载一次 if (!scenePreloadHistory.Contains(mapId)) { Log.warin(this, "-startLoadScene() 异步加载场景特效资源" + mapId); scenePreloadHistory.Add(mapId); int[] subTypeList = { PRTypeConst.ST_SKILL, PRTypeConst.ST_SOUND }; for (int i = 0; i < subTypeList.Length; i++) { IList <SysReadyLoadVo> preloadList = BaseDataMgr.instance.GetScenePreLoadList(mapId, subTypeList[i]); if (preloadList.Count > 0) { IPreloader loader = PreloaderFactory.Instance.GetPreLoader(preloadList[0]); Task t = CoroutineManager.StartCoroutine(loader.PreloadResourceList(preloadList)); yield return(t.Routine); } } } //Log.info (this, "-startLoadScene() 加载完成,调用加载成功回调函数" + loadSceneOpt.progress); if (loadSceneItem != null) { loadSceneItem.call(); } } finally { isLoadingScene = false; } // Vector3 cameraPos = GameObject.Find ("main_camera").transform.position; // GameObject.Find ("main_camera").transform.position = new Vector3 (MeVo.instance.x, cameraPos.y, cameraPos.z); }
private IEnumerator LoadSceneAsset(uint mapId, string key) { //场景资源预只会预加载一次 if (!scenePreloadHistory.Contains(mapId)) { Log.warin(this, "-startLoadScene() 异步加载场景特效资源" + mapId); scenePreloadHistory.Add(mapId); int[] subTypeList = { PRTypeConst.ST_SKILL, PRTypeConst.ST_SOUND }; for (int i = 0; i < subTypeList.Length; i++) { // 存储 预加载场景的资源 列表 IList <SysReadyLoadVo> preloadList = BaseDataMgr.instance.GetScenePreLoadList(mapId, subTypeList[i]); if (preloadList.Count > 0) { IPreloader loader = PreloaderFactory.Instance.GetPreLoader(preloadList[0]);// 返回特效或者音效 实例 foreach (SysReadyLoadVo preload in preloadList) { IList <SysReadyLoadVo> list = new List <SysReadyLoadVo>(); list.Add(preload); yield return(StartCoroutine(loader.PreloadResourceList(list))); // 主要是加载 特效和音效 Singleton <StartLoadingView> .Instance.PreLoadedNum += list.Count; } } } } else { Singleton <StartLoadingView> .Instance.PreLoadedNum += Singleton <StartLoadingView> .Instance.PreLoadNum; } //预加载怪物,前面已经获取到加载列表了 if (MonsterMgr.Instance.PreMonloadList != null && MonsterMgr.Instance.PreMonloadList.Count > 0) { yield return(StartCoroutine(MonsterMgr.Instance.PreloadMonsterList())); } callBack(key, null); }
public RoomHub(GoogleService googleService, IPreloader preloadService, RoomSubscriptionService roomSubscriptionService) { _google = googleService; _preloader = preloadService; _roomSubscription = roomSubscriptionService; }