a162c377-e53d-4e00-8a0a-0451c634b9bc.js 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. "use strict";
  2. cc._RF.push(module, 'a162cN35T1OAIoKBFHGNLm8', 'SceneMgr');
  3. // scripts/Framework/SceneMgr.ts
  4. "use strict";
  5. Object.defineProperty(exports, "__esModule", { value: true });
  6. var gameMgr_1 = require("../Game/gameMgr");
  7. var setMap_1 = require("../Game/setMap");
  8. var GuideLayer_1 = require("../UI/GuideLayer");
  9. var CocosZ_1 = require("./CocosZ");
  10. var SceneMgr = /** @class */ (function () {
  11. function SceneMgr() {
  12. this._activeScene = "";
  13. this._timeInterval = 0;
  14. }
  15. Object.defineProperty(SceneMgr, "inst", {
  16. get: function () {
  17. if (!SceneMgr._inst) {
  18. SceneMgr._inst = new SceneMgr();
  19. }
  20. return SceneMgr._inst;
  21. },
  22. enumerable: false,
  23. configurable: true
  24. });
  25. SceneMgr.prototype.loadScene = function (name, onLunch) {
  26. var _this = this;
  27. if (this._activeScene == name) {
  28. var curTime = (new Date()).getTime();
  29. if (curTime - this._timeInterval < 1000) {
  30. return;
  31. }
  32. }
  33. this._timeInterval = new Date().getTime();
  34. // 加载场景开始前
  35. this.loadBefore(name, function () {
  36. // 加载场景
  37. cc.director.loadScene(name, function () {
  38. _this._activeScene = name;
  39. onLunch();
  40. // 加载场景完成后
  41. _this.loadFinish(name);
  42. });
  43. });
  44. };
  45. /** 加载场景开始前 */
  46. SceneMgr.prototype.loadBefore = function (name, call) {
  47. // 显示加载动画
  48. if (GuideLayer_1.guideLayer && GuideLayer_1.guideLayer.isValid) {
  49. if (name == "Home") {
  50. GuideLayer_1.guideLayer.node.zIndex = cc.macro.MAX_ZINDEX;
  51. GuideLayer_1.guideLayer.hideFjAni();
  52. GuideLayer_1.guideLayer.showBgAni();
  53. }
  54. else if (name == "Game") {
  55. GuideLayer_1.guideLayer.node.zIndex = cc.macro.MAX_ZINDEX;
  56. if ([5, 7].includes(CocosZ_1.cocosz.gameMode)) {
  57. // 夺旗模式
  58. GuideLayer_1.guideLayer.hideFjAni();
  59. GuideLayer_1.guideLayer.showBgAni();
  60. }
  61. else {
  62. GuideLayer_1.guideLayer.hideBgAni();
  63. GuideLayer_1.guideLayer.showFjAni();
  64. }
  65. }
  66. }
  67. // 跳转前释放
  68. if (name == "Home") {
  69. // 逐帧释放关卡节点
  70. if (gameMgr_1.gameMgr && gameMgr_1.gameMgr.map && gameMgr_1.gameMgr.map.isValid) {
  71. var mapTs_1 = gameMgr_1.gameMgr.map.getComponent(setMap_1.default);
  72. if (mapTs_1) {
  73. setTimeout(function () { mapTs_1.release(call); }, 100);
  74. return;
  75. }
  76. }
  77. }
  78. call && call();
  79. };
  80. /** 加载场景完成后 */
  81. SceneMgr.prototype.loadFinish = function (name) {
  82. if (name == "Home") {
  83. // 加载动画(zindex)
  84. if (GuideLayer_1.guideLayer && GuideLayer_1.guideLayer.isValid) {
  85. GuideLayer_1.guideLayer.node.zIndex = cc.macro.MIN_ZINDEX;
  86. }
  87. // 释放资源
  88. // this.releaseRes();
  89. }
  90. else if (name == "Game") {
  91. GuideLayer_1.guideLayer.node.zIndex = cc.macro.MIN_ZINDEX;
  92. }
  93. // 刷新背景音效
  94. CocosZ_1.cocosz.audioMgr.playBgm();
  95. };
  96. /** 释放游戏资源 */
  97. SceneMgr.prototype.releaseRes = function () {
  98. // 释放游戏音效
  99. var audio_game = [];
  100. CocosZ_1.cocosz.getDirWithPath("audio_game", cc.AudioClip, audio_game);
  101. CocosZ_1.cocosz.resMgr.releaseResArray(audio_game, cc.AudioClip);
  102. if (6 == CocosZ_1.cocosz.gameMode) {
  103. // 释放地下城音效
  104. var audio_zombie = [];
  105. CocosZ_1.cocosz.getDirWithPath("audio_zombie", cc.AudioClip, audio_zombie);
  106. CocosZ_1.cocosz.resMgr.releaseResArray(audio_zombie, cc.AudioClip);
  107. // 释放僵尸预制体
  108. var prefab_zombie = [];
  109. CocosZ_1.cocosz.getDirWithPath("prefab_zombie", cc.Prefab, prefab_zombie);
  110. CocosZ_1.cocosz.resMgr.releaseResArray(prefab_zombie, cc.Prefab);
  111. // 释放技能预制体
  112. var prefab_zombie_skill = [];
  113. CocosZ_1.cocosz.getDirWithPath("prefab_zombie_skill", cc.Prefab, prefab_zombie_skill);
  114. CocosZ_1.cocosz.resMgr.releaseResArray(prefab_zombie_skill, cc.Prefab);
  115. // 释放技能图片
  116. var tex_zombie = [];
  117. CocosZ_1.cocosz.getDirWithPath("tex_zombie", cc.SpriteFrame, tex_zombie);
  118. CocosZ_1.cocosz.resMgr.releaseResArray(tex_zombie, cc.SpriteFrame);
  119. }
  120. };
  121. return SceneMgr;
  122. }());
  123. exports.default = SceneMgr;
  124. cc._RF.pop();