Bladeren bron

1开始吧配置信息放在服务器上

dzduole 1 week geleden
bovenliggende
commit
c4f8c035b8
69 gewijzigde bestanden met toevoegingen van 3460 en 102 verwijderingen
  1. BIN
      client/laya/.laya/chrome/BrowserMetrics/BrowserMetrics-6865D706-2D18.pma
  2. BIN
      client/laya/.laya/chrome/Default/Cache/Cache_Data/data_1
  3. BIN
      client/laya/.laya/chrome/Default/DawnGraphiteCache/data_1
  4. BIN
      client/laya/.laya/chrome/Default/DawnWebGPUCache/data_1
  5. 3 3
      client/laya/.laya/chrome/Default/Extension State/LOG
  6. 3 3
      client/laya/.laya/chrome/Default/Extension State/LOG.old
  7. BIN
      client/laya/.laya/chrome/Default/GPUCache/data_1
  8. BIN
      client/laya/.laya/chrome/Default/Local Storage/leveldb/000003.log
  9. 3 3
      client/laya/.laya/chrome/Default/Local Storage/leveldb/LOG
  10. 3 3
      client/laya/.laya/chrome/Default/Local Storage/leveldb/LOG.old
  11. 0 0
      client/laya/.laya/chrome/Default/Preferences
  12. 3 3
      client/laya/.laya/chrome/Default/Service Worker/Database/LOG
  13. 3 3
      client/laya/.laya/chrome/Default/Service Worker/Database/LOG.old
  14. BIN
      client/laya/.laya/chrome/Default/Session Storage/000003.log
  15. 3 3
      client/laya/.laya/chrome/Default/Session Storage/LOG
  16. 3 3
      client/laya/.laya/chrome/Default/Session Storage/LOG.old
  17. BIN
      client/laya/.laya/chrome/Default/Sessions/Session_13394886433776662
  18. BIN
      client/laya/.laya/chrome/Default/Sessions/Session_13395978249074992
  19. BIN
      client/laya/.laya/chrome/Default/Sessions/Tabs_13395978249167948
  20. 3 3
      client/laya/.laya/chrome/Default/Site Characteristics Database/LOG
  21. 3 3
      client/laya/.laya/chrome/Default/Site Characteristics Database/LOG.old
  22. 3 3
      client/laya/.laya/chrome/Default/Sync Data/LevelDB/LOG
  23. 3 3
      client/laya/.laya/chrome/Default/Sync Data/LevelDB/LOG.old
  24. BIN
      client/laya/.laya/chrome/Default/Web Data
  25. BIN
      client/laya/.laya/chrome/Default/WebStorage/QuotaManager
  26. BIN
      client/laya/.laya/chrome/Default/shared_proto_db/000003.log
  27. 3 3
      client/laya/.laya/chrome/Default/shared_proto_db/LOG
  28. 3 3
      client/laya/.laya/chrome/Default/shared_proto_db/LOG.old
  29. BIN
      client/laya/.laya/chrome/Default/shared_proto_db/metadata/000003.log
  30. 3 3
      client/laya/.laya/chrome/Default/shared_proto_db/metadata/LOG
  31. 3 3
      client/laya/.laya/chrome/Default/shared_proto_db/metadata/LOG.old
  32. BIN
      client/laya/.laya/chrome/GrShaderCache/data_0
  33. BIN
      client/laya/.laya/chrome/GrShaderCache/data_1
  34. BIN
      client/laya/.laya/chrome/GrShaderCache/data_3
  35. BIN
      client/laya/.laya/chrome/GraphiteDawnCache/data_1
  36. 1 1
      client/laya/.laya/chrome/Last Version
  37. 0 0
      client/laya/.laya/chrome/Local State
  38. BIN
      client/laya/.laya/chrome/ShaderCache/data_1
  39. BIN
      client/laya/bin/asset/fgui/game.obj
  40. 2 0
      client/laya/bin/index.js
  41. 395 6
      client/laya/bin/js/bundle.js
  42. 0 0
      client/laya/bin/js/bundle.js.map
  43. 16 0
      client/laya/bin/libs/moyu.js
  44. 484 0
      client/laya/bin/libs/tslib.js
  45. 12 0
      client/laya/node_modules/.package-lock.json
  46. 15 0
      client/laya/node_modules/tslib/CopyrightNotice.txt
  47. 12 0
      client/laya/node_modules/tslib/LICENSE.txt
  48. 164 0
      client/laya/node_modules/tslib/README.md
  49. 41 0
      client/laya/node_modules/tslib/SECURITY.md
  50. 38 0
      client/laya/node_modules/tslib/modules/index.d.ts
  51. 70 0
      client/laya/node_modules/tslib/modules/index.js
  52. 3 0
      client/laya/node_modules/tslib/modules/package.json
  53. 47 0
      client/laya/node_modules/tslib/package.json
  54. 460 0
      client/laya/node_modules/tslib/tslib.d.ts
  55. 1 0
      client/laya/node_modules/tslib/tslib.es6.html
  56. 402 0
      client/laya/node_modules/tslib/tslib.es6.js
  57. 401 0
      client/laya/node_modules/tslib/tslib.es6.mjs
  58. 1 0
      client/laya/node_modules/tslib/tslib.html
  59. 484 0
      client/laya/node_modules/tslib/tslib.js
  60. 17 0
      client/laya/package-lock.json
  61. 5 0
      client/laya/package.json
  62. 119 3
      client/laya/src/core/mgrs/ConfigMgr.ts
  63. 67 42
      client/laya/src/core/mgrs/HttpMgr.ts
  64. 2 0
      client/laya/src/fgui/res/game/gameBinder.ts
  65. 7 2
      client/laya/src/fgui/res/game/ui_Component58_11.ts
  66. 13 0
      client/laya/src/fgui/res/game/ui_Component_daoju.ts
  67. 8 0
      client/laya/src/ui/UIGame.ts
  68. 104 0
      client/laya/src/utils/CustomAlert.ts
  69. 21 0
      client/laya/src/utils/JSBridgeUtils.ts

BIN
client/laya/.laya/chrome/BrowserMetrics-spare.pma → client/laya/.laya/chrome/BrowserMetrics/BrowserMetrics-6865D706-2D18.pma


BIN
client/laya/.laya/chrome/Default/Cache/Cache_Data/data_1


BIN
client/laya/.laya/chrome/Default/DawnGraphiteCache/data_1


BIN
client/laya/.laya/chrome/Default/DawnWebGPUCache/data_1


+ 3 - 3
client/laya/.laya/chrome/Default/Extension State/LOG

@@ -1,3 +1,3 @@
-2025/06/23-11:16:38.247 4088 Reusing MANIFEST E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Extension State/MANIFEST-000001
-2025/06/23-11:16:38.247 4088 Recovering log #3
-2025/06/23-11:16:38.247 4088 Reusing old log E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Extension State/000003.log 
+2025/07/03-09:04:06.671 2f80 Reusing MANIFEST E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Extension State/MANIFEST-000001
+2025/07/03-09:04:06.671 2f80 Recovering log #3
+2025/07/03-09:04:06.671 2f80 Reusing old log E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Extension State/000003.log 

+ 3 - 3
client/laya/.laya/chrome/Default/Extension State/LOG.old

@@ -1,3 +1,3 @@
-2025/06/20-17:47:11.428 3414 Reusing MANIFEST E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Extension State/MANIFEST-000001
-2025/06/20-17:47:11.429 3414 Recovering log #3
-2025/06/20-17:47:11.429 3414 Reusing old log E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Extension State/000003.log 
+2025/06/23-11:16:38.247 4088 Reusing MANIFEST E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Extension State/MANIFEST-000001
+2025/06/23-11:16:38.247 4088 Recovering log #3
+2025/06/23-11:16:38.247 4088 Reusing old log E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Extension State/000003.log 

BIN
client/laya/.laya/chrome/Default/GPUCache/data_1


BIN
client/laya/.laya/chrome/Default/Local Storage/leveldb/000003.log


+ 3 - 3
client/laya/.laya/chrome/Default/Local Storage/leveldb/LOG

@@ -1,3 +1,3 @@
-2025/06/23-11:16:38.189 12f8 Reusing MANIFEST E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Local Storage\leveldb/MANIFEST-000001
-2025/06/23-11:16:38.193 12f8 Recovering log #3
-2025/06/23-11:16:38.194 12f8 Reusing old log E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Local Storage\leveldb/000003.log 
+2025/07/03-09:04:06.594 2d08 Reusing MANIFEST E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Local Storage\leveldb/MANIFEST-000001
+2025/07/03-09:04:06.597 2d08 Recovering log #3
+2025/07/03-09:04:06.598 2d08 Reusing old log E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Local Storage\leveldb/000003.log 

+ 3 - 3
client/laya/.laya/chrome/Default/Local Storage/leveldb/LOG.old

@@ -1,3 +1,3 @@
-2025/06/20-17:47:11.421 654 Reusing MANIFEST E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Local Storage\leveldb/MANIFEST-000001
-2025/06/20-17:47:11.430 654 Recovering log #3
-2025/06/20-17:47:11.432 654 Reusing old log E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Local Storage\leveldb/000003.log 
+2025/06/23-11:16:38.189 12f8 Reusing MANIFEST E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Local Storage\leveldb/MANIFEST-000001
+2025/06/23-11:16:38.193 12f8 Recovering log #3
+2025/06/23-11:16:38.194 12f8 Reusing old log E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Local Storage\leveldb/000003.log 

File diff suppressed because it is too large
+ 0 - 0
client/laya/.laya/chrome/Default/Preferences


+ 3 - 3
client/laya/.laya/chrome/Default/Service Worker/Database/LOG

@@ -1,3 +1,3 @@
-2025/06/23-11:16:38.131 4088 Reusing MANIFEST E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Service Worker\Database/MANIFEST-000001
-2025/06/23-11:16:38.148 4088 Recovering log #3
-2025/06/23-11:16:38.149 4088 Reusing old log E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Service Worker\Database/000003.log 
+2025/07/03-09:04:06.571 2cb8 Reusing MANIFEST E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Service Worker\Database/MANIFEST-000001
+2025/07/03-09:04:06.584 2cb8 Recovering log #3
+2025/07/03-09:04:06.585 2cb8 Reusing old log E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Service Worker\Database/000003.log 

+ 3 - 3
client/laya/.laya/chrome/Default/Service Worker/Database/LOG.old

@@ -1,3 +1,3 @@
-2025/06/20-17:47:11.275 4d0 Reusing MANIFEST E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Service Worker\Database/MANIFEST-000001
-2025/06/20-17:47:11.288 4d0 Recovering log #3
-2025/06/20-17:47:11.289 4d0 Reusing old log E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Service Worker\Database/000003.log 
+2025/06/23-11:16:38.131 4088 Reusing MANIFEST E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Service Worker\Database/MANIFEST-000001
+2025/06/23-11:16:38.148 4088 Recovering log #3
+2025/06/23-11:16:38.149 4088 Reusing old log E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Service Worker\Database/000003.log 

BIN
client/laya/.laya/chrome/Default/Session Storage/000003.log


+ 3 - 3
client/laya/.laya/chrome/Default/Session Storage/LOG

@@ -1,3 +1,3 @@
-2025/06/23-11:16:38.212 12f8 Reusing MANIFEST E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Session Storage/MANIFEST-000001
-2025/06/23-11:16:38.213 12f8 Recovering log #3
-2025/06/23-11:16:38.214 12f8 Reusing old log E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Session Storage/000003.log 
+2025/07/03-09:04:06.641 2d08 Reusing MANIFEST E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Session Storage/MANIFEST-000001
+2025/07/03-09:04:06.641 2d08 Recovering log #3
+2025/07/03-09:04:06.642 2d08 Reusing old log E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Session Storage/000003.log 

+ 3 - 3
client/laya/.laya/chrome/Default/Session Storage/LOG.old

@@ -1,3 +1,3 @@
-2025/06/20-17:47:11.420 4640 Reusing MANIFEST E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Session Storage/MANIFEST-000001
-2025/06/20-17:47:11.426 4640 Recovering log #3
-2025/06/20-17:47:11.429 4640 Reusing old log E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Session Storage/000003.log 
+2025/06/23-11:16:38.212 12f8 Reusing MANIFEST E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Session Storage/MANIFEST-000001
+2025/06/23-11:16:38.213 12f8 Recovering log #3
+2025/06/23-11:16:38.214 12f8 Reusing old log E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Session Storage/000003.log 

BIN
client/laya/.laya/chrome/Default/Sessions/Session_13394886433776662


BIN
client/laya/.laya/chrome/Default/Sessions/Session_13395978249074992


BIN
client/laya/.laya/chrome/Default/Sessions/Tabs_13394886433893828 → client/laya/.laya/chrome/Default/Sessions/Tabs_13395978249167948


+ 3 - 3
client/laya/.laya/chrome/Default/Site Characteristics Database/LOG

@@ -1,3 +1,3 @@
-2025/06/23-11:16:38.131 1340 Reusing MANIFEST E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Site Characteristics Database/MANIFEST-000001
-2025/06/23-11:16:38.148 1340 Recovering log #3
-2025/06/23-11:16:38.149 1340 Reusing old log E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Site Characteristics Database/000003.log 
+2025/07/03-09:04:06.571 2c78 Reusing MANIFEST E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Site Characteristics Database/MANIFEST-000001
+2025/07/03-09:04:06.584 2c78 Recovering log #3
+2025/07/03-09:04:06.585 2c78 Reusing old log E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Site Characteristics Database/000003.log 

+ 3 - 3
client/laya/.laya/chrome/Default/Site Characteristics Database/LOG.old

@@ -1,3 +1,3 @@
-2025/06/20-17:47:11.276 34e4 Reusing MANIFEST E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Site Characteristics Database/MANIFEST-000001
-2025/06/20-17:47:11.288 34e4 Recovering log #3
-2025/06/20-17:47:11.289 34e4 Reusing old log E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Site Characteristics Database/000003.log 
+2025/06/23-11:16:38.131 1340 Reusing MANIFEST E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Site Characteristics Database/MANIFEST-000001
+2025/06/23-11:16:38.148 1340 Recovering log #3
+2025/06/23-11:16:38.149 1340 Reusing old log E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Site Characteristics Database/000003.log 

+ 3 - 3
client/laya/.laya/chrome/Default/Sync Data/LevelDB/LOG

@@ -1,3 +1,3 @@
-2025/06/23-11:16:38.128 3594 Reusing MANIFEST E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Sync Data\LevelDB/MANIFEST-000001
-2025/06/23-11:16:38.148 3594 Recovering log #3
-2025/06/23-11:16:38.149 3594 Reusing old log E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Sync Data\LevelDB/000003.log 
+2025/07/03-09:04:06.570 2fa8 Reusing MANIFEST E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Sync Data\LevelDB/MANIFEST-000001
+2025/07/03-09:04:06.584 2fa8 Recovering log #3
+2025/07/03-09:04:06.585 2fa8 Reusing old log E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Sync Data\LevelDB/000003.log 

+ 3 - 3
client/laya/.laya/chrome/Default/Sync Data/LevelDB/LOG.old

@@ -1,3 +1,3 @@
-2025/06/20-17:47:11.275 36f0 Reusing MANIFEST E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Sync Data\LevelDB/MANIFEST-000001
-2025/06/20-17:47:11.288 36f0 Recovering log #3
-2025/06/20-17:47:11.289 36f0 Reusing old log E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Sync Data\LevelDB/000003.log 
+2025/06/23-11:16:38.128 3594 Reusing MANIFEST E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Sync Data\LevelDB/MANIFEST-000001
+2025/06/23-11:16:38.148 3594 Recovering log #3
+2025/06/23-11:16:38.149 3594 Reusing old log E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\Sync Data\LevelDB/000003.log 

BIN
client/laya/.laya/chrome/Default/Web Data


BIN
client/laya/.laya/chrome/Default/WebStorage/QuotaManager


BIN
client/laya/.laya/chrome/Default/shared_proto_db/000003.log


+ 3 - 3
client/laya/.laya/chrome/Default/shared_proto_db/LOG

