/// <summary> /// 加载新场景 /// </summary> private void LoadNewScene() { m_CurrSceneEntity = GameEntry.DataTable.DataTableManager.Sys_SceneDBModel.Get(m_CurrLoadSceneId); m_CurrSceneDetailList = GameEntry.DataTable.DataTableManager.Sys_SceneDetailDBModel.GetListBySceneId(m_CurrSceneEntity.Id, 2); m_NeedLoadOrUnloadSceneDetailCount = m_CurrSceneDetailList.Count; for (int i = 0; i < m_NeedLoadOrUnloadSceneDetailCount; i++) { SceneLoaderRoutine routine = GameEntry.Pool.DequeueClassObject <SceneLoaderRoutine>(); m_SceneLoaderList.AddLast(routine); Sys_SceneDetailEntity entity = m_CurrSceneDetailList[i]; routine.LoadScene(entity.Id, entity.ScenePath, OnLoadSceneProgressUpdate, OnLoadSceneComplete); } }
/// <summary> /// 根据场景编号获取场景明细 /// </summary> /// <param name="sceneId">场景编号</param> /// <param name="sceneGrade">等级</param> /// <returns></returns> public List <Sys_SceneDetailEntity> GetListBySceneId(int sceneId, int sceneGrade) { m_retLst.Clear(); List <Sys_SceneDetailEntity> lst = this.GetList(); int len = lst.Count; for (int i = 0; i < len; i++) { Sys_SceneDetailEntity entity = lst[i]; if (entity.SceneId == sceneId && entity.SceneGrade <= sceneGrade) { m_retLst.Add(entity); } } return(m_retLst); }