/// <summary> /// 编辑器模式下分块加载 /// </summary> protected void LoadPartSceneForEditor() { LogWarp.LogFormat("LoadPartSceneForEditor"); int sceneID = LoadingMgr.Inst.editor_SceneID; //加载地块 var littleZooRoot = GameObject.Find("LittleZoo").transform; Config.resourceCell cellRes; int idx = 0; float offset = Config.globalConfig.getInstace().ZooPartResLen; float extendOffset = 0; Config.groupCell preCell = null; Config.groupCell lastCell = null; foreach (var kv in Config.groupConfig.getInstace().AllData) { if (kv.Value.scene != sceneID) { continue; } var cellGroup = kv.Value; //加载动物栏 for (int i = 0; i < cellGroup.startid.Length; i++) { //编辑器加载的都是0级的动物栏prefab LittleZooModule.LoadLittleZoo(sceneID, cellGroup.startid[i], 0, littleZooRoot); } //加载地块 if (cellGroup.zoopartresID > 0) { cellRes = Config.resourceConfig.getInstace().getCell(cellGroup.zoopartresID); var goPart = ResourceManager.GetInstance().LoadGameObject(cellRes.prefabpath); //goPart.transform.position = new Vector3(goPart.transform.position.x - idx * offset, 0, 0); if (preCell != null) { extendOffset += preCell.groundsize; } //goPart.transform.position = new Vector3(goPart.transform.position.x - extendOffset, 0, 0); goPart.transform.position += GlobalDataManager.GetInstance().SceneForward *extendOffset; goPart.name = string.Format("Group_{0}", cellGroup.zoopartresID); ++idx; preCell = cellGroup; lastCell = cellGroup; if (LoadingMgr.Inst.ExtendLoadGroupNum != Const.Invalid_Int && LoadingMgr.Inst.ExtendLoadGroupNum == idx) { break; } } } if (lastCell != null) { extendOffset += lastCell.groundsize; } LittleZooModule.LoadExitGate(sceneID, idx, extendOffset); }
/// <summary> /// 加载动物栏 /// </summary> protected void LoadLittleZoo() { var loadGroup = GlobalDataManager.GetInstance().zooGameSceneData.loadGroup; GameObject camera = GameObject.Find("Camera"); GlobalDataManager.GetInstance().zooGameSceneData.camera = camera; var littleZooRoot = GameObject.Find("LittleZoo").transform; GlobalDataManager.GetInstance().zooGameSceneData.littleZooParentNode = littleZooRoot; int littleZooID = Const.Invalid_Int; int groupID = Const.Invalid_Int; bool retCode = this.playerData.playerZoo.IsExistlittleZooModuleDatas(sceneID); if (!retCode) { this.playerData.playerZoo.SetDefaultlittleZooData(sceneID); } //var littleZooModuleDatas = this.GetlittleZooModuleDatas(sceneID); var littleZooModuleDatas = this.playerData.playerZoo.littleZooModuleDatasMSS; //for (int i = 0; i < this.playerData.playerZoo.littleZooModuleDatas.Count; i++) for (int i = 0; i < littleZooModuleDatas.Count; i++) { var littleZooModuleData = this.playerData.playerZoo.littleZooModuleDatasMSS[i]; if (littleZooModuleData.sceneID != sceneID) { continue; } littleZooID = littleZooModuleData.littleZooID; groupID = GlobalDataManager.GetInstance().logicTableGroup.FindGroupID(littleZooID); if (!loadGroup.Contains(groupID)) { loadGroup.Add(groupID); LogWarp.LogFormat("loadGroup {0}", groupID); } //加载动物栏 int level = littleZooModuleData.littleZooTicketsLevel; var cellBuild = Config.buildupConfig.getInstace().getCell(littleZooID); int buildResIdx = LittleZooModule.FindLevelRangIndex(cellBuild.lvmodel, level); LittleZooModule.LoadLittleZoo(sceneID, littleZooID, buildResIdx, littleZooRoot, false); } loadGroup.Sort(); Config.resourceCell cellRes; int idx = 0; float offset = Config.globalConfig.getInstace().ZooPartResLen; float extendOffset = 0; Config.groupCell preCell = null; Config.groupCell lastCell = null; for (int i = 0; i < loadGroup.Count; i++) { var cellGroup = Config.groupConfig.getInstace().getCell(loadGroup[i]); //加载Group if (cellGroup.zoopartresID > 0 && i >= (Config.globalConfig.getInstace().DefaultOpenGroup)) { cellRes = Config.resourceConfig.getInstace().getCell(cellGroup.zoopartresID); var goPart = ResourceManager.GetInstance().LoadGameObject(cellRes.prefabpath); if (preCell != null) { extendOffset += preCell.groundsize; } goPart.transform.position = new Vector3(goPart.transform.position.x - extendOffset, 0, 0); goPart.name = string.Format("Group_{0}", cellGroup.zoopartresID); ++idx; preCell = cellGroup; lastCell = cellGroup; GlobalDataManager.GetInstance().zooGameSceneData.AddExtendLoadGroup(loadGroup[i], goPart); } } if (lastCell != null) { extendOffset += lastCell.groundsize; } LittleZooModule.LoadExitGate(sceneID, idx, extendOffset); }