levelMgr.ts 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import levelempty from "../resources/level/levelempty";
  2. import { ConfigMgr } from "./game/cfg/configMgr";
  3. import { Nest } from "./game/monster/nest";
  4. import { ResMgr } from "./resMgr";
  5. let pass = 3;
  6. /**
  7. * 1 切换关卡
  8. */
  9. export class LevelMgr {
  10. parent: cc.Node;
  11. title: cc.Label;
  12. passCnt: number = 0;
  13. private static _inst: LevelMgr;
  14. public static get inst(): LevelMgr {
  15. if (this._inst == null) {
  16. this._inst = new LevelMgr();
  17. }
  18. return this._inst;
  19. }
  20. async begin(){
  21. this.passCnt = 0;
  22. // this.load();
  23. let level = 1;
  24. let node = await ResMgr.inst.loadPrefab(`level/levelEmpty`, this.parent);
  25. let levelView = node.getComponent(levelempty);
  26. let levelData = ConfigMgr.inst.getCfgById('level', level);
  27. let nestData = ConfigMgr.inst.getCfgById('nest', levelData.nest);
  28. let nestCreator = new Nest(nestData, levelView.$top_node);
  29. nestCreator.begin();
  30. }
  31. next(){
  32. this.passCnt ++;
  33. if(this.passCnt >= pass) return;
  34. this.load();
  35. }
  36. private load() {
  37. this.title.string = `level${this.passCnt + 1}`;
  38. this.parent.destroyAllChildren();
  39. ResMgr.inst.loadPrefab(`level/level${this.passCnt + 1}`, this.parent);
  40. }
  41. }