/// <summary> /// 加载新场景 /// </summary> private void LoadNewScene() { m_CurrSceneEntity = GameEntry.DataTable.DataTableManager.Sys_SceneDBModel.Get(m_CurrLoadSceneId); m_CurrSceneDetailList = GameEntry.DataTable.DataTableManager.Sys_SceneDatailDBModel.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_SceneDatailEntity 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_SceneDatailEntity> GetListBySceneId(int sceneId, int sceneGrade) { m_retLst.Clear(); List<Sys_SceneDatailEntity> lst = this.GetList(); int len = lst.Count; for (int i = 0; i < len; i++) { Sys_SceneDatailEntity entity = lst[i]; if (entity.SceneId == sceneId && entity.SceneGrade <= sceneGrade) { m_retLst.Add(entity); } } return m_retLst; }