@@ -1,3 +1,3 @@
-2025/06/23-11:16:38.221 4634 Reusing MANIFEST E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\shared_proto_db/MANIFEST-000001
-2025/06/23-11:16:38.221 4634 Recovering log #3
-2025/06/23-11:16:38.222 4634 Reusing old log E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\shared_proto_db/000003.log 
+2025/07/03-09:04:06.661 2fa8 Reusing MANIFEST E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\shared_proto_db/MANIFEST-000001
+2025/07/03-09:04:06.661 2fa8 Recovering log #3
+2025/07/03-09:04:06.661 2fa8 Reusing old log E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\shared_proto_db/000003.log 

+ 3 - 3
client/laya/.laya/chrome/Default/shared_proto_db/LOG.old

@@ -1,3 +1,3 @@
-2025/06/20-17:47:11.392 4554 Reusing MANIFEST E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\shared_proto_db/MANIFEST-000001
-2025/06/20-17:47:11.393 4554 Recovering log #3
-2025/06/20-17:47:11.393 4554 Reusing old log E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\shared_proto_db/000003.log 
+2025/06/23-11:16:38.221 4634 Reusing MANIFEST E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\shared_proto_db/MANIFEST-000001
+2025/06/23-11:16:38.221 4634 Recovering log #3
+2025/06/23-11:16:38.222 4634 Reusing old log E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\shared_proto_db/000003.log 

BIN
client/laya/.laya/chrome/Default/shared_proto_db/metadata/000003.log


+ 3 - 3
client/laya/.laya/chrome/Default/shared_proto_db/metadata/LOG

@@ -1,3 +1,3 @@
-2025/06/23-11:16:38.219 4634 Reusing MANIFEST E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\shared_proto_db\metadata/MANIFEST-000001
-2025/06/23-11:16:38.219 4634 Recovering log #3
-2025/06/23-11:16:38.219 4634 Reusing old log E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\shared_proto_db\metadata/000003.log 
+2025/07/03-09:04:06.657 2fa8 Reusing MANIFEST E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\shared_proto_db\metadata/MANIFEST-000001
+2025/07/03-09:04:06.657 2fa8 Recovering log #3
+2025/07/03-09:04:06.658 2fa8 Reusing old log E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\shared_proto_db\metadata/000003.log 

+ 3 - 3
client/laya/.laya/chrome/Default/shared_proto_db/metadata/LOG.old

@@ -1,3 +1,3 @@
-2025/06/20-17:47:11.388 4554 Reusing MANIFEST E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\shared_proto_db\metadata/MANIFEST-000001
-2025/06/20-17:47:11.389 4554 Recovering log #3
-2025/06/20-17:47:11.389 4554 Reusing old log E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\shared_proto_db\metadata/000003.log 
+2025/06/23-11:16:38.219 4634 Reusing MANIFEST E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\shared_proto_db\metadata/MANIFEST-000001
+2025/06/23-11:16:38.219 4634 Recovering log #3
+2025/06/23-11:16:38.219 4634 Reusing old log E:\layaGames\taiqiu\wanNingTaiQiu\client\laya\.laya\chrome\Default\shared_proto_db\metadata/000003.log 

BIN
client/laya/.laya/chrome/GrShaderCache/data_0


BIN
client/laya/.laya/chrome/GrShaderCache/data_1


BIN
client/laya/.laya/chrome/GrShaderCache/data_3


BIN
client/laya/.laya/chrome/GraphiteDawnCache/data_1


+ 1 - 1
client/laya/.laya/chrome/Last Version

@@ -1 +1 @@
-137.0.7151.104
+137.0.7151.120

File diff suppressed because it is too large
+ 0 - 0
client/laya/.laya/chrome/Local State


BIN
client/laya/.laya/chrome/ShaderCache/data_1


BIN
client/laya/bin/asset/fgui/game.obj


+ 2 - 0
client/laya/bin/index.js

@@ -16,6 +16,8 @@ loadLib("libs/laya.physics.js")
 loadLib("libs/fairygui.js")
 loadLib("libs/laya.physics3D.js")
 loadLib("libs/moyu.js")
+
+loadLib("libs/laya.ui.js")
  //-----libs-end-------
  loadLib("js/cfgTable.js");
  loadLib("js/bundle.js");

+ 395 - 6
client/laya/bin/js/bundle.js

@@ -859,6 +859,31 @@
             httpObj.send(url, data, 'post', 'text', ["Content-Type", "application/json; charset=UTF-8"]);
             function errorHandler(error) {
                 console.log("errorHandler:" + error);
+                alert("Please check your network connection.");
+            }
+            function completeHandler(data) {
+                if (data && data.length > 0) {
+                    let jsonData = JSON.parse(data);
+                    if (call)
+                        call(jsonData);
+                }
+            }
+        }
+        sendPost2025(lastUrl, data, call) {
+            let urlStr = "http://192.168.1.13:8080/api/game/";
+            let url = urlStr + lastUrl;
+            let httpObj = new Laya.HttpRequest();
+            httpObj.http.timeout = 5000;
+            httpObj.once(Laya.Event.COMPLETE, this, completeHandler);
+            httpObj.once(Laya.Event.ERROR, this, errorHandler);
+            httpObj.send(url, data, 'post', 'text', ["Content-Type", "application/json; charset=UTF-8"]);
+            function errorHandler(error) {
+                if (call) {
+                    call("{'msg':'网络错误','code':500}");
+                }
+                else {
+                    alert("Tip:Please check your network connection.");
+                }
             }
             function completeHandler(data) {
                 if (data && data.length > 0) {
@@ -1175,6 +1200,17 @@
                 return false;
             }
         }
+        exitAndCloseGame() {
+            if (!Laya.Browser.onAndroid) {
+                console.log('zh:非android dev');
+                return;
+            }
+            if (!this.initBridge()) {
+                return;
+            }
+            console.log('zh:开始关闭游戏-');
+            this.bridge.call("exitAndCloseGame");
+        }
         showRewardAd(mark) {
             if (!Laya.Browser.onAndroid) {
                 console.log('zh:非android dev');
@@ -5683,7 +5719,6 @@
                 case 1:
                     console.log('zh:点击了 USE THIS');
                     DataMgr.setCurBallRod(this.index);
-                    DataMgr.setDiamond(99999);
                     let curUse = DataMgr.getCurBallRod();
                     console.log('zh:updateSelf 选择的球杆 = ' + curUse);
                     let ui = xGame.uiMgr.getUI(UIShop);
@@ -12823,11 +12858,13 @@
             return (fgui.UIPackage.createObject("game", "Component58_11"));
         }
         onConstruct() {
+            this.c1 = this.getController("c1");
             this.n23 = (this.getChild("n23"));
             this.n41 = (this.getChild("n41"));
             this.myList = (this.getChild("myList"));
+            this.djList = (this.getChild("djList"));
             this.n45 = (this.getChild("n45"));
-            this.n44 = (this.getChild("n44"));
+            this.n_item = (this.getChild("n_item"));
             this.t0 = this.getTransition("t0");
         }
     }
@@ -14171,6 +14208,15 @@
     }
     ui_dh_zy_wanfa.URL = "ui://isxx5ak7n43d3vp";
 
