c28f184f0d05e5d5976de9f0de294b88d5de4347.js 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323
  1. System.register(["__unresolved_0", "cc", "__unresolved_1", "__unresolved_2", "__unresolved_3", "__unresolved_4", "__unresolved_5", "__unresolved_6", "__unresolved_7", "__unresolved_8", "__unresolved_9", "__unresolved_10"], function (_export, _context) {
  2. "use strict";
  3. var _reporterNs, _cclegacy, __checkObsolete__, __checkObsoleteInNamespace__, _decorator, Component, director, ResUtil, TableLoadUtil, get_new_head_icon, TableUtil, ModuleDef, SceneDef, PlayerData, ch, gui, UI_Hall, _dec, _class, _class2, _crd, ccclass, property, GameState, life_countdown_Max, Hall;
  4. function _reportPossibleCrUseOfResUtil(extras) {
  5. _reporterNs.report("ResUtil", "../../core/util/ResUtil", _context.meta, extras);
  6. }
  7. function _reportPossibleCrUseOfTableLoadUtil(extras) {
  8. _reporterNs.report("TableLoadUtil", "../../core/util/TableLoadUtil", _context.meta, extras);
  9. }
  10. function _reportPossibleCrUseOfget_new_head_icon(extras) {
  11. _reporterNs.report("get_new_head_icon", "../../core/util_class/HeadIcon", _context.meta, extras);
  12. }
  13. function _reportPossibleCrUseOfTableUtil(extras) {
  14. _reporterNs.report("TableUtil", "../../module_extra/table_ts/TableUtil", _context.meta, extras);
  15. }
  16. function _reportPossibleCrUseOfModuleDef(extras) {
  17. _reporterNs.report("ModuleDef", "../../Scripts/ModuleDef", _context.meta, extras);
  18. }
  19. function _reportPossibleCrUseOfSceneDef(extras) {
  20. _reporterNs.report("SceneDef", "../../Scripts/SceneDef", _context.meta, extras);
  21. }
  22. function _reportPossibleCrUseOfPlayerData(extras) {
  23. _reporterNs.report("PlayerData", "../game/PlayerData", _context.meta, extras);
  24. }
  25. function _reportPossibleCrUseOfch(extras) {
  26. _reporterNs.report("ch", "../../ch/ch", _context.meta, extras);
  27. }
  28. function _reportPossibleCrUseOfgui(extras) {
  29. _reporterNs.report("gui", "../../core/ui/ui", _context.meta, extras);
  30. }
  31. function _reportPossibleCrUseOfUI_Hall(extras) {
  32. _reporterNs.report("UI_Hall", "../ui/UI_Hall/UI_Hall", _context.meta, extras);
  33. }
  34. return {
  35. setters: [function (_unresolved_) {
  36. _reporterNs = _unresolved_;
  37. }, function (_cc) {
  38. _cclegacy = _cc.cclegacy;
  39. __checkObsolete__ = _cc.__checkObsolete__;
  40. __checkObsoleteInNamespace__ = _cc.__checkObsoleteInNamespace__;
  41. _decorator = _cc._decorator;
  42. Component = _cc.Component;
  43. director = _cc.director;
  44. }, function (_unresolved_2) {
  45. ResUtil = _unresolved_2.ResUtil;
  46. }, function (_unresolved_3) {
  47. TableLoadUtil = _unresolved_3.default;
  48. }, function (_unresolved_4) {
  49. get_new_head_icon = _unresolved_4.default;
  50. }, function (_unresolved_5) {
  51. TableUtil = _unresolved_5.TableUtil;
  52. }, function (_unresolved_6) {
  53. ModuleDef = _unresolved_6.ModuleDef;
  54. }, function (_unresolved_7) {
  55. SceneDef = _unresolved_7.SceneDef;
  56. }, function (_unresolved_8) {
  57. PlayerData = _unresolved_8.default;
  58. }, function (_unresolved_9) {
  59. ch = _unresolved_9.ch;
  60. }, function (_unresolved_10) {
  61. gui = _unresolved_10.gui;
  62. }, function (_unresolved_11) {
  63. UI_Hall = _unresolved_11.UI_Hall;
  64. }],
  65. execute: function () {
  66. _crd = true;
  67. _cclegacy._RF.push({}, "7cb62YJXe5LPKnKF0hMl+Rc", "Hall", undefined);
  68. __checkObsolete__(['_decorator', 'Component', 'director', 'Node', 'profiler']);
  69. ({
  70. ccclass,
  71. property
  72. } = _decorator);
  73. _export("GameState", GameState = /*#__PURE__*/function (GameState) {
  74. GameState[GameState["gameing"] = 0] = "gameing";
  75. GameState[GameState["wait"] = 1] = "wait";
  76. GameState[GameState["win"] = 2] = "win";
  77. GameState[GameState["fail"] = 3] = "fail";
  78. return GameState;
  79. }({}));
  80. _export("life_countdown_Max", life_countdown_Max = 1800);
  81. _export("Hall", Hall = (_dec = ccclass('Hall'), _dec(_class = (_class2 = class Hall extends Component {
  82. constructor(...args) {
  83. super(...args);
  84. this.player = void 0;
  85. this.head_icon = (_crd && get_new_head_icon === void 0 ? (_reportPossibleCrUseOfget_new_head_icon({
  86. error: Error()
  87. }), get_new_head_icon) : get_new_head_icon)();
  88. this.sceneChanging = false;
  89. //场景切换
  90. this.bornRunning = false;
  91. // 是否在生成中
  92. this.gameState = GameState.win;
  93. this.firstEnter = false;
  94. }
  95. static getInstance() {
  96. return Hall.instance;
  97. }
  98. onEnable() {
  99. // 计算离线时间,并更新倒计时
  100. this.startLifeTimer();
  101. }
  102. onLoad() {
  103. window.addEventListener('beforeunload', async () => {
  104. let res = Date.now();
  105. if (res) {
  106. const nowTimestamp = Math.floor(res / 1000); // 记录当前时间(秒)
  107. this.player.set_last_exit_time(nowTimestamp);
  108. if (this.gameState == GameState.fail || this.gameState == GameState.wait || this.gameState == GameState.gameing) {
  109. if (this.player.get_life() > 0) {
  110. this.player.set_life(this.player.get_life() - 1);
  111. }
  112. }
  113. }
  114. });
  115. window['wx'].onShow(async () => {
  116. let res = Date.now();
  117. if (res) {
  118. const nowTimestamp = Math.floor(res / 1000); // 记录当前时间(秒)
  119. this.player.set_last_exit_time(nowTimestamp);
  120. if (this.gameState == GameState.wait || this.gameState == GameState.gameing) {
  121. this.player.set_life(this.player.get_life() + 1);
  122. }
  123. }
  124. });
  125. window['wx'].onHide(async () => {
  126. let res = Date.now();
  127. if (res) {
  128. const nowTimestamp = Math.floor(res / 1000); // 记录当前时间(秒)
  129. this.player.set_last_exit_time(nowTimestamp);
  130. if (this.gameState == GameState.fail || this.gameState == GameState.wait || this.gameState == GameState.gameing) {
  131. if (this.player.get_life() > 0) {
  132. this.player.set_life(this.player.get_life() - 1);
  133. }
  134. }
  135. }
  136. });
  137. }
  138. async start() {
  139. if (!Hall.instance) {
  140. Hall.instance = this;
  141. }
  142. this.init();
  143. director.addPersistRootNode(this.node); // if(chsdk.checkFromSidebar())
  144. // {
  145. // Hall.getInstance().player.add_item(2,2);
  146. // }
  147. }
  148. async init() {
  149. await this.loadTable();
  150. this.player = (_crd && PlayerData === void 0 ? (_reportPossibleCrUseOfPlayerData({
  151. error: Error()
  152. }), PlayerData) : PlayerData).getInstance((_crd && ch === void 0 ? (_reportPossibleCrUseOfch({
  153. error: Error()
  154. }), ch) : ch).sdk.get_gid(), (_crd && ch === void 0 ? (_reportPossibleCrUseOfch({
  155. error: Error()
  156. }), ch) : ch).sdk.get_uid().toString());
  157. await this.player.init_user_info();
  158. await this.player.load();
  159. this.player.set_login_num(1);
  160. if (this.player.get_max_floor() == 0) {
  161. this.firstEnter = true;
  162. Hall.getInstance().player.set_life(10);
  163. (_crd && ResUtil === void 0 ? (_reportPossibleCrUseOfResUtil({
  164. error: Error()
  165. }), ResUtil) : ResUtil).loadScene((_crd && SceneDef === void 0 ? (_reportPossibleCrUseOfSceneDef({
  166. error: Error()
  167. }), SceneDef) : SceneDef).GAME, (_crd && ModuleDef === void 0 ? (_reportPossibleCrUseOfModuleDef({
  168. error: Error()
  169. }), ModuleDef) : ModuleDef).GAME, true);
  170. } else {
  171. (_crd && gui === void 0 ? (_reportPossibleCrUseOfgui({
  172. error: Error()
  173. }), gui) : gui).show(_crd && UI_Hall === void 0 ? (_reportPossibleCrUseOfUI_Hall({
  174. error: Error()
  175. }), UI_Hall) : UI_Hall);
  176. }
  177. await this.calculateOfflineTime();
  178. this.startLifeTimer();
  179. }
  180. loadTable() {
  181. (_crd && ch === void 0 ? (_reportPossibleCrUseOfch({
  182. error: Error()
  183. }), ch) : ch).log.log_start("加载配置初始化");
  184. (_crd && TableLoadUtil === void 0 ? (_reportPossibleCrUseOfTableLoadUtil({
  185. error: Error()
  186. }), TableLoadUtil) : TableLoadUtil).preloadAll((_crd && ModuleDef === void 0 ? (_reportPossibleCrUseOfModuleDef({
  187. error: Error()
  188. }), ModuleDef) : ModuleDef).EXTRA, "table_json", async () => {}, (_crd && TableUtil === void 0 ? (_reportPossibleCrUseOfTableUtil({
  189. error: Error()
  190. }), TableUtil) : TableUtil).set);
  191. }
  192. async calculateOfflineTime() {
  193. const lastExitTime = this.player.get_last_exit_time();
  194. console.log(`上次退出时间: ${new Date(lastExitTime * 1000)}`);
  195. if (!lastExitTime) return;
  196. const lastExitTimestamp = lastExitTime;
  197. let res = Date.now();
  198. if (res) {
  199. const nowTimestamp = Math.floor(res / 1000); // 以秒为单位
  200. console.log(`当前时间: ${new Date(nowTimestamp * 1000)}`);
  201. const elapsedTime = nowTimestamp - lastExitTimestamp;
  202. console.log(`离线时间: ${elapsedTime} 秒`);
  203. let countdown = this.player.get_life_countdown();
  204. this.player.set_life(this.player.get_life() + Math.floor(elapsedTime / life_countdown_Max));
  205. if (this.player.get_life() >= 10) {
  206. this.player.set_life_countdown(0);
  207. } else {
  208. this.player.set_life_countdown((countdown - elapsedTime) % life_countdown_Max);
  209. }
  210. }
  211. }
  212. startLifeTimer() {
  213. this.unschedule(this.LifeCountDownTimer);
  214. this.schedule(this.LifeCountDownTimer, 1.0);
  215. }
  216. LifeCountDownTimer() {
  217. if (!this.player) {
  218. console.warn("Player 未初始化,跳过倒计时");
  219. return;
  220. }
  221. console.log('计时器启动');
  222. if (this.player.get_life() < 5) {
  223. if (this.player.get_life_countdown() > 0) {
  224. console.log("正在执行倒计时:" + (this.player.get_life_countdown() - 1));
  225. this.player.set_life_countdown(this.player.get_life_countdown() - 1);
  226. if (director.getScene().name == "hall") {
  227. var _get;
  228. console.log("倒计时显示刷新:" + this.player.get_life_countdown());
  229. (_get = (_crd && gui === void 0 ? (_reportPossibleCrUseOfgui({
  230. error: Error()
  231. }), gui) : gui).get(_crd && UI_Hall === void 0 ? (_reportPossibleCrUseOfUI_Hall({
  232. error: Error()
  233. }), UI_Hall) : UI_Hall)) == null || _get.set_Life_CountDown(this.player.get_life_countdown(), true);
  234. }
  235. } else {
  236. var _get2;
  237. this.player.set_life(this.player.get_life() + 1);
  238. (_get2 = (_crd && gui === void 0 ? (_reportPossibleCrUseOfgui({
  239. error: Error()
  240. }), gui) : gui).get(_crd && UI_Hall === void 0 ? (_reportPossibleCrUseOfUI_Hall({
  241. error: Error()
  242. }), UI_Hall) : UI_Hall)) == null || _get2.set_Life(this.player.get_life());
  243. if (this.player.get_life() != 5) {
  244. var _get3;
  245. this.player.set_life_countdown(life_countdown_Max);
  246. (_get3 = (_crd && gui === void 0 ? (_reportPossibleCrUseOfgui({
  247. error: Error()
  248. }), gui) : gui).get(_crd && UI_Hall === void 0 ? (_reportPossibleCrUseOfUI_Hall({
  249. error: Error()
  250. }), UI_Hall) : UI_Hall)) == null || _get3.set_Life_CountDown(this.player.get_life_countdown(), true);
  251. }
  252. }
  253. } else {
  254. if (director.getScene().name == "hall") {
  255. var _get4;
  256. (_get4 = (_crd && gui === void 0 ? (_reportPossibleCrUseOfgui({
  257. error: Error()
  258. }), gui) : gui).get(_crd && UI_Hall === void 0 ? (_reportPossibleCrUseOfUI_Hall({
  259. error: Error()
  260. }), UI_Hall) : UI_Hall)) == null || _get4.set_Life_CountDown(this.player.get_life_countdown(), false);
  261. }
  262. }
  263. }
  264. }, _class2.instance = void 0, _class2)) || _class));
  265. _cclegacy._RF.pop();
  266. _crd = false;
  267. }
  268. };
  269. });
  270. //# sourceMappingURL=c28f184f0d05e5d5976de9f0de294b88d5de4347.js.map