+    class ui_Component_daoju extends fgui.GComponent {
+        static createInstance() {
+            return (fgui.UIPackage.createObject("game", "Component_daoju"));
+        }
+        onConstruct() {
+        }
+    }
+    ui_Component_daoju.URL = "ui://isxx5ak7nmu9v57t";
+
     class ui_Component53_1 extends fgui.GComponent {
         static createInstance() {
             return (fgui.UIPackage.createObject("game", "Component53_1"));
@@ -15648,6 +15694,7 @@
             fgui.UIObjectFactory.setExtension(ui_dh_zy_sc_guang.URL, ui_dh_zy_sc_guang);
             fgui.UIObjectFactory.setExtension(ui_dh_zy_shangcheng.URL, ui_dh_zy_shangcheng);
             fgui.UIObjectFactory.setExtension(ui_dh_zy_wanfa.URL, ui_dh_zy_wanfa);
+            fgui.UIObjectFactory.setExtension(ui_Component_daoju.URL, ui_Component_daoju);
             fgui.UIObjectFactory.setExtension(ui_Component53_1.URL, ui_Component53_1);
             fgui.UIObjectFactory.setExtension(ui_Component30.URL, ui_Component30);
             fgui.UIObjectFactory.setExtension(ui_Component30_1.URL, ui_Component30_1);
@@ -16635,7 +16682,325 @@
     }
     let eventMgr = new EventMgr();
 
+    /*! *****************************************************************************
+    Copyright (c) Microsoft Corporation. All rights reserved.
+    Licensed under the Apache License, Version 2.0 (the "License"); you may not use
+    this file except in compliance with the License. You may obtain a copy of the
+    License at http://www.apache.org/licenses/LICENSE-2.0
+
+    THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
+    WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
+    MERCHANTABLITY OR NON-INFRINGEMENT.
+
+    See the Apache Version 2.0 License for specific language governing permissions
+    and limitations under the License.
+    ***************************************************************************** */
+    /* global Reflect, Promise */
+
+    var extendStatics = function(d, b) {
+        extendStatics = Object.setPrototypeOf ||
+            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+        return extendStatics(d, b);
+    };
+
+    function __extends(d, b) {
+        extendStatics(d, b);
+        function __() { this.constructor = d; }
+        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+    }
+
+    var __assign = function() {
+        __assign = Object.assign || function __assign(t) {
+            for (var s, i = 1, n = arguments.length; i < n; i++) {
+                s = arguments[i];
+                for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
+            }
+            return t;
+        };
+        return __assign.apply(this, arguments);
+    };
+
+    function __rest(s, e) {
+        var t = {};
+        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
+            t[p] = s[p];
+        if (s != null && typeof Object.getOwnPropertySymbols === "function")
+            for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
+                t[p[i]] = s[p[i]];
+        return t;
+    }
+
+    function __decorate(decorators, target, key, desc) {
+        var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+        if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+        else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+        return c > 3 && r && Object.defineProperty(target, key, r), r;
+    }
+
+    function __param(paramIndex, decorator) {
+        return function (target, key) { decorator(target, key, paramIndex); }
+    }
+
+    function __metadata(metadataKey, metadataValue) {
+        if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
+    }
+
+    function __awaiter(thisArg, _arguments, P, generator) {
+        return new (P || (P = Promise))(function (resolve, reject) {
+            function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+            function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+            function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
+            step((generator = generator.apply(thisArg, _arguments || [])).next());
+        });
+    }
+
+    function __generator(thisArg, body) {
+        var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
+        return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+        function verb(n) { return function (v) { return step([n, v]); }; }
+        function step(op) {
+            if (f) throw new TypeError("Generator is already executing.");
+            while (_) try {
+                if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+                if (y = 0, t) op = [op[0] & 2, t.value];
+                switch (op[0]) {
+                    case 0: case 1: t = op; break;
+                    case 4: _.label++; return { value: op[1], done: false };
+                    case 5: _.label++; y = op[1]; op = [0]; continue;
+                    case 7: op = _.ops.pop(); _.trys.pop(); continue;
+                    default:
+                        if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                        if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                        if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                        if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                        if (t[2]) _.ops.pop();
+                        _.trys.pop(); continue;
+                }
+                op = body.call(thisArg, _);
+            } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+            if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+        }
+    }
+
+    function __exportStar(m, exports) {
+        for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+    }
+
+    function __values(o) {
+        var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;
+        if (m) return m.call(o);
+        return {
+            next: function () {
+                if (o && i >= o.length) o = void 0;
+                return { value: o && o[i++], done: !o };
+            }
+        };
+    }
+
+    function __read(o, n) {
+        var m = typeof Symbol === "function" && o[Symbol.iterator];
+        if (!m) return o;
+        var i = m.call(o), r, ar = [], e;
+        try {
+            while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+        }
+        catch (error) { e = { error: error }; }
+        finally {
+            try {
+                if (r && !r.done && (m = i["return"])) m.call(i);
+            }
+            finally { if (e) throw e.error; }
+        }
+        return ar;
+    }
+
+    function __spread() {
+        for (var ar = [], i = 0; i < arguments.length; i++)
+            ar = ar.concat(__read(arguments[i]));
+        return ar;
+    }
+
+    function __await(v) {
+        return this instanceof __await ? (this.v = v, this) : new __await(v);
+    }
+
+    function __asyncGenerator(thisArg, _arguments, generator) {
+        if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+        var g = generator.apply(thisArg, _arguments || []), i, q = [];
+        return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
+        function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
+        function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
+        function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
+        function fulfill(value) { resume("next", value); }
+        function reject(value) { resume("throw", value); }
+        function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
+    }
+
+    function __asyncDelegator(o) {
+        var i, p;
+        return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
+        function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
+    }
+
+    function __asyncValues(o) {
+        if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+        var m = o[Symbol.asyncIterator], i;
+        return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
+        function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
+        function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
+    }
+
+    function __makeTemplateObject(cooked, raw) {
+        if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
+        return cooked;
+    };
+
+    function __importStar(mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
+        result.default = mod;
+        return result;
+    }
+
+    function __importDefault(mod) {
+        return (mod && mod.__esModule) ? mod : { default: mod };
+    }
+
+    class CustomAlert {
+        static show(title, content, buttons) {
+            if (!Laya.Box || !Laya.Label || !Laya.Button) {
+                console.error("UI模块未加载!请检查laya.ui.js是否引入");
+                return;
+            }
+            const bg = new Laya.Box();
+            bg.alpha = 0;
+            bg.graphics.drawRect(0, 0, Laya.stage.width, Laya.stage.height, "#000000AA");
+            Laya.stage.addChild(bg);
+            Laya.Tween.to(bg, { alpha: 1 }, 200);
+            const panel = new Laya.Box();
+            panel.graphics.drawRect(0, 0, 400, 250, "#cccccc");
+            panel.pos((Laya.stage.width - 400) / 2, (Laya.stage.height - 250) / 2);
+            bg.addChild(panel);
+            const titleText = new Laya.Text();
+            titleText.text = title;
+            titleText.fontSize = 32;
+            titleText.color = "#333333";
+            titleText.bold = true;
+            titleText.pos(20, 20);
+            titleText.width = 360;
+            titleText.align = "center";
+            panel.addChild(titleText);
+            const contentText = new Laya.Text();
+            contentText.text = content;
+            contentText.fontSize = 21;
+            contentText.color = "#555555";
+            contentText.pos(20, 70);
+            contentText.width = 360;
+            contentText.wordWrap = true;
+            contentText.align = "center";
+            panel.addChild(contentText);
+            const buttonContainer = new Laya.Box();
+            buttonContainer.pos(20, 160);
+            panel.addChild(buttonContainer);
+            const btnWidth = 120;
+            const spacing = 30;
+            const totalWidth = buttons.length * btnWidth + (buttons.length - 1) * spacing;
+            buttons.forEach((btn, index) => {
+                const button = new Laya.Button();
+                button.label = btn.label;
+                button.size(btnWidth, 40);
+                button.labelSize = 22;
+                button.pos(index * (btnWidth + spacing), 0);
+                button.labelColors = "#FFFFFF,#FFFFFF,#FFFFFF";
+                button.graphics.drawRect(0, 0, btnWidth, 40, "#4A90E2");
+                button.on(Laya.Event.MOUSE_OVER, this, () => {
+                    button.alpha = 0.9;
+                });
+                button.on(Laya.Event.MOUSE_OUT, this, () => {
+                    button.alpha = 1;
+                });
+                button.on(Laya.Event.CLICK, this, () => {
+                    btn.handler();
+                    Laya.Tween.to(bg, { alpha: 0 }, 200, null, Laya.Handler.create(this, () => {
+                        bg.removeSelf();
+                    }));
+                });
+                buttonContainer.addChild(button);
+            });
+            buttonContainer.x = (panel.width - totalWidth) / 2;
+        }
+    }
+
     class ConfigMgr {
+        constructor() {
+            this.httpReqCount = 3;
+            this.httpReqOkCount = 0;
+            this.getConfigFromServer = () => __awaiter(this, void 0, void 0, function* () {
+                try {
+                    this.httpReqOkCount = 0;
+                    let reqData = JSON.stringify({
+                        gameName: "TQ",
+                        gameUserName: "zhangSan"
+                    });
+                    console.log('zh:第1个请求');
+                    const classicCfg = yield this.sendPostAsync('getClassicCfg', reqData);
+                    this.classicCfg = classicCfg;
+                    this.httpReqOkCount++;
+                    console.log('zh:第2个请求');
+                    const levelCfg = yield this.sendPostAsync('getLevelCfg', reqData);
+                    this.levelCfg = levelCfg;
+                    this.httpReqOkCount++;
+                    console.log('zh:第3个请求');
+                    const placeBallCfg = yield this.sendPostAsync('getPlaceBallCfg', reqData);
+                    this.placeBallCfg = placeBallCfg;
+                    this.httpReqOkCount++;
+                    console.log('zh:所有配置加载完成');
+                }
+                catch (error) {
+                    console.error('请求失败:', error);
+                }
+                finally {
+                    if (this.httpReqCount > this.httpReqOkCount) {
+                        CustomAlert.show("Prompt", "Failed to load resources. Check your network and restart the game.", [
+                            {
+                                label: "Okay", handler: () => {
+                                    console.log("zh:好的知道了");
+                                    JSBridgeUtils.instance.exitAndCloseGame();
+                                }
+                            }
+                        ]);
+                    }
+                }
+            });
+            this.sendPostAsync = (action, reqData) => {
+                return new Promise((resolve, reject) => {
+                    xGame.httpMgr.sendPost2025(action, reqData, (res) => {
+                        try {
+                            let code = res.code;
+                            if (code == 200) {
+                                const parsedData = JSON.parse(res.msg);
+                                resolve(parsedData);
+                            }
+                            else {
+                                console.log(`zh:res = ${JSON.stringify(res)}`);
+                                reject(new Error(`Request failed with code: ${code}`));
+                            }
+                        }
+                        catch (error) {
+                            console.error(`error=${error}`);
+                            alert("Please check your network connection.");
+                            reject(error);
+                        }
+                        finally {
+                            console.log(`zh:${action}`);
+                        }
+                    });
+                });
+            };
+        }
         static getInstance() {
             if (!this._instance) {
                 this._instance = new ConfigMgr();
@@ -16644,9 +17009,34 @@
         }
         init() {
             this.npcJson = Laya.loader.getRes("res/json/npc.json").Data;
-            this.classicCfg = Laya.loader.getRes("res/json/classicCfg.json");
-            this.levelCfg = Laya.loader.getRes("res/json/levelCfg.json");
-            this.placeBallCfg = Laya.loader.getRes("res/json/placeBallCfg.json");
+            this.getConfigFromServer();
+        }
+        test() {
+            let reqData = JSON.stringify({
+                gameName: "TQ",
+                gameUserName: "zhangSan"
+            });
+            xGame.httpMgr.sendPost2025('getClassicCfg', reqData, (res) => {
+                console.log('zh:1s');
+                try {
+                    let code = res.code;
+                    let data = res.data;
+                    if (code == 200) {
+                        const parsedData = JSON.parse(data);
+                        this.classicCfg = parsedData;
+                    }
+                    else {
+                        console.log('zh:res = ' + JSON.stringify(res));
+                    }
+                }
+                catch (error) {
+                    console.log('error=' + error);
+                    alert("Please check your network connection.");
+                }
+                finally {
+                    console.log('zh:1');
+                }
+            });
         }
         getUserInfoByIndex(index) {
             return this.npcJson[index];
@@ -21373,7 +21763,6 @@
                 case 1:
                     console.log('zh:点击了 USE THIS');
                     DataMgr.setCurBallRod(this.index);
-                    DataMgr.setDiamond(99999);
                     let curUse = DataMgr.getCurBallRod();
                     console.log('zh:updateSelf 选择的球杆 = ' + curUse);
                     let ui = xGame.uiMgr.getUI(UIShop$1);

File diff suppressed because it is too large
+ 0 - 0
client/laya/bin/js/bundle.js.map


+ 16 - 0
client/laya/bin/libs/moyu.js

@@ -42,6 +42,20 @@
 			this.sendMsg(t, null, e, "GET")
 		}
 		sendMsg(t, e, s, i) {
+			//打印这几个参数看看
+			console.log('zh:mark  moyu.js  sendGet t='+t)
+			//console.log('zh:mark  moyu.js  sendGet e='+e)
+			//console.log('zh:mark  moyu.js  sendGet s='+s)
+			//console.log('zh:mark  moyu.js  sendGet i='+i)
+			//判断t是否包含字符串:api.yiiwan.cn/app/setting-get-new
+			if (t.indexOf("api.yiiwan.cn/app/setting-get-new") > -1) { 
+				console.log('zh:mark  moyu.js  lanjie ');
+				return;
+			}
+			console.log('zh:mark  moyu.js  bbbb');
+	
+		
+
 			let a = null,
 				n = window,
 				r = n["XML" + this.hKey + "Request"];
@@ -1099,6 +1113,7 @@
 				r = e.Inst.codeMsg(p.Inst.myKey, n),
 				o = t.getUrl("app/setting-get-new?", r);
 			e.Inst.sendGet(o, e => {
+				console.log('zh:moyu.js init='+0);
 				let s = p.Inst;
 				if (e && 0 == e.code && e.data) {
 					let i = JSON.parse(e.data.settingData),
@@ -1213,6 +1228,7 @@
 			})
 		}
 		getData(s) {
+			console.log('zh:moyu.js getData='+s);
 			let i = e.Inst.codeMsg("bc48cbce46946057", {
 				appKey: 100,
 				platform: "web",

+ 484 - 0
client/laya/bin/libs/tslib.js

@@ -0,0 +1,484 @@
+/******************************************************************************
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+***************************************************************************** */
+/* global global, define, Symbol, Reflect, Promise, SuppressedError, Iterator */
+var __extends;
+var __assign;
+var __rest;
+var __decorate;
+var __param;
+var __esDecorate;
+var __runInitializers;
+var __propKey;
+var __setFunctionName;
+var __metadata;
+var __awaiter;
+var __generator;
+var __exportStar;
+var __values;
+var __read;
+var __spread;
+var __spreadArrays;
+var __spreadArray;
+var __await;
+var __asyncGenerator;
+var __asyncDelegator;
+var __asyncValues;
+var __makeTemplateObject;
+var __importStar;
+var __importDefault;
+var __classPrivateFieldGet;
+var __classPrivateFieldSet;
+var __classPrivateFieldIn;
+var __createBinding;
+var __addDisposableResource;
+var __disposeResources;
+var __rewriteRelativeImportExtension;
+(function (factory) {
+    var root = typeof global === "object" ? global : typeof self === "object" ? self : typeof this === "object" ? this : {};
+    if (typeof define === "function" && define.amd) {
+        define("tslib", ["exports"], function (exports) { factory(createExporter(root, createExporter(exports))); });
+    }
+    else if (typeof module === "object" && typeof module.exports === "object") {
+        factory(createExporter(root, createExporter(module.exports)));
+    }
+    else {
+        factory(createExporter(root));
+    }
+    function createExporter(exports, previous) {
+        if (exports !== root) {
+            if (typeof Object.create === "function") {
+                Object.defineProperty(exports, "__esModule", { value: true });
+            }
+            else {
+                exports.__esModule = true;
+            }
+        }
+        return function (id, v) { return exports[id] = previous ? previous(id, v) : v; };
+    }
+})
+(function (exporter) {
+    var extendStatics = Object.setPrototypeOf ||
+        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
+
+    __extends = function (d, b) {
+        if (typeof b !== "function" && b !== null)
+            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
+        extendStatics(d, b);
+        function __() { this.constructor = d; }
+        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+    };
+
+    __assign = Object.assign || function (t) {
+        for (var s, i = 1, n = arguments.length; i < n; i++) {
+            s = arguments[i];
+            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
+        }
+        return t;
+    };
+
+    __rest = function (s, e) {
+        var t = {};
+        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
+            t[p] = s[p];
+        if (s != null && typeof Object.getOwnPropertySymbols === "function")
+            for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
+                if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
+                    t[p[i]] = s[p[i]];
+            }
+        return t;
+    };
+
+    __decorate = function (decorators, target, key, desc) {
+        var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+        if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+        else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+        return c > 3 && r && Object.defineProperty(target, key, r), r;
+    };
+
+    __param = function (paramIndex, decorator) {
+        return function (target, key) { decorator(target, key, paramIndex); }
+    };
+
+    __esDecorate = function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
+        function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
+        var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
+        var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
+        var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
+        var _, done = false;
+        for (var i = decorators.length - 1; i >= 0; i--) {
+            var context = {};
+            for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
+            for (var p in contextIn.access) context.access[p] = contextIn.access[p];
+            context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
+            var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
+            if (kind === "accessor") {
+                if (result === void 0) continue;
+                if (result === null || typeof result !== "object") throw new TypeError("Object expected");
+                if (_ = accept(result.get)) descriptor.get = _;
+                if (_ = accept(result.set)) descriptor.set = _;
+                if (_ = accept(result.init)) initializers.unshift(_);
+            }
+            else if (_ = accept(result)) {
+                if (kind === "field") initializers.unshift(_);
+                else descriptor[key] = _;
+            }
+        }
+        if (target) Object.defineProperty(target, contextIn.name, descriptor);
+        done = true;
+    };
+
+    __runInitializers = function (thisArg, initializers, value) {
+        var useValue = arguments.length > 2;
+        for (var i = 0; i < initializers.length; i++) {
+            value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
+        }
+        return useValue ? value : void 0;
+    };
+
+    __propKey = function (x) {
+        return typeof x === "symbol" ? x : "".concat(x);
+    };
+
+    __setFunctionName = function (f, name, prefix) {
+        if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
+        return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
+    };
+
+    __metadata = function (metadataKey, metadataValue) {
+        if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
+    };
+
+    __awaiter = function (thisArg, _arguments, P, generator) {
+        function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+        return new (P || (P = Promise))(function (resolve, reject) {
+            function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+            function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+            function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+            step((generator = generator.apply(thisArg, _arguments || [])).next());
+        });
+    };
+
+    __generator = function (thisArg, body) {
+        var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
+        return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+        function verb(n) { return function (v) { return step([n, v]); }; }
+        function step(op) {
+            if (f) throw new TypeError("Generator is already executing.");
+            while (g && (g = 0, op[0] && (_ = 0)), _) try {
+                if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+                if (y = 0, t) op = [op[0] & 2, t.value];
+                switch (op[0]) {
+                    case 0: case 1: t = op; break;
+                    case 4: _.label++; return { value: op[1], done: false };
+                    case 5: _.label++; y = op[1]; op = [0]; continue;
+                    case 7: op = _.ops.pop(); _.trys.pop(); continue;
+                    default:
+                        if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                        if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                        if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                        if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                        if (t[2]) _.ops.pop();
+                        _.trys.pop(); continue;
+                }
+                op = body.call(thisArg, _);
+            } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+            if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+        }
+    };
+
+    __exportStar = function(m, o) {
+        for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
+    };
+
+    __createBinding = Object.create ? (function(o, m, k, k2) {
+        if (k2 === undefined) k2 = k;
+        var desc = Object.getOwnPropertyDescriptor(m, k);
+        if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+            desc = { enumerable: true, get: function() { return m[k]; } };
+        }
+        Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+        if (k2 === undefined) k2 = k;
+        o[k2] = m[k];
+    });
+
+    __values = function (o) {
+        var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
+        if (m) return m.call(o);
+        if (o && typeof o.length === "number") return {
+            next: function () {
+                if (o && i >= o.length) o = void 0;
+                return { value: o && o[i++], done: !o };
+            }
+        };
+        throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
+    };
+
+    __read = function (o, n) {
+        var m = typeof Symbol === "function" && o[Symbol.iterator];
+        if (!m) return o;
+        var i = m.call(o), r, ar = [], e;
+        try {
+            while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+        }
+        catch (error) { e = { error: error }; }
+        finally {
+            try {
+                if (r && !r.done && (m = i["return"])) m.call(i);
+            }
+            finally { if (e) throw e.error; }
+        }
+        return ar;
+    };
+
+    /** @deprecated */
+    __spread = function () {
+        for (var ar = [], i = 0; i < arguments.length; i++)
+            ar = ar.concat(__read(arguments[i]));
+        return ar;
+    };
+
+    /** @deprecated */
+    __spreadArrays = function () {
+        for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
+        for (var r = Array(s), k = 0, i = 0; i < il; i++)
+            for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
+                r[k] = a[j];
+        return r;
+    };
+
+    __spreadArray = function (to, from, pack) {
+        if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
+            if (ar || !(i in from)) {
+                if (!ar) ar = Array.prototype.slice.call(from, 0, i);
+                ar[i] = from[i];
+            }
+        }
+        return to.concat(ar || Array.prototype.slice.call(from));
+    };
+
+    __await = function (v) {
+        return this instanceof __await ? (this.v = v, this) : new __await(v);
+    };
+
+    __asyncGenerator = function (thisArg, _arguments, generator) {
+        if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+        var g = generator.apply(thisArg, _arguments || []), i, q = [];
+        return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
+        function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
+        function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
+        function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
+        function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
+        function fulfill(value) { resume("next", value); }
+        function reject(value) { resume("throw", value); }
+        function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
+    };
+
+    __asyncDelegator = function (o) {
+        var i, p;
+        return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
+        function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
+    };
+
+    __asyncValues = function (o) {
+        if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+        var m = o[Symbol.asyncIterator], i;
+        return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
+        function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
+        function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
+    };
+
+    __makeTemplateObject = function (cooked, raw) {
+        if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
+        return cooked;
+    };
+
+    var __setModuleDefault = Object.create ? (function(o, v) {
+        Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+        o["default"] = v;
+    };
+
+    var ownKeys = function(o) {
+        ownKeys = Object.getOwnPropertyNames || function (o) {
+            var ar = [];
+            for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
+            return ar;
+        };
+        return ownKeys(o);
+    };
+
+    __importStar = function (mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
+        __setModuleDefault(result, mod);
+        return result;
+    };
+
+    __importDefault = function (mod) {
+        return (mod && mod.__esModule) ? mod : { "default": mod };
+    };
+
+    __classPrivateFieldGet = function (receiver, state, kind, f) {
+        if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
+        if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
+        return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
+    };
+
+    __classPrivateFieldSet = function (receiver, state, value, kind, f) {
+        if (kind === "m") throw new TypeError("Private method is not writable");
+        if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
+        if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
+        return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
+    };
+
+    __classPrivateFieldIn = function (state, receiver) {
+        if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object");
+        return typeof state === "function" ? receiver === state : state.has(receiver);
+    };
+
+    __addDisposableResource = function (env, value, async) {
+        if (value !== null && value !== void 0) {
+            if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
+            var dispose, inner;
+            if (async) {
+                if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
+                dispose = value[Symbol.asyncDispose];
+            }
+            if (dispose === void 0) {
+                if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
+                dispose = value[Symbol.dispose];
+                if (async) inner = dispose;
+            }
+            if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
+            if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
+            env.stack.push({ value: value, dispose: dispose, async: async });
+        }
+        else if (async) {
+            env.stack.push({ async: true });
+        }
+        return value;
+    };
+
+    var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
+        var e = new Error(message);
+        return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
+    };
+
+    __disposeResources = function (env) {
+        function fail(e) {
+            env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
+            env.hasError = true;
+        }
+        var r, s = 0;
+        function next() {
+            while (r = env.stack.pop()) {
+                try {
+                    if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
+                    if (r.dispose) {
+                        var result = r.dispose.call(r.value);
+                        if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
+                    }
+                    else s |= 1;
+                }
+                catch (e) {
+                    fail(e);
+                }
+            }
+            if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
+            if (env.hasError) throw env.error;
+        }
+        return next();
+    };
+
+    __rewriteRelativeImportExtension = function (path, preserveJsx) {
+        if (typeof path === "string" && /^\.\.?\//.test(path)) {
+            return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
+                return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
+            });
+        }
+        return path;
+    };
+
+    exporter("__extends", __extends);
+    exporter("__assign", __assign);
+    exporter("__rest", __rest);
+    exporter("__decorate", __decorate);
+    exporter("__param", __param);
+    exporter("__esDecorate", __esDecorate);
+    exporter("__runInitializers", __runInitializers);
+    exporter("__propKey", __propKey);
+    exporter("__setFunctionName", __setFunctionName);
+    exporter("__metadata", __metadata);
+    exporter("__awaiter", __awaiter);
+    exporter("__generator", __generator);
+    exporter("__exportStar", __exportStar);
+    exporter("__createBinding", __createBinding);
+    exporter("__values", __values);
+    exporter("__read", __read);
+    exporter("__spread", __spread);
+    exporter("__spreadArrays", __spreadArrays);
+    exporter("__spreadArray", __spreadArray);
+    exporter("__await", __await);
+    exporter("__asyncGenerator", __asyncGenerator);
+    exporter("__asyncDelegator", __asyncDelegator);
+    exporter("__asyncValues", __asyncValues);
+    exporter("__makeTemplateObject", __makeTemplateObject);
+    exporter("__importStar", __importStar);
+    exporter("__importDefault", __importDefault);
+    exporter("__classPrivateFieldGet", __classPrivateFieldGet);
+    exporter("__classPrivateFieldSet", __classPrivateFieldSet);
+    exporter("__classPrivateFieldIn", __classPrivateFieldIn);
+    exporter("__addDisposableResource", __addDisposableResource);
+    exporter("__disposeResources", __disposeResources);
+    exporter("__rewriteRelativeImportExtension", __rewriteRelativeImportExtension);
+});
+
+0 && (module.exports = {
+    __extends: __extends,
+    __assign: __assign,
+    __rest: __rest,
+    __decorate: __decorate,
+    __param: __param,
+    __esDecorate: __esDecorate,
+    __runInitializers: __runInitializers,
+    __propKey: __propKey,
+    __setFunctionName: __setFunctionName,
+    __metadata: __metadata,
+    __awaiter: __awaiter,
+    __generator: __generator,
+    __exportStar: __exportStar,
+    __createBinding: __createBinding,
+    __values: __values,
+    __read: __read,
+    __spread: __spread,
+    __spreadArrays: __spreadArrays,
+    __spreadArray: __spreadArray,
+    __await: __await,
+    __asyncGenerator: __asyncGenerator,
+    __asyncDelegator: __asyncDelegator,
+    __asyncValues: __asyncValues,
+    __makeTemplateObject: __makeTemplateObject,
+    __importStar: __importStar,
+    __importDefault: __importDefault,
+    __classPrivateFieldGet: __classPrivateFieldGet,
+    __classPrivateFieldSet: __classPrivateFieldSet,
+    __classPrivateFieldIn: __classPrivateFieldIn,
+    __addDisposableResource: __addDisposableResource,
+    __disposeResources: __disposeResources,
+    __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,
+});

+ 12 - 0
client/laya/node_modules/.package-lock.json

@@ -0,0 +1,12 @@
+{
+  "name": "laya",
+  "lockfileVersion": 3,
+  "requires": true,
+  "packages": {
+    "node_modules/tslib": {
+      "version": "2.8.1",
+      "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz",
+      "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="
+    }
+  }
+}

+ 15 - 0
client/laya/node_modules/tslib/CopyrightNotice.txt

@@ -0,0 +1,15 @@
+/******************************************************************************
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+***************************************************************************** */
+

+ 12 - 0
client/laya/node_modules/tslib/LICENSE.txt

@@ -0,0 +1,12 @@
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.

+ 164 - 0
client/laya/node_modules/tslib/README.md

@@ -0,0 +1,164 @@
+# tslib
+
+This is a runtime library for [TypeScript](https://www.typescriptlang.org/) that contains all of the TypeScript helper functions.
+
+This library is primarily used by the `--importHelpers` flag in TypeScript.
+When using `--importHelpers`, a module that uses helper functions like `__extends` and `__assign` in the following emitted file:
+
+```ts
+var __assign = (this && this.__assign) || Object.assign || function(t) {
+    for (var s, i = 1, n = arguments.length; i < n; i++) {
+        s = arguments[i];
+        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
+            t[p] = s[p];
+    }
+    return t;
+};
+exports.x = {};
+exports.y = __assign({}, exports.x);
+
+```
+
+will instead be emitted as something like the following:
+
+```ts
+var tslib_1 = require("tslib");
+exports.x = {};
+exports.y = tslib_1.__assign({}, exports.x);
+```
+
+Because this can avoid duplicate declarations of things like `__extends`, `__assign`, etc., this means delivering users smaller files on average, as well as less runtime overhead.
+For optimized bundles with TypeScript, you should absolutely consider using `tslib` and `--importHelpers`.
+
+# Installing
+
+For the latest stable version, run:
+
+## npm
+
+```sh
+# TypeScript 3.9.2 or later
+npm install tslib
+
+# TypeScript 3.8.4 or earlier
+npm install tslib@^1
+
+# TypeScript 2.3.2 or earlier
+npm install tslib@1.6.1
+```
+
+## yarn
+
+```sh
+# TypeScript 3.9.2 or later
+yarn add tslib
+
+# TypeScript 3.8.4 or earlier
+yarn add tslib@^1
+
+# TypeScript 2.3.2 or earlier
+yarn add tslib@1.6.1
+```
+
+## bower
+
+```sh
+# TypeScript 3.9.2 or later
+bower install tslib
+
+# TypeScript 3.8.4 or earlier
+bower install tslib@^1
+
+# TypeScript 2.3.2 or earlier
+bower install tslib@1.6.1
+```
+
+## JSPM
+
+```sh
+# TypeScript 3.9.2 or later
+jspm install tslib
+
+# TypeScript 3.8.4 or earlier
+jspm install tslib@^1
+
+# TypeScript 2.3.2 or earlier
+jspm install tslib@1.6.1
+```
+
+# Usage
+
+Set the `importHelpers` compiler option on the command line:
+
+```
+tsc --importHelpers file.ts
+```
+
+or in your tsconfig.json:
+
+```json
+{
+    "compilerOptions": {
+        "importHelpers": true
+    }
+}
+```
+
+#### For bower and JSPM users
+
+You will need to add a `paths` mapping for `tslib`, e.g. For Bower users:
+
+```json
+{
+    "compilerOptions": {
+        "module": "amd",
+        "importHelpers": true,
+        "baseUrl": "./",
+        "paths": {
+            "tslib" : ["bower_components/tslib/tslib.d.ts"]
+        }
+    }
+}
+```
+
+For JSPM users:
+
+```json
+{
+    "compilerOptions": {
+        "module": "system",
+        "importHelpers": true,
+        "baseUrl": "./",
+        "paths": {
+            "tslib" : ["jspm_packages/npm/tslib@2.x.y/tslib.d.ts"]
+        }
+    }
+}
+```
+
+## Deployment
+
+- Choose your new version number
+- Set it in `package.json` and `bower.json`
+- Create a tag: `git tag [version]`
+- Push the tag: `git push --tags`
+- Create a [release in GitHub](https://github.com/microsoft/tslib/releases)
+- Run the [publish to npm](https://github.com/microsoft/tslib/actions?query=workflow%3A%22Publish+to+NPM%22) workflow
+
+Done.
+
+# Contribute
+
+There are many ways to [contribute](https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md) to TypeScript.
+
+* [Submit bugs](https://github.com/Microsoft/TypeScript/issues) and help us verify fixes as they are checked in.
+* Review the [source code changes](https://github.com/Microsoft/TypeScript/pulls).
+* Engage with other TypeScript users and developers on [StackOverflow](http://stackoverflow.com/questions/tagged/typescript).
+* Join the [#typescript](http://twitter.com/#!/search/realtime/%23typescript) discussion on Twitter.
+* [Contribute bug fixes](https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md).
+
+# Documentation
+
+* [Quick tutorial](http://www.typescriptlang.org/Tutorial)
+* [Programming handbook](http://www.typescriptlang.org/Handbook)
+* [Homepage](http://www.typescriptlang.org/)

+ 41 - 0
client/laya/node_modules/tslib/SECURITY.md

@@ -0,0 +1,41 @@
+<!-- BEGIN MICROSOFT SECURITY.MD V0.0.7 BLOCK -->
+
+## Security
+
+Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/).
+
+If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://aka.ms/opensource/security/definition), please report it to us as described below.
+
+## Reporting Security Issues
+
+**Please do not report security vulnerabilities through public GitHub issues.**
+
+Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://aka.ms/opensource/security/create-report).
+
+If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com).  If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/opensource/security/pgpkey).
+
+You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://aka.ms/opensource/security/msrc). 
+
+Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue:
+
+  * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.)
+  * Full paths of source file(s) related to the manifestation of the issue
+  * The location of the affected source code (tag/branch/commit or direct URL)
+  * Any special configuration required to reproduce the issue
+  * Step-by-step instructions to reproduce the issue
+  * Proof-of-concept or exploit code (if possible)
+  * Impact of the issue, including how an attacker might exploit the issue
+
+This information will help us triage your report more quickly.
+
+If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://aka.ms/opensource/security/bounty) page for more details about our active programs.
+
+## Preferred Languages
+
+We prefer all communications to be in English.
+
+## Policy
+
+Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://aka.ms/opensource/security/cvd).
+
+<!-- END MICROSOFT SECURITY.MD BLOCK -->

+ 38 - 0
client/laya/node_modules/tslib/modules/index.d.ts

@@ -0,0 +1,38 @@
+// Note: named reexports are used instead of `export *` because
+// TypeScript itself doesn't resolve the `export *` when checking
+// if a particular helper exists.
+export {
+  __extends,
+  __assign,
+  __rest,
+  __decorate,
+  __param,
+  __esDecorate,
+  __runInitializers,
+  __propKey,
+  __setFunctionName,
+  __metadata,
+  __awaiter,
+  __generator,
+  __exportStar,
+  __values,
+  __read,
+  __spread,
+  __spreadArrays,
+  __spreadArray,
+  __await,
+  __asyncGenerator,
+  __asyncDelegator,
+  __asyncValues,
+  __makeTemplateObject,
+  __importStar,
+  __importDefault,
+  __classPrivateFieldGet,
+  __classPrivateFieldSet,
+  __classPrivateFieldIn,
+  __createBinding,
+  __addDisposableResource,
+  __disposeResources,
+  __rewriteRelativeImportExtension,
+} from '../tslib.js';
+export * as default from '../tslib.js';

+ 70 - 0
client/laya/node_modules/tslib/modules/index.js

@@ -0,0 +1,70 @@
+import tslib from '../tslib.js';
+const {
+    __extends,
+    __assign,
+    __rest,
+    __decorate,
+    __param,
+    __esDecorate,
+    __runInitializers,
+    __propKey,
+    __setFunctionName,
+    __metadata,
+    __awaiter,
+    __generator,
+    __exportStar,
+    __createBinding,
+    __values,
+    __read,
+    __spread,
+    __spreadArrays,
+    __spreadArray,
+    __await,
+    __asyncGenerator,
+    __asyncDelegator,
+    __asyncValues,
+    __makeTemplateObject,
+    __importStar,
+    __importDefault,
+    __classPrivateFieldGet,
+    __classPrivateFieldSet,
+    __classPrivateFieldIn,
+    __addDisposableResource,
+    __disposeResources,
+    __rewriteRelativeImportExtension,
+} = tslib;
+export {
+    __extends,
+    __assign,
+    __rest,
+    __decorate,
+    __param,
+    __esDecorate,
+    __runInitializers,
+    __propKey,
+    __setFunctionName,
+    __metadata,
+    __awaiter,
+    __generator,
+    __exportStar,
+    __createBinding,
+    __values,
+    __read,
+    __spread,
+    __spreadArrays,
+    __spreadArray,
+    __await,
+    __asyncGenerator,
+    __asyncDelegator,
+    __asyncValues,
+    __makeTemplateObject,
+    __importStar,
+    __importDefault,
+    __classPrivateFieldGet,
+    __classPrivateFieldSet,
+    __classPrivateFieldIn,
+    __addDisposableResource,
+    __disposeResources,
+    __rewriteRelativeImportExtension,
+};
+export default tslib;

+ 3 - 0
client/laya/node_modules/tslib/modules/package.json

@@ -0,0 +1,3 @@
+{
+    "type": "module"
+}

+ 47 - 0
client/laya/node_modules/tslib/package.json

@@ -0,0 +1,47 @@
+{
+    "name": "tslib",
+    "author": "Microsoft Corp.",
+    "homepage": "https://www.typescriptlang.org/",
+    "version": "2.8.1",
+    "license": "0BSD",
+    "description": "Runtime library for TypeScript helper functions",
+    "keywords": [
+        "TypeScript",
+        "Microsoft",
+        "compiler",
+        "language",
+        "javascript",
+        "tslib",
+        "runtime"
+    ],
+    "bugs": {
+        "url": "https://github.com/Microsoft/TypeScript/issues"
+    },
+    "repository": {
+        "type": "git",
+        "url": "https://github.com/Microsoft/tslib.git"
+    },
+    "main": "tslib.js",
+    "module": "tslib.es6.js",
+    "jsnext:main": "tslib.es6.js",
+    "typings": "tslib.d.ts",
+    "sideEffects": false,
+    "exports": {
+        ".": {
+            "module": {
+                "types": "./modules/index.d.ts",
+                "default": "./tslib.es6.mjs"
+            },
+            "import": {
+                "node": "./modules/index.js",
+                "default": {
+                    "types": "./modules/index.d.ts",
+                    "default": "./tslib.es6.mjs"
+                }
+            },
+            "default": "./tslib.js"
+        },
+        "./*": "./*",
+        "./": "./"
+    }
+}

+ 460 - 0
client/laya/node_modules/tslib/tslib.d.ts

@@ -0,0 +1,460 @@
+/******************************************************************************
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+***************************************************************************** */
+
+/**
+ * Used to shim class extends.
+ *
+ * @param d The derived class.
+ * @param b The base class.
+ */
+export declare function __extends(d: Function, b: Function): void;
+
+/**
+ * Copy the values of all of the enumerable own properties from one or more source objects to a
+ * target object. Returns the target object.
+ *
+ * @param t The target object to copy to.
+ * @param sources One or more source objects from which to copy properties
+ */
+export declare function __assign(t: any, ...sources: any[]): any;
+
+/**
+ * Performs a rest spread on an object.
+ *
+ * @param t The source value.
+ * @param propertyNames The property names excluded from the rest spread.
+ */
+export declare function __rest(t: any, propertyNames: (string | symbol)[]): any;
+
+/**
+ * Applies decorators to a target object
+ *
+ * @param decorators The set of decorators to apply.
+ * @param target The target object.
+ * @param key If specified, the own property to apply the decorators to.
+ * @param desc The property descriptor, defaults to fetching the descriptor from the target object.
+ * @experimental
+ */
+export declare function __decorate(decorators: Function[], target: any, key?: string | symbol, desc?: any): any;
+
+/**
+ * Creates an observing function decorator from a parameter decorator.
+ *
+ * @param paramIndex The parameter index to apply the decorator to.
+ * @param decorator The parameter decorator to apply. Note that the return value is ignored.
+ * @experimental
+ */
+export declare function __param(paramIndex: number, decorator: Function): Function;
+
+/**
+ * Applies decorators to a class or class member, following the native ECMAScript decorator specification.
+ * @param ctor For non-field class members, the class constructor. Otherwise, `null`.
+ * @param descriptorIn The `PropertyDescriptor` to use when unable to look up the property from `ctor`.
+ * @param decorators The decorators to apply
+ * @param contextIn The `DecoratorContext` to clone for each decorator application.
+ * @param initializers An array of field initializer mutation functions into which new initializers are written.
+ * @param extraInitializers An array of extra initializer functions into which new initializers are written.
+ */
+export declare function __esDecorate(ctor: Function | null, descriptorIn: object | null, decorators: Function[], contextIn: object, initializers: Function[] | null, extraInitializers: Function[]): void;
+
+/**
+ * Runs field initializers or extra initializers generated by `__esDecorate`.
+ * @param thisArg The `this` argument to use.
+ * @param initializers The array of initializers to evaluate.
+ * @param value The initial value to pass to the initializers.
+ */
+export declare function __runInitializers(thisArg: unknown, initializers: Function[], value?: any): any;
+
+/**
+ * Converts a computed property name into a `string` or `symbol` value.
+ */
+export declare function __propKey(x: any): string | symbol;
+
+/**
+ * Assigns the name of a function derived from the left-hand side of an assignment.
+ * @param f The function to rename.
+ * @param name The new name for the function.
+ * @param prefix A prefix (such as `"get"` or `"set"`) to insert before the name.
+ */
+export declare function __setFunctionName(f: Function, name: string | symbol, prefix?: string): Function;
+
+/**
+ * Creates a decorator that sets metadata.
+ *
+ * @param metadataKey The metadata key
+ * @param metadataValue The metadata value
+ * @experimental
+ */
+export declare function __metadata(metadataKey: any, metadataValue: any): Function;
+
+/**
+ * Converts a generator function into a pseudo-async function, by treating each `yield` as an `await`.
+ *
+ * @param thisArg The reference to use as the `this` value in the generator function
+ * @param _arguments The optional arguments array
+ * @param P The optional promise constructor argument, defaults to the `Promise` property of the global object.
+ * @param generator The generator function
+ */
+export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any;
+
+/**
+ * Creates an Iterator object using the body as the implementation.
+ *
+ * @param thisArg The reference to use as the `this` value in the function
+ * @param body The generator state-machine based implementation.
+ *
+ * @see [./docs/generator.md]
+ */
+export declare function __generator(thisArg: any, body: Function): any;
+
+/**
+ * Creates bindings for all enumerable properties of `m` on `exports`
+ *
+ * @param m The source object
+ * @param o The `exports` object.
+ */
+export declare function __exportStar(m: any, o: any): void;
+
+/**
+ * Creates a value iterator from an `Iterable` or `ArrayLike` object.
+ *
+ * @param o The object.
+ * @throws {TypeError} If `o` is neither `Iterable`, nor an `ArrayLike`.
+ */
+export declare function __values(o: any): any;
+
+/**
+ * Reads values from an `Iterable` or `ArrayLike` object and returns the resulting array.
+ *
+ * @param o The object to read from.
+ * @param n The maximum number of arguments to read, defaults to `Infinity`.
+ */
+export declare function __read(o: any, n?: number): any[];
+
+/**
+ * Creates an array from iterable spread.
+ *
+ * @param args The Iterable objects to spread.
+ * @deprecated since TypeScript 4.2 - Use `__spreadArray`
+ */
+export declare function __spread(...args: any[][]): any[];
+
+/**
+ * Creates an array from array spread.
+ *
+ * @param args The ArrayLikes to spread into the resulting array.
+ * @deprecated since TypeScript 4.2 - Use `__spreadArray`
+ */
+export declare function __spreadArrays(...args: any[][]): any[];
+
+/**
+ * Spreads the `from` array into the `to` array.
+ *
+ * @param pack Replace empty elements with `undefined`.
+ */
+export declare function __spreadArray(to: any[], from: any[], pack?: boolean): any[];
+
+/**
+ * Creates an object that signals to `__asyncGenerator` that it shouldn't be yielded,
+ * and instead should be awaited and the resulting value passed back to the generator.
+ *
+ * @param v The value to await.
+ */
+export declare function __await(v: any): any;
+
+/**
+ * Converts a generator function into an async generator function, by using `yield __await`
+ * in place of normal `await`.
+ *
+ * @param thisArg The reference to use as the `this` value in the generator function
+ * @param _arguments The optional arguments array
+ * @param generator The generator function
+ */
+export declare function __asyncGenerator(thisArg: any, _arguments: any, generator: Function): any;
+
+/**
+ * Used to wrap a potentially async iterator in such a way so that it wraps the result
+ * of calling iterator methods of `o` in `__await` instances, and then yields the awaited values.
+ *
+ * @param o The potentially async iterator.
+ * @returns A synchronous iterator yielding `__await` instances on every odd invocation
+ *          and returning the awaited `IteratorResult` passed to `next` every even invocation.
+ */
+export declare function __asyncDelegator(o: any): any;
+
+/**
+ * Creates a value async iterator from an `AsyncIterable`, `Iterable` or `ArrayLike` object.
+ *
+ * @param o The object.
+ * @throws {TypeError} If `o` is neither `AsyncIterable`, `Iterable`, nor an `ArrayLike`.
+ */
+export declare function __asyncValues(o: any): any;
+
+/**
+ * Creates a `TemplateStringsArray` frozen object from the `cooked` and `raw` arrays.
+ *
+ * @param cooked The cooked possibly-sparse array.
+ * @param raw The raw string content.
+ */
+export declare function __makeTemplateObject(cooked: string[], raw: string[]): TemplateStringsArray;
+
+/**
+ * Used to shim default and named imports in ECMAScript Modules transpiled to CommonJS.
+ *
+ * ```js
+ * import Default, { Named, Other } from "mod";
+ * // or
+ * import { default as Default, Named, Other } from "mod";
+ * ```
+ *
+ * @param mod The CommonJS module exports object.
+ */
+export declare function __importStar<T>(mod: T): T;
+
+/**
+ * Used to shim default imports in ECMAScript Modules transpiled to CommonJS.
+ *
+ * ```js
+ * import Default from "mod";
+ * ```
+ *
+ * @param mod The CommonJS module exports object.
+ */
+export declare function __importDefault<T>(mod: T): T | { default: T };
+
+/**
+ * Emulates reading a private instance field.
+ *
+ * @param receiver The instance from which to read the private field.
+ * @param state A WeakMap containing the private field value for an instance.
+ * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method.
+ *
+ * @throws {TypeError} If `state` doesn't have an entry for `receiver`.
+ */
+export declare function __classPrivateFieldGet<T extends object, V>(
+    receiver: T,
+    state: { has(o: T): boolean, get(o: T): V | undefined },
+    kind?: "f"
+): V;
+
+/**
+ * Emulates reading a private static field.
+ *
+ * @param receiver The object from which to read the private static field.
+ * @param state The class constructor containing the definition of the static field.
+ * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method.
+ * @param f The descriptor that holds the static field value.
+ *
+ * @throws {TypeError} If `receiver` is not `state`.
+ */
+export declare function __classPrivateFieldGet<T extends new (...args: any[]) => unknown, V>(
+    receiver: T,
+    state: T,
+    kind: "f",
+    f: { value: V }
+): V;
+
+/**
+ * Emulates evaluating a private instance "get" accessor.
+ *
+ * @param receiver The instance on which to evaluate the private "get" accessor.
+ * @param state A WeakSet used to verify an instance supports the private "get" accessor.
+ * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method.
+ * @param f The "get" accessor function to evaluate.
+ *
+ * @throws {TypeError} If `state` doesn't have an entry for `receiver`.
+ */
+export declare function __classPrivateFieldGet<T extends object, V>(
+    receiver: T,
+    state: { has(o: T): boolean },
+    kind: "a",
+    f: () => V
+): V;
+
+/**
+ * Emulates evaluating a private static "get" accessor.
+ *
+ * @param receiver The object on which to evaluate the private static "get" accessor.
+ * @param state The class constructor containing the definition of the static "get" accessor.
+ * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method.
+ * @param f The "get" accessor function to evaluate.
+ *
+ * @throws {TypeError} If `receiver` is not `state`.
+ */
+export declare function __classPrivateFieldGet<T extends new (...args: any[]) => unknown, V>(
+    receiver: T,
+    state: T,
+    kind: "a",
+    f: () => V
+): V;
+
+/**
+ * Emulates reading a private instance method.
+ *
+ * @param receiver The instance from which to read a private method.
+ * @param state A WeakSet used to verify an instance supports the private method.
+ * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method.
+ * @param f The function to return as the private instance method.
+ *
+ * @throws {TypeError} If `state` doesn't have an entry for `receiver`.
+ */
+export declare function __classPrivateFieldGet<T extends object, V extends (...args: any[]) => unknown>(
+    receiver: T,
+    state: { has(o: T): boolean },
+    kind: "m",
+    f: V
+): V;
+
+/**
+ * Emulates reading a private static method.
+ *
+ * @param receiver The object from which to read the private static method.
+ * @param state The class constructor containing the definition of the static method.
+ * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method.
+ * @param f The function to return as the private static method.
+ *
+ * @throws {TypeError} If `receiver` is not `state`.
+ */
+export declare function __classPrivateFieldGet<T extends new (...args: any[]) => unknown, V extends (...args: any[]) => unknown>(
+    receiver: T,
+    state: T,
+    kind: "m",
+    f: V
+): V;
+
+/**
+ * Emulates writing to a private instance field.
+ *
+ * @param receiver The instance on which to set a private field value.
+ * @param state A WeakMap used to store the private field value for an instance.
+ * @param value The value to store in the private field.
+ * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method.
+ *
+ * @throws {TypeError} If `state` doesn't have an entry for `receiver`.
+ */
+export declare function __classPrivateFieldSet<T extends object, V>(
+    receiver: T,
+    state: { has(o: T): boolean, set(o: T, value: V): unknown },
+    value: V,
+    kind?: "f"
+): V;
+
+/**
+ * Emulates writing to a private static field.
+ *
+ * @param receiver The object on which to set the private static field.
+ * @param state The class constructor containing the definition of the private static field.
+ * @param value The value to store in the private field.
+ * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method.
+ * @param f The descriptor that holds the static field value.
+ *
+ * @throws {TypeError} If `receiver` is not `state`.
+ */
+export declare function __classPrivateFieldSet<T extends new (...args: any[]) => unknown, V>(
+    receiver: T,
+    state: T,
+    value: V,
+    kind: "f",
+    f: { value: V }
+): V;
+
+/**
+ * Emulates writing to a private instance "set" accessor.
+ *
+ * @param receiver The instance on which to evaluate the private instance "set" accessor.
+ * @param state A WeakSet used to verify an instance supports the private "set" accessor.
+ * @param value The value to store in the private accessor.
+ * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method.
+ * @param f The "set" accessor function to evaluate.
+ *
+ * @throws {TypeError} If `state` doesn't have an entry for `receiver`.
+ */
+export declare function __classPrivateFieldSet<T extends object, V>(
+    receiver: T,
+    state: { has(o: T): boolean },
+    value: V,
+    kind: "a",
+    f: (v: V) => void
+): V;
+
+/**
+ * Emulates writing to a private static "set" accessor.
+ *
+ * @param receiver The object on which to evaluate the private static "set" accessor.
+ * @param state The class constructor containing the definition of the static "set" accessor.
+ * @param value The value to store in the private field.
+ * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method.
+ * @param f The "set" accessor function to evaluate.
+ *
+ * @throws {TypeError} If `receiver` is not `state`.
+ */
+export declare function __classPrivateFieldSet<T extends new (...args: any[]) => unknown, V>(
+    receiver: T,
+    state: T,
+    value: V,
+    kind: "a",
+    f: (v: V) => void
+): V;
+
+/**
+ * Checks for the existence of a private field/method/accessor.
+ *
+ * @param state The class constructor containing the static member, or the WeakMap or WeakSet associated with a private instance member.
+ * @param receiver The object for which to test the presence of the private member.
+ */
+export declare function __classPrivateFieldIn(
+    state: (new (...args: any[]) => unknown) | { has(o: any): boolean },
+    receiver: unknown,
+): boolean;
+
+/**
+ * Creates a re-export binding on `object` with key `objectKey` that references `target[key]`.
+ *
+ * @param object The local `exports` object.
+ * @param target The object to re-export from.
+ * @param key The property key of `target` to re-export.
+ * @param objectKey The property key to re-export as. Defaults to `key`.
+ */
+export declare function __createBinding(object: object, target: object, key: PropertyKey, objectKey?: PropertyKey): void;
+
+/**
+ * Adds a disposable resource to a resource-tracking environment object.
+ * @param env A resource-tracking environment object.
+ * @param value Either a Disposable or AsyncDisposable object, `null`, or `undefined`.
+ * @param async When `true`, `AsyncDisposable` resources can be added. When `false`, `AsyncDisposable` resources cannot be added.
+ * @returns The {@link value} argument.
+ *
+ * @throws {TypeError} If {@link value} is not an object, or if either `Symbol.dispose` or `Symbol.asyncDispose` are not
+ * defined, or if {@link value} does not have an appropriate `Symbol.dispose` or `Symbol.asyncDispose` method.
+ */
+export declare function __addDisposableResource<T>(env: { stack: { value?: unknown, dispose?: Function, async: boolean }[]; error: unknown; hasError: boolean; }, value: T, async: boolean): T;
+
+/**
+ * Disposes all resources in a resource-tracking environment object.
+ * @param env A resource-tracking environment object.
+ * @returns A {@link Promise} if any resources in the environment were marked as `async` when added; otherwise, `void`.
+ *
+ * @throws {SuppressedError} if an error thrown during disposal would have suppressed a prior error from disposal or the
+ * error recorded in the resource-tracking environment object.
+ * @seealso {@link __addDisposableResource}
+ */
+export declare function __disposeResources(env: { stack: { value?: unknown, dispose?: Function, async: boolean }[]; error: unknown; hasError: boolean; }): any;
+
+/**
+ * Transforms a relative import specifier ending in a non-declaration TypeScript file extension to its JavaScript file extension counterpart.
+ * @param path The import specifier.
+ * @param preserveJsx Causes '*.tsx' to transform to '*.jsx' instead of '*.js'. Should be true when `--jsx` is set to `preserve`.
+ */
+export declare function __rewriteRelativeImportExtension(path: string, preserveJsx?: boolean): string;

+ 1 - 0
client/laya/node_modules/tslib/tslib.es6.html

@@ -0,0 +1 @@
+<script src="tslib.es6.js"></script>

+ 402 - 0
client/laya/node_modules/tslib/tslib.es6.js

@@ -0,0 +1,402 @@
+/******************************************************************************
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+***************************************************************************** */
+/* global Reflect, Promise, SuppressedError, Symbol, Iterator */
+
+var extendStatics = function(d, b) {
+    extendStatics = Object.setPrototypeOf ||
+        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
+    return extendStatics(d, b);
+};
+
+export function __extends(d, b) {
+    if (typeof b !== "function" && b !== null)
+        throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
+    extendStatics(d, b);
+    function __() { this.constructor = d; }
+    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+}
+
+export var __assign = function() {
+    __assign = Object.assign || function __assign(t) {
+        for (var s, i = 1, n = arguments.length; i < n; i++) {
+            s = arguments[i];
+            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
+        }
+        return t;
+    }
+    return __assign.apply(this, arguments);
+}
+
+export function __rest(s, e) {
+    var t = {};
+    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
+        t[p] = s[p];
+    if (s != null && typeof Object.getOwnPropertySymbols === "function")
+        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
+            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
+                t[p[i]] = s[p[i]];
+        }
+    return t;
+}
+
+export function __decorate(decorators, target, key, desc) {
+    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+    return c > 3 && r && Object.defineProperty(target, key, r), r;
+}
+
+export function __param(paramIndex, decorator) {
+    return function (target, key) { decorator(target, key, paramIndex); }
+}
+
+export function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
+    function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
+    var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
+    var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
+    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
+    var _, done = false;
+    for (var i = decorators.length - 1; i >= 0; i--) {
+        var context = {};
+        for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
+        for (var p in contextIn.access) context.access[p] = contextIn.access[p];
+        context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
+        var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
+        if (kind === "accessor") {
+            if (result === void 0) continue;
+            if (result === null || typeof result !== "object") throw new TypeError("Object expected");
+            if (_ = accept(result.get)) descriptor.get = _;
+            if (_ = accept(result.set)) descriptor.set = _;
+            if (_ = accept(result.init)) initializers.unshift(_);
+        }
+        else if (_ = accept(result)) {
+            if (kind === "field") initializers.unshift(_);
+            else descriptor[key] = _;
+        }
+    }
+    if (target) Object.defineProperty(target, contextIn.name, descriptor);
+    done = true;
+};
+
+export function __runInitializers(thisArg, initializers, value) {
+    var useValue = arguments.length > 2;
+    for (var i = 0; i < initializers.length; i++) {
+        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
+    }
+    return useValue ? value : void 0;
+};
+
+export function __propKey(x) {
+    return typeof x === "symbol" ? x : "".concat(x);
+};
+
+export function __setFunctionName(f, name, prefix) {
+    if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
+    return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
+};
+
+export function __metadata(metadataKey, metadataValue) {
+    if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
+}
+
+export function __awaiter(thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+}
+
+export function __generator(thisArg, body) {
+    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
+    return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+    function verb(n) { return function (v) { return step([n, v]); }; }
+    function step(op) {
+        if (f) throw new TypeError("Generator is already executing.");
+        while (g && (g = 0, op[0] && (_ = 0)), _) try {
+            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+            if (y = 0, t) op = [op[0] & 2, t.value];
+            switch (op[0]) {
+                case 0: case 1: t = op; break;
+                case 4: _.label++; return { value: op[1], done: false };
+                case 5: _.label++; y = op[1]; op = [0]; continue;
+                case 7: op = _.ops.pop(); _.trys.pop(); continue;
+                default:
+                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                    if (t[2]) _.ops.pop();
+                    _.trys.pop(); continue;
+            }
+            op = body.call(thisArg, _);
+        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+    }
+}
+
+export var __createBinding = Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    var desc = Object.getOwnPropertyDescriptor(m, k);
+    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() { return m[k]; } };
+    }
+    Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+});
+
+export function __exportStar(m, o) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
+}
+
+export function __values(o) {
+    var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
+    if (m) return m.call(o);
+    if (o && typeof o.length === "number") return {
+        next: function () {
+            if (o && i >= o.length) o = void 0;
+            return { value: o && o[i++], done: !o };
+        }
+    };
+    throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
+}
+
+export function __read(o, n) {
+    var m = typeof Symbol === "function" && o[Symbol.iterator];
+    if (!m) return o;
+    var i = m.call(o), r, ar = [], e;
+    try {
+        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+    }
+    catch (error) { e = { error: error }; }
+    finally {
+        try {
+            if (r && !r.done && (m = i["return"])) m.call(i);
+        }
+        finally { if (e) throw e.error; }
+    }
+    return ar;
+}
+
+/** @deprecated */
+export function __spread() {
+    for (var ar = [], i = 0; i < arguments.length; i++)
+        ar = ar.concat(__read(arguments[i]));
+    return ar;
+}
+
+/** @deprecated */
+export function __spreadArrays() {
+    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
+    for (var r = Array(s), k = 0, i = 0; i < il; i++)
+        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
+            r[k] = a[j];
+    return r;
+}
+
+export function __spreadArray(to, from, pack) {
+    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
+        if (ar || !(i in from)) {
+            if (!ar) ar = Array.prototype.slice.call(from, 0, i);
+            ar[i] = from[i];
+        }
+    }
+    return to.concat(ar || Array.prototype.slice.call(from));
+}
+
+export function __await(v) {
+    return this instanceof __await ? (this.v = v, this) : new __await(v);
+}
+
+export function __asyncGenerator(thisArg, _arguments, generator) {
+    if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+    var g = generator.apply(thisArg, _arguments || []), i, q = [];
+    return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
+    function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
+    function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
+    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
+    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
+    function fulfill(value) { resume("next", value); }
+    function reject(value) { resume("throw", value); }
+    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
+}
+
+export function __asyncDelegator(o) {
+    var i, p;
+    return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
+    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
+}
+
+export function __asyncValues(o) {
+    if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+    var m = o[Symbol.asyncIterator], i;
+    return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
+    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
+    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
+}
+
+export function __makeTemplateObject(cooked, raw) {
+    if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
+    return cooked;
+};
+
+var __setModuleDefault = Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = v;
+};
+
+var ownKeys = function(o) {
+    ownKeys = Object.getOwnPropertyNames || function (o) {
+        var ar = [];
+        for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
+        return ar;
+    };
+    return ownKeys(o);
+};
+
+export function __importStar(mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
+    __setModuleDefault(result, mod);
+    return result;
+}
+
+export function __importDefault(mod) {
+    return (mod && mod.__esModule) ? mod : { default: mod };
+}
+
+export function __classPrivateFieldGet(receiver, state, kind, f) {
+    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
+    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
+    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
+}
+
+export function __classPrivateFieldSet(receiver, state, value, kind, f) {
+    if (kind === "m") throw new TypeError("Private method is not writable");
+    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
+    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
+    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
+}
+
+export function __classPrivateFieldIn(state, receiver) {
+    if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object");
+    return typeof state === "function" ? receiver === state : state.has(receiver);
+}
+
+export function __addDisposableResource(env, value, async) {
+    if (value !== null && value !== void 0) {
+        if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
+        var dispose, inner;
+        if (async) {
+            if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
+            dispose = value[Symbol.asyncDispose];
+        }
+        if (dispose === void 0) {
+            if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
+            dispose = value[Symbol.dispose];
+            if (async) inner = dispose;
+        }
+        if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
+        if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
+        env.stack.push({ value: value, dispose: dispose, async: async });
+    }
+    else if (async) {
+        env.stack.push({ async: true });
+    }
+    return value;
+
+}
+
+var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
+    var e = new Error(message);
+    return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
+};
+
+export function __disposeResources(env) {
+    function fail(e) {
+        env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
+        env.hasError = true;
+    }
+    var r, s = 0;
+    function next() {
+        while (r = env.stack.pop()) {
+            try {
+                if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
+                if (r.dispose) {
+                    var result = r.dispose.call(r.value);
+                    if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
+                }
+                else s |= 1;
+            }
+            catch (e) {
+                fail(e);
+            }
+        }
+        if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
+        if (env.hasError) throw env.error;
+    }
+    return next();
+}
+
+export function __rewriteRelativeImportExtension(path, preserveJsx) {
+    if (typeof path === "string" && /^\.\.?\//.test(path)) {
+        return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
+            return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
+        });
+    }
+    return path;
+}
+
+export default {
+    __extends: __extends,
+    __assign: __assign,
+    __rest: __rest,
+    __decorate: __decorate,
+    __param: __param,
+    __esDecorate: __esDecorate,
+    __runInitializers: __runInitializers,
+    __propKey: __propKey,
+    __setFunctionName: __setFunctionName,
+    __metadata: __metadata,
+    __awaiter: __awaiter,
+    __generator: __generator,
+    __createBinding: __createBinding,
+    __exportStar: __exportStar,
+    __values: __values,
+    __read: __read,
+    __spread: __spread,
+    __spreadArrays: __spreadArrays,
+    __spreadArray: __spreadArray,
+    __await: __await,
+    __asyncGenerator: __asyncGenerator,
+    __asyncDelegator: __asyncDelegator,
+    __asyncValues: __asyncValues,
+    __makeTemplateObject: __makeTemplateObject,
+    __importStar: __importStar,
+    __importDefault: __importDefault,
+    __classPrivateFieldGet: __classPrivateFieldGet,
+    __classPrivateFieldSet: __classPrivateFieldSet,
+    __classPrivateFieldIn: __classPrivateFieldIn,
+    __addDisposableResource: __addDisposableResource,
+    __disposeResources: __disposeResources,
+    __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,
+};

+ 401 - 0
client/laya/node_modules/tslib/tslib.es6.mjs

@@ -0,0 +1,401 @@
+/******************************************************************************
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+***************************************************************************** */
+/* global Reflect, Promise, SuppressedError, Symbol, Iterator */
+
+var extendStatics = function(d, b) {
+  extendStatics = Object.setPrototypeOf ||
+      ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+      function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
+  return extendStatics(d, b);
+};
+
+export function __extends(d, b) {
+  if (typeof b !== "function" && b !== null)
+      throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
+  extendStatics(d, b);
+  function __() { this.constructor = d; }
+  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+}
+
+export var __assign = function() {
+  __assign = Object.assign || function __assign(t) {
+      for (var s, i = 1, n = arguments.length; i < n; i++) {
+          s = arguments[i];
+          for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
+      }
+      return t;
+  }
+  return __assign.apply(this, arguments);
+}
+
+export function __rest(s, e) {
+  var t = {};
+  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
+      t[p] = s[p];
+  if (s != null && typeof Object.getOwnPropertySymbols === "function")
+      for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
+          if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
+              t[p[i]] = s[p[i]];
+      }
+  return t;
+}
+
+export function __decorate(decorators, target, key, desc) {
+  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+  return c > 3 && r && Object.defineProperty(target, key, r), r;
+}
+
+export function __param(paramIndex, decorator) {
+  return function (target, key) { decorator(target, key, paramIndex); }
+}
+
+export function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
+  function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
+  var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
+  var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
+  var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
+  var _, done = false;
+  for (var i = decorators.length - 1; i >= 0; i--) {
+      var context = {};
+      for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
+      for (var p in contextIn.access) context.access[p] = contextIn.access[p];
+      context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
+      var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
+      if (kind === "accessor") {
+          if (result === void 0) continue;
+          if (result === null || typeof result !== "object") throw new TypeError("Object expected");
+          if (_ = accept(result.get)) descriptor.get = _;
+          if (_ = accept(result.set)) descriptor.set = _;
+          if (_ = accept(result.init)) initializers.unshift(_);
+      }
+      else if (_ = accept(result)) {
+          if (kind === "field") initializers.unshift(_);
+          else descriptor[key] = _;
+      }
+  }
+  if (target) Object.defineProperty(target, contextIn.name, descriptor);
+  done = true;
+};
+
+export function __runInitializers(thisArg, initializers, value) {
+  var useValue = arguments.length > 2;
+  for (var i = 0; i < initializers.length; i++) {
+      value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
+  }
+  return useValue ? value : void 0;
+};
+
+export function __propKey(x) {
+  return typeof x === "symbol" ? x : "".concat(x);
+};
+
+export function __setFunctionName(f, name, prefix) {
+  if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
+  return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
+};
+
+export function __metadata(metadataKey, metadataValue) {
+  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
+}
+
+export function __awaiter(thisArg, _arguments, P, generator) {
+  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+  return new (P || (P = Promise))(function (resolve, reject) {
+      function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+      function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+      function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+      step((generator = generator.apply(thisArg, _arguments || [])).next());
+  });
+}
+
+export function __generator(thisArg, body) {
+  var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
+  return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+  function verb(n) { return function (v) { return step([n, v]); }; }
+  function step(op) {
+      if (f) throw new TypeError("Generator is already executing.");
+      while (g && (g = 0, op[0] && (_ = 0)), _) try {
+          if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+          if (y = 0, t) op = [op[0] & 2, t.value];
+          switch (op[0]) {
+              case 0: case 1: t = op; break;
+              case 4: _.label++; return { value: op[1], done: false };
+              case 5: _.label++; y = op[1]; op = [0]; continue;
+              case 7: op = _.ops.pop(); _.trys.pop(); continue;
+              default:
+                  if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                  if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                  if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                  if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                  if (t[2]) _.ops.pop();
+                  _.trys.pop(); continue;
+          }
+          op = body.call(thisArg, _);
+      } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+      if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+  }
+}
+
+export var __createBinding = Object.create ? (function(o, m, k, k2) {
+  if (k2 === undefined) k2 = k;
+  var desc = Object.getOwnPropertyDescriptor(m, k);
+  if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+      desc = { enumerable: true, get: function() { return m[k]; } };
+  }
+  Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+  if (k2 === undefined) k2 = k;
+  o[k2] = m[k];
+});
+
+export function __exportStar(m, o) {
+  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
+}
+
+export function __values(o) {
+  var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
+  if (m) return m.call(o);
+  if (o && typeof o.length === "number") return {
+      next: function () {
+          if (o && i >= o.length) o = void 0;
+          return { value: o && o[i++], done: !o };
+      }
+  };
+  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
+}
+
+export function __read(o, n) {
+  var m = typeof Symbol === "function" && o[Symbol.iterator];
+  if (!m) return o;
+  var i = m.call(o), r, ar = [], e;
+  try {
+      while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+  }
+  catch (error) { e = { error: error }; }
+  finally {
+      try {
+          if (r && !r.done && (m = i["return"])) m.call(i);
+      }
+      finally { if (e) throw e.error; }
+  }
+  return ar;
+}
+
+/** @deprecated */
+export function __spread() {
+  for (var ar = [], i = 0; i < arguments.length; i++)
+      ar = ar.concat(__read(arguments[i]));
+  return ar;
+}
+
+/** @deprecated */
+export function __spreadArrays() {
+  for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
+  for (var r = Array(s), k = 0, i = 0; i < il; i++)
+      for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
+          r[k] = a[j];
+  return r;
+}
+
+export function __spreadArray(to, from, pack) {
+  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
+      if (ar || !(i in from)) {
+          if (!ar) ar = Array.prototype.slice.call(from, 0, i);
+          ar[i] = from[i];
+      }
+  }
+  return to.concat(ar || Array.prototype.slice.call(from));
+}
+
+export function __await(v) {
+  return this instanceof __await ? (this.v = v, this) : new __await(v);
+}
+
+export function __asyncGenerator(thisArg, _arguments, generator) {
+  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+  var g = generator.apply(thisArg, _arguments || []), i, q = [];
+  return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
+  function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
+  function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
+  function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
+  function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
+  function fulfill(value) { resume("next", value); }
+  function reject(value) { resume("throw", value); }
+  function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
+}
+
+export function __asyncDelegator(o) {
+  var i, p;
+  return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
+  function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
+}
+
+export function __asyncValues(o) {
+  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+  var m = o[Symbol.asyncIterator], i;
+  return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
+  function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
+  function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
+}
+
+export function __makeTemplateObject(cooked, raw) {
+  if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
+  return cooked;
+};
+
+var __setModuleDefault = Object.create ? (function(o, v) {
+  Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+  o["default"] = v;
+};
+
+var ownKeys = function(o) {
+  ownKeys = Object.getOwnPropertyNames || function (o) {
+    var ar = [];
+    for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
+    return ar;
+  };
+  return ownKeys(o);
+};
+
+export function __importStar(mod) {
+  if (mod && mod.__esModule) return mod;
+  var result = {};
+  if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
+  __setModuleDefault(result, mod);
+  return result;
+}
+
+export function __importDefault(mod) {
+  return (mod && mod.__esModule) ? mod : { default: mod };
+}
+
+export function __classPrivateFieldGet(receiver, state, kind, f) {
+  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
+  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
+  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
+}
+
+export function __classPrivateFieldSet(receiver, state, value, kind, f) {
+  if (kind === "m") throw new TypeError("Private method is not writable");
+  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
+  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
+  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
+}
+
+export function __classPrivateFieldIn(state, receiver) {
+  if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object");
+  return typeof state === "function" ? receiver === state : state.has(receiver);
+}
+
+export function __addDisposableResource(env, value, async) {
+  if (value !== null && value !== void 0) {
+    if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
+    var dispose, inner;
+    if (async) {
+      if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
+      dispose = value[Symbol.asyncDispose];
+    }
+    if (dispose === void 0) {
+      if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
+      dispose = value[Symbol.dispose];
+      if (async) inner = dispose;
+    }
+    if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
+    if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
+    env.stack.push({ value: value, dispose: dispose, async: async });
+  }
+  else if (async) {
+    env.stack.push({ async: true });
+  }
+  return value;
+}
+
+var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
+  var e = new Error(message);
+  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
+};
+
+export function __disposeResources(env) {
+  function fail(e) {
+    env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
+    env.hasError = true;
+  }
+  var r, s = 0;
+  function next() {
+    while (r = env.stack.pop()) {
+      try {
+        if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
+        if (r.dispose) {
+          var result = r.dispose.call(r.value);
+          if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
+        }
+        else s |= 1;
+      }
+      catch (e) {
+        fail(e);
+      }
+    }
+    if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
+    if (env.hasError) throw env.error;
+  }
+  return next();
+}
+
+export function __rewriteRelativeImportExtension(path, preserveJsx) {
+  if (typeof path === "string" && /^\.\.?\//.test(path)) {
+      return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
+          return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
+      });
+  }
+  return path;
+}
+
+export default {
+  __extends,
+  __assign,
+  __rest,
+  __decorate,
+  __param,
+  __esDecorate,
+  __runInitializers,
+  __propKey,
+  __setFunctionName,
+  __metadata,
+  __awaiter,
+  __generator,
+  __createBinding,
+  __exportStar,
+  __values,
+  __read,
+  __spread,
+  __spreadArrays,
+  __spreadArray,
+  __await,
+  __asyncGenerator,
+  __asyncDelegator,
+  __asyncValues,
+  __makeTemplateObject,
+  __importStar,
+  __importDefault,
+  __classPrivateFieldGet,
+  __classPrivateFieldSet,
+  __classPrivateFieldIn,
+  __addDisposableResource,
+  __disposeResources,
+  __rewriteRelativeImportExtension,
+};

+ 1 - 0
client/laya/node_modules/tslib/tslib.html

@@ -0,0 +1 @@
+<script src="tslib.js"></script>

+ 484 - 0
client/laya/node_modules/tslib/tslib.js

@@ -0,0 +1,484 @@
+/******************************************************************************
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+***************************************************************************** */
+/* global global, define, Symbol, Reflect, Promise, SuppressedError, Iterator */
+var __extends;
+var __assign;
+var __rest;
+var __decorate;
+var __param;
+var __esDecorate;
+var __runInitializers;
+var __propKey;
+var __setFunctionName;
+var __metadata;
+var __awaiter;
+var __generator;
+var __exportStar;
+var __values;
+var __read;
+var __spread;
+var __spreadArrays;
+var __spreadArray;
+var __await;
+var __asyncGenerator;
+var __asyncDelegator;
+var __asyncValues;
+var __makeTemplateObject;
+var __importStar;
+var __importDefault;
+var __classPrivateFieldGet;
+var __classPrivateFieldSet;
+var __classPrivateFieldIn;
+var __createBinding;
+var __addDisposableResource;
+var __disposeResources;
+var __rewriteRelativeImportExtension;
+(function (factory) {
+    var root = typeof global === "object" ? global : typeof self === "object" ? self : typeof this === "object" ? this : {};
+    if (typeof define === "function" && define.amd) {
+        define("tslib", ["exports"], function (exports) { factory(createExporter(root, createExporter(exports))); });
+    }
+    else if (typeof module === "object" && typeof module.exports === "object") {
+        factory(createExporter(root, createExporter(module.exports)));
+    }
+    else {
+        factory(createExporter(root));
+    }
+    function createExporter(exports, previous) {
+        if (exports !== root) {
+            if (typeof Object.create === "function") {
+                Object.defineProperty(exports, "__esModule", { value: true });
+            }
+            else {
+                exports.__esModule = true;
+            }
+        }
+        return function (id, v) { return exports[id] = previous ? previous(id, v) : v; };
+    }
+})
+(function (exporter) {
+    var extendStatics = Object.setPrototypeOf ||
+        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
+
+    __extends = function (d, b) {
+        if (typeof b !== "function" && b !== null)
+            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
+        extendStatics(d, b);
+        function __() { this.constructor = d; }
+        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+    };
+
+    __assign = Object.assign || function (t) {
+        for (var s, i = 1, n = arguments.length; i < n; i++) {
+            s = arguments[i];
+            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
+        }
+        return t;
+    };
+
+    __rest = function (s, e) {
+        var t = {};
+        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
+            t[p] = s[p];
+        if (s != null && typeof Object.getOwnPropertySymbols === "function")
+            for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
+                if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
+                    t[p[i]] = s[p[i]];
+            }
+        return t;
+    };
+
+    __decorate = function (decorators, target, key, desc) {
+        var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+        if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+        else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+        return c > 3 && r && Object.defineProperty(target, key, r), r;
+    };
+
+    __param = function (paramIndex, decorator) {
+        return function (target, key) { decorator(target, key, paramIndex); }
+    };
+
+    __esDecorate = function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
+        function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
+        var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
+        var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
+        var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
+        var _, done = false;
+        for (var i = decorators.length - 1; i >= 0; i--) {
+            var context = {};
+            for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
+            for (var p in contextIn.access) context.access[p] = contextIn.access[p];
+            context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
+            var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
+            if (kind === "accessor") {
+                if (result === void 0) continue;
+                if (result === null || typeof result !== "object") throw new TypeError("Object expected");
+                if (_ = accept(result.get)) descriptor.get = _;
+                if (_ = accept(result.set)) descriptor.set = _;
+                if (_ = accept(result.init)) initializers.unshift(_);
+            }
+            else if (_ = accept(result)) {
+                if (kind === "field") initializers.unshift(_);
+                else descriptor[key] = _;
+            }
+        }
+        if (target) Object.defineProperty(target, contextIn.name, descriptor);
+        done = true;
+    };
+
+    __runInitializers = function (thisArg, initializers, value) {
+        var useValue = arguments.length > 2;
+        for (var i = 0; i < initializers.length; i++) {
+            value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
+        }
+        return useValue ? value : void 0;
+    };
+
+    __propKey = function (x) {
+        return typeof x === "symbol" ? x : "".concat(x);
+    };
+
+    __setFunctionName = function (f, name, prefix) {
+        if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
+        return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
+    };
+
+    __metadata = function (metadataKey, metadataValue) {
+        if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
+    };
+
+    __awaiter = function (thisArg, _arguments, P, generator) {
+        function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+        return new (P || (P = Promise))(function (resolve, reject) {
+            function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+            function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+            function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+            step((generator = generator.apply(thisArg, _arguments || [])).next());
+        });
+    };
+
+    __generator = function (thisArg, body) {
+        var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
+        return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+        function verb(n) { return function (v) { return step([n, v]); }; }
+        function step(op) {
+            if (f) throw new TypeError("Generator is already executing.");
+            while (g && (g = 0, op[0] && (_ = 0)), _) try {
+                if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+                if (y = 0, t) op = [op[0] & 2, t.value];
+                switch (op[0]) {
+                    case 0: case 1: t = op; break;
+                    case 4: _.label++; return { value: op[1], done: false };
+                    case 5: _.label++; y = op[1]; op = [0]; continue;
+                    case 7: op = _.ops.pop(); _.trys.pop(); continue;
+                    default:
+                        if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                        if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                        if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                        if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                        if (t[2]) _.ops.pop();
+                        _.trys.pop(); continue;
+                }
+                op = body.call(thisArg, _);
+            } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+            if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+        }
+    };
+
+    __exportStar = function(m, o) {
+        for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
+    };
+
+    __createBinding = Object.create ? (function(o, m, k, k2) {
+        if (k2 === undefined) k2 = k;
+        var desc = Object.getOwnPropertyDescriptor(m, k);
+        if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+            desc = { enumerable: true, get: function() { return m[k]; } };
+        }
+        Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+        if (k2 === undefined) k2 = k;
+        o[k2] = m[k];
+    });
+
+    __values = function (o) {
+        var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
+        if (m) return m.call(o);
+        if (o && typeof o.length === "number") return {
+            next: function () {
+                if (o && i >= o.length) o = void 0;
+                return { value: o && o[i++], done: !o };
+            }
+        };
+        throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
+    };
+
+    __read = function (o, n) {
+        var m = typeof Symbol === "function" && o[Symbol.iterator];
+        if (!m) return o;
+        var i = m.call(o), r, ar = [], e;
+        try {
+            while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+        }
+        catch (error) { e = { error: error }; }
+        finally {
+            try {
+                if (r && !r.done && (m = i["return"])) m.call(i);
+            }
+            finally { if (e) throw e.error; }
+        }
+        return ar;
+    };
+
+    /** @deprecated */
+    __spread = function () {
+        for (var ar = [], i = 0; i < arguments.length; i++)
+            ar = ar.concat(__read(arguments[i]));
+        return ar;
+    };
+
+    /** @deprecated */
+    __spreadArrays = function () {
+        for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
+        for (var r = Array(s), k = 0, i = 0; i < il; i++)
+            for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
+                r[k] = a[j];
+        return r;
+    };
+
+    __spreadArray = function (to, from, pack) {
+        if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
+            if (ar || !(i in from)) {
+                if (!ar) ar = Array.prototype.slice.call(from, 0, i);
+                ar[i] = from[i];
+            }
+        }
+        return to.concat(ar || Array.prototype.slice.call(from));
+    };
+
+    __await = function (v) {
+        return this instanceof __await ? (this.v = v, this) : new __await(v);
+    };
+
+    __asyncGenerator = function (thisArg, _arguments, generator) {
+        if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+        var g = generator.apply(thisArg, _arguments || []), i, q = [];
+        return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
+        function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
+        function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
+        function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
+        function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
+        function fulfill(value) { resume("next", value); }
+        function reject(value) { resume("throw", value); }
+        function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
+    };
+
+    __asyncDelegator = function (o) {
+        var i, p;
+        return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
+        function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
+    };
+
+    __asyncValues = function (o) {
+        if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+        var m = o[Symbol.asyncIterator], i;
+        return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
+        function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
+        function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
+    };
+
+    __makeTemplateObject = function (cooked, raw) {
+        if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
+        return cooked;
+    };
+
+    var __setModuleDefault = Object.create ? (function(o, v) {
+        Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+        o["default"] = v;
+    };
+
+    var ownKeys = function(o) {
+        ownKeys = Object.getOwnPropertyNames || function (o) {
+            var ar = [];
+            for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
+            return ar;
+        };
+        return ownKeys(o);
+    };
+
+    __importStar = function (mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
+        __setModuleDefault(result, mod);
+        return result;
+    };
+
+    __importDefault = function (mod) {
+        return (mod && mod.__esModule) ? mod : { "default": mod };
+    };
+
+    __classPrivateFieldGet = function (receiver, state, kind, f) {
+        if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
+        if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
+        return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
+    };
+
+    __classPrivateFieldSet = function (receiver, state, value, kind, f) {
+        if (kind === "m") throw new TypeError("Private method is not writable");
+        if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
+        if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
+        return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
+    };
+
+    __classPrivateFieldIn = function (state, receiver) {
+        if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object");
+        return typeof state === "function" ? receiver === state : state.has(receiver);
+    };
+
+    __addDisposableResource = function (env, value, async) {
+        if (value !== null && value !== void 0) {
+            if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
+            var dispose, inner;
+            if (async) {
+                if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
+                dispose = value[Symbol.asyncDispose];
+            }
+            if (dispose === void 0) {
+                if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
+                dispose = value[Symbol.dispose];
+                if (async) inner = dispose;
+            }
+            if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
+            if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
+            env.stack.push({ value: value, dispose: dispose, async: async });
+        }
+        else if (async) {
+            env.stack.push({ async: true });
+        }
+        return value;
+    };
+
+    var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
+        var e = new Error(message);
+        return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
+    };
+
+    __disposeResources = function (env) {
+        function fail(e) {
+            env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
+            env.hasError = true;
+        }
+        var r, s = 0;
+        function next() {
+            while (r = env.stack.pop()) {
+                try {
+                    if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
+                    if (r.dispose) {
+                        var result = r.dispose.call(r.value);
+                        if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
+                    }
+                    else s |= 1;
+                }
+                catch (e) {
+                    fail(e);
+                }
+            }
+            if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
+            if (env.hasError) throw env.error;
+        }
+        return next();
+    };
+
+    __rewriteRelativeImportExtension = function (path, preserveJsx) {
+        if (typeof path === "string" && /^\.\.?\//.test(path)) {
+            return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
+                return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
+            });
+        }
+        return path;
+    };
+
+    exporter("__extends", __extends);
+    exporter("__assign", __assign);
+    exporter("__rest", __rest);
+    exporter("__decorate", __decorate);
+    exporter("__param", __param);
+    exporter("__esDecorate", __esDecorate);
+    exporter("__runInitializers", __runInitializers);
+    exporter("__propKey", __propKey);
+    exporter("__setFunctionName", __setFunctionName);
+    exporter("__metadata", __metadata);
+    exporter("__awaiter", __awaiter);
+    exporter("__generator", __generator);
+    exporter("__exportStar", __exportStar);
+    exporter("__createBinding", __createBinding);
+    exporter("__values", __values);
+    exporter("__read", __read);
+    exporter("__spread", __spread);
+    exporter("__spreadArrays", __spreadArrays);
+    exporter("__spreadArray", __spreadArray);
+    exporter("__await", __await);
+    exporter("__asyncGenerator", __asyncGenerator);
+    exporter("__asyncDelegator", __asyncDelegator);
+    exporter("__asyncValues", __asyncValues);
+    exporter("__makeTemplateObject", __makeTemplateObject);
+    exporter("__importStar", __importStar);
+    exporter("__importDefault", __importDefault);
+    exporter("__classPrivateFieldGet", __classPrivateFieldGet);
+    exporter("__classPrivateFieldSet", __classPrivateFieldSet);
+    exporter("__classPrivateFieldIn", __classPrivateFieldIn);
+    exporter("__addDisposableResource", __addDisposableResource);
+    exporter("__disposeResources", __disposeResources);
+    exporter("__rewriteRelativeImportExtension", __rewriteRelativeImportExtension);
+});
+
+0 && (module.exports = {
+    __extends: __extends,
+    __assign: __assign,
+    __rest: __rest,
+    __decorate: __decorate,
+    __param: __param,
+    __esDecorate: __esDecorate,
+    __runInitializers: __runInitializers,
+    __propKey: __propKey,
+    __setFunctionName: __setFunctionName,
+    __metadata: __metadata,
+    __awaiter: __awaiter,
+    __generator: __generator,
+    __exportStar: __exportStar,
+    __createBinding: __createBinding,
+    __values: __values,
+    __read: __read,
+    __spread: __spread,
+    __spreadArrays: __spreadArrays,
+    __spreadArray: __spreadArray,
+    __await: __await,
+    __asyncGenerator: __asyncGenerator,
+    __asyncDelegator: __asyncDelegator,
+    __asyncValues: __asyncValues,
+    __makeTemplateObject: __makeTemplateObject,
+    __importStar: __importStar,
+    __importDefault: __importDefault,
+    __classPrivateFieldGet: __classPrivateFieldGet,
+    __classPrivateFieldSet: __classPrivateFieldSet,
+    __classPrivateFieldIn: __classPrivateFieldIn,
+    __addDisposableResource: __addDisposableResource,
+    __disposeResources: __disposeResources,
+    __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,
+});

+ 17 - 0
client/laya/package-lock.json

@@ -0,0 +1,17 @@
+{
+  "name": "laya",
+  "lockfileVersion": 3,
+  "requires": true,
+  "packages": {
+    "": {
+      "dependencies": {
+        "tslib": "^2.8.1"
+      }
+    },
+    "node_modules/tslib": {
+      "version": "2.8.1",
+      "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz",
+      "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="
+    }
+  }
+}

+ 5 - 0
client/laya/package.json

@@ -0,0 +1,5 @@
+{
+  "dependencies": {
+    "tslib": "^2.8.1"
+  }
+}

+ 119 - 3
client/laya/src/core/mgrs/ConfigMgr.ts

@@ -1,5 +1,10 @@
 import { GameMode } from "../../data/Define";
 import { xGame } from "../../xGame";
+import JSBridgeUtils from "../../utils/JSBridgeUtils";
+import UIMsg from "../../ui/UIMsg";
+// 在其他 .ts 文件中导入并使用
+import CustomAlert from "../../utils/CustomAlert";
+
 
 export class ConfigMgr {
     private static _instance: ConfigMgr;
@@ -15,10 +20,121 @@ export class ConfigMgr {
     public placeBallCfg: any;
     public init() {
         this.npcJson = Laya.loader.getRes("res/json/npc.json").Data;
-        this.classicCfg = Laya.loader.getRes("res/json/classicCfg.json");
-        this.levelCfg = Laya.loader.getRes("res/json/levelCfg.json");
-        this.placeBallCfg = Laya.loader.getRes("res/json/placeBallCfg.json")
+        //this.classicCfg = Laya.loader.getRes("res/json/classicCfg.json");
+        //this.levelCfg = Laya.loader.getRes("res/json/levelCfg.json");
+        //this.placeBallCfg = Laya.loader.getRes("res/json/placeBallCfg.json");
+        //console.log('zh:req  local json = '+this.placeBallCfg)
+
+        this.getConfigFromServer();
+    }
+
+    //应该有多少个请求
+    private httpReqCount: number = 3;
+    //成功了多少个请求
+    private httpReqOkCount: number = 0;
+    // 使用 async/await 按顺序执行请求
+    public getConfigFromServer = async (): Promise<void> => {
+        try {
+            this.httpReqOkCount = 0;
+            let reqData = JSON.stringify({
+                gameName: "TQ",
+                gameUserName: "zhangSan"
+            });
+            console.log('zh:第1个请求');
+            const classicCfg = await this.sendPostAsync('getClassicCfg', reqData);
+            this.classicCfg = classicCfg;
+            this.httpReqOkCount++;
+
+            console.log('zh:第2个请求');
+            const levelCfg = await this.sendPostAsync('getLevelCfg', reqData);
+            this.levelCfg = levelCfg;
+            this.httpReqOkCount++;
+
+            console.log('zh:第3个请求');
+            const placeBallCfg = await this.sendPostAsync('getPlaceBallCfg', reqData);
+            this.placeBallCfg = placeBallCfg;
+            this.httpReqOkCount++;
+            console.log('zh:所有配置加载完成');
+        } catch (error) {
+            console.error('请求失败:', error);
+        } finally {
+
+            if (this.httpReqCount > this.httpReqOkCount) {
+
+                CustomAlert.show("Prompt", "Failed to load resources. Check your network and restart the game.", [
+                    {
+                        label: "Okay", handler: () => {
+                            console.log("zh:好的知道了")
+                            JSBridgeUtils.instance.exitAndCloseGame()
+                        }
+                    }
+                ]);
+
+
+            }
+        }
     }
+
+
+
+
+
+
+
+    private test() {
+        let reqData = JSON.stringify({
+            gameName: "TQ",
+            gameUserName: "zhangSan"
+        });
+        xGame.httpMgr.sendPost2025('getClassicCfg', reqData, (res) => {
+            console.log('zh:1s')
+            try {
+                let code = res.code;
+                let data = res.data;
+                if (code == 200) {
+                    const parsedData = JSON.parse(data);
+                    this.classicCfg = parsedData;
+                } else {
+                    console.log('zh:res = ' + JSON.stringify(res))
+                }
+            } catch (error) {
+                console.log('error=' + error);
+                alert("Please check your network connection.");
+            } finally {
+                console.log('zh:1')
+            }
+        });
+
+    }
+
+
+    // 封装 sendPost2025 为 Promise 风格
+    private sendPostAsync = (action: string, reqData: any): Promise<any> => {
+        return new Promise((resolve, reject) => {
+            xGame.httpMgr.sendPost2025(action, reqData, (res) => {
+                try {
+                    let code = res.code;
+                    if (code == 200) {
+                        const parsedData = JSON.parse(res.msg);
+                        resolve(parsedData);
+                    } else {
+                        console.log(`zh:res = ${JSON.stringify(res)}`);
+                        reject(new Error(`Request failed with code: ${code}`));
+                    }
+                } catch (error) {
+                    console.error(`error=${error}`);
+                    alert("Please check your network connection.");
+                    reject(error);
+                } finally {
+                    console.log(`zh:${action}`);
+                }
+            });
+        });
+    }
+
+
+
+
     //
     public getUserInfoByIndex(index) {
         return this.npcJson[index];

+ 67 - 42
client/laya/src/core/mgrs/HttpMgr.ts

@@ -7,70 +7,95 @@
 ***********************************************************************************
 */
 export class HttpMgr {
-	// 单例对象
-	private static _instance: HttpMgr = null;
+    // 单例对象
+    private static _instance: HttpMgr = null;
     //private httpObj:Laya.HttpRequest;
-    
-	/**
-	 * 获取单例
-	 */
-	public static getInstance(): HttpMgr {
-		if (!this._instance) {
-			this._instance = new HttpMgr();
-		}
-		return this._instance;
-	}
 
-	constructor() {		
-		HttpMgr._instance = this;
-	}
-    
-	/**
-	 * post请求,参数待扩展
-	 */
-	public sendPost(url,data,call)
-	{
+    /**
+     * 获取单例
+     */
+    public static getInstance(): HttpMgr {
+        if (!this._instance) {
+            this._instance = new HttpMgr();
+        }
+        return this._instance;
+    }
+
+    constructor() {
+        HttpMgr._instance = this;
+    }
+
+    /**
+     * post请求,参数待扩展
+     */
+    public sendPost(url, data, call) {
         let httpObj = new Laya.HttpRequest();
         httpObj.http.timeout = 5000;//设置超时时间;
+        httpObj.once(Laya.Event.COMPLETE, this, completeHandler);
+        httpObj.once(Laya.Event.ERROR, this, errorHandler);
+        httpObj.send(url, data, 'post', 'text', ["Content-Type", "application/json; charset=UTF-8"]);
+        function errorHandler(error): void {
+            console.log("errorHandler:" + error);
+            alert("Please check your network connection.");
+        }
+        function completeHandler(data): void {
+            if (data && data.length > 0) {
+                let jsonData = JSON.parse(data);
+                if (call)
+                    call(jsonData);
+            }
+        }
+    }
+
+
+    /**
+     * post请求,参数待扩展
+     */
+    public sendPost2025(lastUrl, data, call) {
 
+        let urlStr = "http://192.168.1.13:8080/api/game/";
+        //urlStr = "http://43.226.78.223:8099/api/game/";
+        let url = urlStr + lastUrl;
+        let httpObj = new Laya.HttpRequest();
+        httpObj.http.timeout = 5000;//设置超时时间;
         httpObj.once(Laya.Event.COMPLETE, this, completeHandler);
         httpObj.once(Laya.Event.ERROR, this, errorHandler);
-        httpObj.send(url, data, 'post', 'text',["Content-Type","application/json; charset=UTF-8"]);
-        function errorHandler(error): void 
-        {
-            console.log("errorHandler:"+error);
+        httpObj.send(url, data, 'post', 'text', ["Content-Type", "application/json; charset=UTF-8"]);
+        function errorHandler(error): void {
+            if (call) {
+                call("{'msg':'网络错误','code':500}");//固定
+            } else {
+                alert("Tip:Please check your network connection.");
+            }
         }
-        function completeHandler(data): void 
-        {
-            if(data && data.length>0)
-            {
+        function completeHandler(data): void {
+            if (data && data.length > 0) {
                 let jsonData = JSON.parse(data);
-                if(call)
+                if (call)
                     call(jsonData);
             }
         }
     }
-    public sendGet(url,call)
-	{
+
+
+
+    public sendGet(url, call) {
         let httpObj = new Laya.HttpRequest();
         httpObj.http.timeout = 5000;//设置超时时间;
-        
+
         httpObj.once(Laya.Event.COMPLETE, this, completeHandler);
         httpObj.once(Laya.Event.ERROR, this, errorHandler);
-    
+
         httpObj.send(url, '', 'get');
-        function errorHandler(error): void 
-        {
-            console.log("errorHandler:"+error);
+        function errorHandler(error): void {
+            console.log("errorHandler:" + error);
             //UIMgr.getInstance().showTip("请求失败,请稍后重试");
             //call(null);
         }
-        function completeHandler(data): void 
-        {
-            if(data && data.length>0)
-            {
+        function completeHandler(data): void {
+            if (data && data.length > 0) {
                 //let jsonData = JSON.parse(data);
-                if(call)
+                if (call)
                     call(data);
             }
         }

+ 2 - 0
client/laya/src/fgui/res/game/gameBinder.ts

@@ -167,6 +167,7 @@ import ui_dh_zy_ganfa from "./ui_dh_zy_ganfa";
 import ui_dh_zy_sc_guang from "./ui_dh_zy_sc_guang";
 import ui_dh_zy_shangcheng from "./ui_dh_zy_shangcheng";
 import ui_dh_zy_wanfa from "./ui_dh_zy_wanfa";
+import ui_Component_daoju from "./ui_Component_daoju";
 import ui_Component53_1 from "./ui_Component53_1";
 import ui_Component30 from "./ui_Component30";
 import ui_Component30_1 from "./ui_Component30_1";
@@ -431,6 +432,7 @@ export default class gameBinder {
 		fgui.UIObjectFactory.setExtension(ui_dh_zy_sc_guang.URL, ui_dh_zy_sc_guang);
 		fgui.UIObjectFactory.setExtension(ui_dh_zy_shangcheng.URL, ui_dh_zy_shangcheng);
 		fgui.UIObjectFactory.setExtension(ui_dh_zy_wanfa.URL, ui_dh_zy_wanfa);
+		fgui.UIObjectFactory.setExtension(ui_Component_daoju.URL, ui_Component_daoju);
 		fgui.UIObjectFactory.setExtension(ui_Component53_1.URL, ui_Component53_1);
 		fgui.UIObjectFactory.setExtension(ui_Component30.URL, ui_Component30);
 		fgui.UIObjectFactory.setExtension(ui_Component30_1.URL, ui_Component30_1);

+ 7 - 2
client/laya/src/fgui/res/game/ui_Component58_11.ts

@@ -1,15 +1,18 @@
 /** This is an automatically generated class by FairyGUI. Please do not modify it. **/
 
+import ui_Component_daoju from "./ui_Component_daoju";
 import ui_Component98_3 from "./ui_Component98_3";
 import ui_Component98_1 from "./ui_Component98_1";
 
 export default class ui_Component58_11 extends fgui.GComponent {
 
+	public c1:fgui.Controller;
 	public n23:fgui.GImage;
 	public n41:fgui.GImage;
 	public myList:fgui.GList;
+	public djList:ui_Component_daoju;
 	public n45:ui_Component98_3;
-	public n44:ui_Component98_1;
+	public n_item:ui_Component98_1;
 	public t0:fgui.Transition;
 	public static URL:string = "ui://isxx5ak7g1giv4el";
 
@@ -18,11 +21,13 @@ export default class ui_Component58_11 extends fgui.GComponent {
 	}
 
 	protected onConstruct():void {
+		this.c1 = this.getController("c1");
 		this.n23 = <fgui.GImage>(this.getChild("n23"));
 		this.n41 = <fgui.GImage>(this.getChild("n41"));
 		this.myList = <fgui.GList>(this.getChild("myList"));
+		this.djList = <ui_Component_daoju>(this.getChild("djList"));
 		this.n45 = <ui_Component98_3>(this.getChild("n45"));
-		this.n44 = <ui_Component98_1>(this.getChild("n44"));
+		this.n_item = <ui_Component98_1>(this.getChild("n_item"));
 		this.t0 = this.getTransition("t0");
 	}
 }

+ 13 - 0
client/laya/src/fgui/res/game/ui_Component_daoju.ts

@@ -0,0 +1,13 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+export default class ui_Component_daoju extends fgui.GComponent {
+
+	public static URL:string = "ui://isxx5ak7nmu9v57t";
+
+	public static createInstance():ui_Component_daoju {
+		return <ui_Component_daoju>(fgui.UIPackage.createObject("game", "Component_daoju"));
+	}
+
+	protected onConstruct():void {
+	}
+}

+ 8 - 0
client/laya/src/ui/UIGame.ts

@@ -19,6 +19,9 @@ import UIMsg from "./UIMsg";
 import UITips from "./UITips";
 import JSBridgeUtils from "../utils/JSBridgeUtils";
 
+
+import CustomAlert from "../utils/CustomAlert";
+
 export class UIGame extends UIBase {
     public ui: ui_UIGame;
     public powerNum: number = 0;
@@ -102,6 +105,11 @@ export class UIGame extends UIBase {
         // this.addUIClick(this.ui.guideNode.guideBtn, this.clickHelpLineBtn, [true]);
 
 
+                    //   CustomAlert.show("提示", "确2定执行此操作吗?", [
+                    //     { label: "取消", handler: () => console.log("取消") },
+                    //     { label: "确定", handler: () => console.log("确定") }
+                    // ]);
+
     }
 
 

+ 104 - 0
client/laya/src/utils/CustomAlert.ts

@@ -0,0 +1,104 @@
+export default class CustomAlert {
+    static show(
+        title: string,
+        content: string,
+        buttons: { label: string; handler: () => void }[]
+    ): void {
+        // 确保已加载UI模块
+        if (!Laya.Box || !Laya.Label || !Laya.Button) {
+            console.error("UI模块未加载!请检查laya.ui.js是否引入");
+            return;
+        }
+
+        // 创建半透明背景(带模糊)
+        const bg = new Laya.Box();
+        bg.alpha = 0;
+        bg.graphics.drawRect(0, 0, Laya.stage.width, Laya.stage.height, "#000000AA");
+        Laya.stage.addChild(bg);
+
+        // 添加淡入动画
+        Laya.Tween.to(bg, { alpha: 1 }, 200);
+
+        // 创建面板(无圆角、无阴影)
+        const panel = new Laya.Box();
+        // 使用 drawRect 代替 drawRoundRect 来绘制矩形,并且不使用圆角半径参数
+        panel.graphics.drawRect(0, 0, 400, 250, "#cccccc");
+        panel.pos((Laya.stage.width - 400) / 2, (Laya.stage.height - 250) / 2);
+        // 移除了面板的阴影效果(即 GlowFilter 部分)
+        bg.addChild(panel);
+
+        // 标题文本
+        const titleText = new Laya.Text();
+        titleText.text = title;
+        titleText.fontSize = 32;
+        titleText.color = "#333333";
+        titleText.bold = true;
+        titleText.pos(20, 20);
+        titleText.width = 360;
+        titleText.align = "center"; // 居中显示标题
+        panel.addChild(titleText);
+
+        // 内容文本
+        const contentText = new Laya.Text();
+        contentText.text = content;
+        contentText.fontSize = 21;
+        contentText.color = "#555555";
+        contentText.pos(20, 70);
+        contentText.width = 360;
+        contentText.wordWrap = true;
+        contentText.align = "center";
+        panel.addChild(contentText);
+
+        // 动态创建按钮并水平居中
+        const buttonContainer = new Laya.Box();
+        buttonContainer.pos(20, 160);
+        panel.addChild(buttonContainer);
+
+        const btnWidth = 120;
+        const spacing = 30;
+        const totalWidth = buttons.length * btnWidth + (buttons.length - 1) * spacing;
+
+        buttons.forEach((btn, index) => {
+            const button = new Laya.Button();
+            button.label = btn.label;
+            button.size(btnWidth, 40);
+            button.labelSize=22;
+            
+            button.pos(index * (btnWidth + spacing), 0);
+            button.labelColors = "#FFFFFF,#FFFFFF,#FFFFFF";
+            button.graphics.drawRect(0, 0, btnWidth, 40, "#4A90E2"); // 主色调按钮
+            button.on(Laya.Event.MOUSE_OVER, this, () => {
+                button.alpha = 0.9;
+            });
+            button.on(Laya.Event.MOUSE_OUT, this, () => {
+                button.alpha = 1;
+            });
+            button.on(Laya.Event.CLICK, this, () => {
+                btn.handler();
+                Laya.Tween.to(bg, { alpha: 0 }, 200, null, Laya.Handler.create(this, () => {
+                    bg.removeSelf();
+                }));
+            });
+            buttonContainer.addChild(button);
+        });
+
+        // 居中按钮容器
+        buttonContainer.x = (panel.width - totalWidth) / 2;
+    }
+}
+
+
+
+                // CustomAlert.show("提示", "加载网络配置失败请重新启动游戏", [
+                //     {
+                //         label: "取消", handler: () => {
+                //             console.log("zh:取消")
+                //         }
+                //     },
+                //     {
+                //         label: "确定", handler: () => {
+                //             console.log("zh:好的知道了")
+                //             JSBridgeUtils.instance.exitAndCloseGame()
+                //         }
+                //     }
+                // ]);

+ 21 - 0
client/laya/src/utils/JSBridgeUtils.ts

@@ -104,6 +104,24 @@ export default class JSBridgeUtils {
 
     }
 
+    /**
+     * 退出并关闭游戏
+     */
+    public exitAndCloseGame(): void {
+
+        if (!Laya.Browser.onAndroid) {
+            console.log('zh:非android dev')
+            return;
+        }
+        if (!this.initBridge()) {
+
+            return;
+        }
+        console.log('zh:开始关闭游戏-')
+        this.bridge.call("exitAndCloseGame");
+    }
+
+
 
     public showRewardAd(mark): boolean {
         if (!Laya.Browser.onAndroid) {
@@ -171,6 +189,9 @@ export default class JSBridgeUtils {
         this.bridge.call("logEventForAdHaveParams", eventName, jsonStr);
     }
 
+
+
+
     /**
      * firebase 事件埋点
      * @param eventName 

Some files were not shown because too many files changed in this diff