Bladeren bron

2025-04-17 wws 修改代码

2025-04-17 wws  修改代码
Kziwws 1 maand geleden
bovenliggende
commit
4fa72c0ed6
100 gewijzigde bestanden met toevoegingen van 169 en 1977 verwijderingen
  1. 2 0
      .creator/asset-template/typescript/Custom Script Template Help Documentation.url
  2. BIN
      assets/.DS_Store
  3. 1 1
      assets/Model.meta
  4. 5 5
      assets/Model/Box.fbx.meta
  5. 5 5
      assets/Model/C.fbx.meta
  6. 5 5
      assets/Model/Coin.fbx.meta
  7. 5 5
      assets/Model/Crown.fbx.meta
  8. 5 5
      assets/Model/Cube.fbx.meta
  9. 5 5
      assets/Model/Dice.fbx.meta
  10. 5 5
      assets/Model/Hammer.fbx.meta
  11. 5 5
      assets/Model/L.fbx.meta
  12. 5 5
      assets/Model/LEGO01.fbx.meta
  13. 5 5
      assets/Model/LEGO02.fbx.meta
  14. 5 5
      assets/Model/MIC.fbx.meta
  15. 5 5
      assets/Model/Magnet.fbx.meta
  16. 5 5
      assets/Model/MarkBox.fbx.meta
  17. 1 1
      assets/Model/Material.meta
  18. 1 1
      assets/Model/Material/material.mtl.meta
  19. 5 5
      assets/Model/Music01.fbx.meta
  20. 5 5
      assets/Model/Music02.fbx.meta
  21. 5 5
      assets/Model/NumOne.fbx.meta
  22. 5 5
      assets/Model/Piece01.fbx.meta
  23. 5 5
      assets/Model/Piece02.fbx.meta
  24. 1 1
      assets/Model/Prefabs.meta
  25. 1 1
      assets/Model/Prefabs/Box.prefab.meta
  26. 1 1
      assets/Model/Prefabs/C.prefab.meta
  27. 1 1
      assets/Model/Prefabs/Coin.prefab.meta
  28. 7 2
      assets/Model/Prefabs/Crown.prefab
  29. 1 1
      assets/Model/Prefabs/Crown.prefab.meta
  30. 1 1
      assets/Model/Prefabs/Cube.prefab.meta
  31. 1 1
      assets/Model/Prefabs/Dice.prefab.meta
  32. 7 2
      assets/Model/Prefabs/Hammer.prefab
  33. 1 1
      assets/Model/Prefabs/Hammer.prefab.meta
  34. 1 1
      assets/Model/Prefabs/L.prefab.meta
  35. 1 1
      assets/Model/Prefabs/LEGO01.prefab.meta
  36. 1 1
      assets/Model/Prefabs/LEGO02.prefab.meta
  37. 1 1
      assets/Model/Prefabs/MIC.prefab.meta
  38. 1 1
      assets/Model/Prefabs/Magnet.prefab.meta
  39. 1 1
      assets/Model/Prefabs/MarkBox.prefab.meta
  40. 1 1
      assets/Model/Prefabs/Music01.prefab.meta
  41. 1 1
      assets/Model/Prefabs/Music02.prefab.meta
  42. 1 1
      assets/Model/Prefabs/NumOne.prefab.meta
  43. 1 1
      assets/Model/Prefabs/Piece01.prefab.meta
  44. 1 1
      assets/Model/Prefabs/Piece02.prefab.meta
  45. 1 1
      assets/Model/Prefabs/T.prefab.meta
  46. 1 1
      assets/Model/Prefabs/Top.prefab.meta
  47. 1 1
      assets/Model/Prefabs/ball.prefab.meta
  48. 1 1
      assets/Model/Prefabs/duck.prefab.meta
  49. 1 1
      assets/Model/Prefabs/yoyo.prefab.meta
  50. 5 5
      assets/Model/T.fbx.meta
  51. 1 1
      assets/Model/Texture.meta
  52. 2 2
      assets/Model/Texture/TextureColor.jpg.meta
  53. 5 5
      assets/Model/Top.fbx.meta
  54. 5 5
      assets/Model/ball.fbx.meta
  55. 5 5
      assets/Model/duck.fbx.meta
  56. 1 1
      assets/Model/scene.scene.meta
  57. 5 5
      assets/Model/yoyo.fbx.meta
  58. 3 6
      assets/audios.meta
  59. 0 12
      assets/data.meta
  60. 0 51
      assets/data/constants.ts
  61. 0 104
      assets/data/levelsData.ts
  62. 0 1
      assets/data/levelsData.ts.meta
  63. 0 88
      assets/data/settingData.ts
  64. 0 1210
      assets/data/utils.ts
  65. 0 19
      assets/item.meta
  66. 0 1
      assets/item/C.prefab.meta
  67. 0 1
      assets/item/Coin.prefab.meta
  68. 0 1
      assets/item/Crown.prefab.meta
  69. 0 1
      assets/item/Cube.prefab.meta
  70. 0 1
      assets/item/Dice.prefab.meta
  71. 0 1
      assets/item/Hammer.prefab.meta
  72. 0 1
      assets/item/L.prefab.meta
  73. 0 1
      assets/item/LEGO01.prefab.meta
  74. 0 1
      assets/item/LEGO02.prefab.meta
  75. 0 1
      assets/item/MIC.prefab.meta
  76. 0 1
      assets/item/Magnet.prefab.meta
  77. 0 1
      assets/item/MarkBox.prefab.meta
  78. 0 1
      assets/item/Music01.prefab.meta
  79. 0 1
      assets/item/Music02.prefab.meta
  80. 0 1
      assets/item/NumOne.prefab.meta
  81. 0 1
      assets/item/Piece01.prefab.meta
  82. 0 1
      assets/item/Piece02.prefab.meta
  83. 0 1
      assets/item/T.prefab.meta
  84. 0 1
      assets/item/Top.prefab.meta
  85. 0 1
      assets/item/ball.prefab.meta
  86. 0 1
      assets/item/duck.prefab.meta
  87. 0 1
      assets/item/yoyo.prefab.meta
  88. 0 12
      assets/manager.meta
  89. 0 59
      assets/manager/autoBind.ts
  90. 0 9
      assets/manager/autoBind.ts.meta
  91. 0 9
      assets/manager/csvManager.ts.meta
  92. 0 49
      assets/manager/eventEmitter.ts
  93. 0 9
      assets/manager/eventEmitter.ts.meta
  94. 0 145
      assets/manager/localConfig.ts
  95. 0 9
      assets/manager/localConfig.ts.meta
  96. 0 9
      assets/manager/stateManager.ts.meta
  97. 1 1
      assets/materials.meta
  98. 1 1
      assets/materials/black.mtl.meta
  99. 1 1
      assets/materials/default-001.mtl.meta
  100. 1 1
      assets/materials/default.mtl.meta

+ 2 - 0
.creator/asset-template/typescript/Custom Script Template Help Documentation.url

@@ -0,0 +1,2 @@
+[InternetShortcut]
+URL=https://docs.cocos.com/creator/manual/en/scripting/setup.html#custom-script-template

BIN
assets/.DS_Store


+ 1 - 1
assets/Model.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.1.0",
+  "ver": "1.2.0",
   "importer": "directory",
   "imported": true,
   "uuid": "114ec891-cfec-45c8-8447-fffb76af4fdc",

+ 5 - 5
assets/Model/Box.fbx.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "2.3.3",
+  "ver": "2.3.13",
   "importer": "fbx",
   "imported": true,
   "uuid": "fe421ede-e27a-4a5c-a86c-8e66e1753b86",
@@ -15,7 +15,7 @@
         "gltfIndex": 0,
         "triangleCount": 76
       },
-      "ver": "1.1.0",
+      "ver": "1.1.1",
       "imported": true,
       "files": [
         ".bin",
@@ -32,7 +32,7 @@
       "userData": {
         "gltfIndex": 0
       },
-      "ver": "1.0.12",
+      "ver": "1.0.14",
       "imported": true,
       "files": [
         ".json"
@@ -43,9 +43,9 @@
   "userData": {
     "imageMetas": [],
     "fbx": {
-      "smartMaterialEnabled": true
+      "smartMaterialEnabled": true,
+      "matchMeshNames": false
     },
-    "redirect": "fe421ede-e27a-4a5c-a86c-8e66e1753b86@d9508",
     "lods": {
       "enable": false,
       "hasBuiltinLOD": false,

+ 5 - 5
assets/Model/C.fbx.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "2.3.3",
+  "ver": "2.3.13",
   "importer": "fbx",
   "imported": true,
   "uuid": "a4dba4a0-1819-4f59-8c7b-fab7ad463118",
@@ -15,7 +15,7 @@
         "gltfIndex": 0,
         "triangleCount": 204
       },
-      "ver": "1.1.0",
+      "ver": "1.1.1",
       "imported": true,
       "files": [
         ".bin",
@@ -32,7 +32,7 @@
       "userData": {
         "gltfIndex": 0
       },
-      "ver": "1.0.12",
+      "ver": "1.0.14",
       "imported": true,
       "files": [
         ".json"
@@ -43,9 +43,9 @@
   "userData": {
     "imageMetas": [],
     "fbx": {
-      "smartMaterialEnabled": true
+      "smartMaterialEnabled": true,
+      "matchMeshNames": false
     },
-    "redirect": "a4dba4a0-1819-4f59-8c7b-fab7ad463118@7873c",
     "lods": {
       "enable": false,
       "hasBuiltinLOD": false,

+ 5 - 5
assets/Model/Coin.fbx.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "2.3.3",
+  "ver": "2.3.13",
   "importer": "fbx",
   "imported": true,
   "uuid": "4d263ba2-0eb8-4c8f-9cdf-cfd882d42932",
@@ -15,7 +15,7 @@
         "gltfIndex": 0,
         "triangleCount": 176
       },
-      "ver": "1.1.0",
+      "ver": "1.1.1",
       "imported": true,
       "files": [
         ".bin",
@@ -32,7 +32,7 @@
       "userData": {
         "gltfIndex": 0
       },
-      "ver": "1.0.12",
+      "ver": "1.0.14",
       "imported": true,
       "files": [
         ".json"
@@ -43,9 +43,9 @@
   "userData": {
     "imageMetas": [],
     "fbx": {
-      "smartMaterialEnabled": true
+      "smartMaterialEnabled": true,
+      "matchMeshNames": false
     },
-    "redirect": "4d263ba2-0eb8-4c8f-9cdf-cfd882d42932@4b8b9",
     "lods": {
       "enable": false,
       "hasBuiltinLOD": false,

+ 5 - 5
assets/Model/Crown.fbx.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "2.3.3",
+  "ver": "2.3.13",
   "importer": "fbx",
   "imported": true,
   "uuid": "419ab438-30d6-48bf-91a7-98511301c524",
@@ -15,7 +15,7 @@
         "gltfIndex": 0,
         "triangleCount": 306
       },
-      "ver": "1.1.0",
+      "ver": "1.1.1",
       "imported": true,
       "files": [
         ".bin",
@@ -32,7 +32,7 @@
       "userData": {
         "gltfIndex": 0
       },
-      "ver": "1.0.12",
+      "ver": "1.0.14",
       "imported": true,
       "files": [
         ".json"
@@ -43,9 +43,9 @@
   "userData": {
     "imageMetas": [],
     "fbx": {
-      "smartMaterialEnabled": true
+      "smartMaterialEnabled": true,
+      "matchMeshNames": false
     },
-    "redirect": "419ab438-30d6-48bf-91a7-98511301c524@2cbc4",
     "lods": {
       "enable": false,
       "hasBuiltinLOD": false,

+ 5 - 5
assets/Model/Cube.fbx.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "2.3.3",
+  "ver": "2.3.13",
   "importer": "fbx",
   "imported": true,
   "uuid": "ee4f5649-1aba-411d-9a44-bb5a78652234",
@@ -15,7 +15,7 @@
         "gltfIndex": 0,
         "triangleCount": 540
       },
-      "ver": "1.1.0",
+      "ver": "1.1.1",
       "imported": true,
       "files": [
         ".bin",
@@ -32,7 +32,7 @@
       "userData": {
         "gltfIndex": 0
       },
-      "ver": "1.0.12",
+      "ver": "1.0.14",
       "imported": true,
       "files": [
         ".json"
@@ -43,9 +43,9 @@
   "userData": {
     "imageMetas": [],
     "fbx": {
-      "smartMaterialEnabled": true
+      "smartMaterialEnabled": true,
+      "matchMeshNames": false
     },
-    "redirect": "ee4f5649-1aba-411d-9a44-bb5a78652234@9d327",
     "lods": {
       "enable": false,
       "hasBuiltinLOD": false,

+ 5 - 5
assets/Model/Dice.fbx.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "2.3.3",
+  "ver": "2.3.13",
   "importer": "fbx",
   "imported": true,
   "uuid": "482a2c91-b3a3-438c-8529-af56662062d0",
@@ -15,7 +15,7 @@
         "gltfIndex": 0,
         "triangleCount": 254
       },
-      "ver": "1.1.0",
+      "ver": "1.1.1",
       "imported": true,
       "files": [
         ".bin",
@@ -32,7 +32,7 @@
       "userData": {
         "gltfIndex": 0
       },
-      "ver": "1.0.12",
+      "ver": "1.0.14",
       "imported": true,
       "files": [
         ".json"
@@ -43,9 +43,9 @@
   "userData": {
     "imageMetas": [],
     "fbx": {
-      "smartMaterialEnabled": true
+      "smartMaterialEnabled": true,
+      "matchMeshNames": false
     },
-    "redirect": "482a2c91-b3a3-438c-8529-af56662062d0@f0f48",
     "lods": {
       "enable": false,
       "hasBuiltinLOD": false,

+ 5 - 5
assets/Model/Hammer.fbx.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "2.3.3",
+  "ver": "2.3.13",
   "importer": "fbx",
   "imported": true,
   "uuid": "8d3e6e0a-31a5-4d3f-91d5-a1a804fb01a1",
@@ -15,7 +15,7 @@
         "gltfIndex": 0,
         "triangleCount": 264
       },
-      "ver": "1.1.0",
+      "ver": "1.1.1",
       "imported": true,
       "files": [
         ".bin",
@@ -32,7 +32,7 @@
       "userData": {
         "gltfIndex": 0
       },
-      "ver": "1.0.12",
+      "ver": "1.0.14",
       "imported": true,
       "files": [
         ".json"
@@ -43,9 +43,9 @@
   "userData": {
     "imageMetas": [],
     "fbx": {
-      "smartMaterialEnabled": true
+      "smartMaterialEnabled": true,
+      "matchMeshNames": false
     },
-    "redirect": "8d3e6e0a-31a5-4d3f-91d5-a1a804fb01a1@b3d17",
     "lods": {
       "enable": false,
       "hasBuiltinLOD": false,

+ 5 - 5
assets/Model/L.fbx.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "2.3.3",
+  "ver": "2.3.13",
   "importer": "fbx",
   "imported": true,
   "uuid": "443cdf75-a7cc-431e-82bb-5cbde49099bd",
@@ -15,7 +15,7 @@
         "gltfIndex": 0,
         "triangleCount": 168
       },
-      "ver": "1.1.0",
+      "ver": "1.1.1",
       "imported": true,
       "files": [
         ".bin",
@@ -32,7 +32,7 @@
       "userData": {
         "gltfIndex": 0
       },
-      "ver": "1.0.12",
+      "ver": "1.0.14",
       "imported": true,
       "files": [
         ".json"
@@ -43,9 +43,9 @@
   "userData": {
     "imageMetas": [],
     "fbx": {
-      "smartMaterialEnabled": true
+      "smartMaterialEnabled": true,
+      "matchMeshNames": false
     },
-    "redirect": "443cdf75-a7cc-431e-82bb-5cbde49099bd@df82e",
     "lods": {
       "enable": false,
       "hasBuiltinLOD": false,

+ 5 - 5
assets/Model/LEGO01.fbx.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "2.3.3",
+  "ver": "2.3.13",
   "importer": "fbx",
   "imported": true,
   "uuid": "d0d7ff1e-de31-47d4-8f59-26828d531107",
@@ -15,7 +15,7 @@
         "gltfIndex": 0,
         "triangleCount": 204
       },
-      "ver": "1.1.0",
+      "ver": "1.1.1",
       "imported": true,
       "files": [
         ".bin",
@@ -32,7 +32,7 @@
       "userData": {
         "gltfIndex": 0
       },
-      "ver": "1.0.12",
+      "ver": "1.0.14",
       "imported": true,
       "files": [
         ".json"
@@ -43,9 +43,9 @@
   "userData": {
     "imageMetas": [],
     "fbx": {
-      "smartMaterialEnabled": true
+      "smartMaterialEnabled": true,
+      "matchMeshNames": false
     },
-    "redirect": "d0d7ff1e-de31-47d4-8f59-26828d531107@aa44f",
     "lods": {
       "enable": false,
       "hasBuiltinLOD": false,

+ 5 - 5
assets/Model/LEGO02.fbx.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "2.3.3",
+  "ver": "2.3.13",
   "importer": "fbx",
   "imported": true,
   "uuid": "d4d29551-d7df-4d39-a6f0-9b3011b395a8",
@@ -15,7 +15,7 @@
         "gltfIndex": 0,
         "triangleCount": 340
       },
-      "ver": "1.1.0",
+      "ver": "1.1.1",
       "imported": true,
       "files": [
         ".bin",
@@ -32,7 +32,7 @@
       "userData": {
         "gltfIndex": 0
       },
-      "ver": "1.0.12",
+      "ver": "1.0.14",
       "imported": true,
       "files": [
         ".json"
@@ -43,9 +43,9 @@
   "userData": {
     "imageMetas": [],
     "fbx": {
-      "smartMaterialEnabled": true
+      "smartMaterialEnabled": true,
+      "matchMeshNames": false
     },
-    "redirect": "d4d29551-d7df-4d39-a6f0-9b3011b395a8@3bf4d",
     "lods": {
       "enable": false,
       "hasBuiltinLOD": false,

+ 5 - 5
assets/Model/MIC.fbx.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "2.3.3",
+  "ver": "2.3.13",
   "importer": "fbx",
   "imported": true,
   "uuid": "931be0b5-b3a1-43d7-9801-cc118291fef4",
@@ -15,7 +15,7 @@
         "gltfIndex": 0,
         "triangleCount": 230
       },
-      "ver": "1.1.0",
+      "ver": "1.1.1",
       "imported": true,
       "files": [
         ".bin",
@@ -32,7 +32,7 @@
       "userData": {
         "gltfIndex": 0
       },
-      "ver": "1.0.12",
+      "ver": "1.0.14",
       "imported": true,
       "files": [
         ".json"
@@ -43,9 +43,9 @@
   "userData": {
     "imageMetas": [],
     "fbx": {
-      "smartMaterialEnabled": true
+      "smartMaterialEnabled": true,
+      "matchMeshNames": false
     },
-    "redirect": "931be0b5-b3a1-43d7-9801-cc118291fef4@6a2c4",
     "lods": {
       "enable": false,
       "hasBuiltinLOD": false,

+ 5 - 5
assets/Model/Magnet.fbx.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "2.3.3",
+  "ver": "2.3.13",
   "importer": "fbx",
   "imported": true,
   "uuid": "3b3d8d03-c789-44cb-b8da-8b845da85aa6",
@@ -15,7 +15,7 @@
         "gltfIndex": 0,
         "triangleCount": 100
       },
-      "ver": "1.1.0",
+      "ver": "1.1.1",
       "imported": true,
       "files": [
         ".bin",
@@ -32,7 +32,7 @@
       "userData": {
         "gltfIndex": 0
       },
-      "ver": "1.0.12",
+      "ver": "1.0.14",
       "imported": true,
       "files": [
         ".json"
@@ -43,9 +43,9 @@
   "userData": {
     "imageMetas": [],
     "fbx": {
-      "smartMaterialEnabled": true
+      "smartMaterialEnabled": true,
+      "matchMeshNames": false
     },
-    "redirect": "3b3d8d03-c789-44cb-b8da-8b845da85aa6@9b5ce",
     "lods": {
       "enable": false,
       "hasBuiltinLOD": false,

+ 5 - 5
assets/Model/MarkBox.fbx.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "2.3.3",
+  "ver": "2.3.13",
   "importer": "fbx",
   "imported": true,
   "uuid": "7df25276-bbbf-42bc-9acd-31f13a31a745",
@@ -15,7 +15,7 @@
         "gltfIndex": 0,
         "triangleCount": 188
       },
-      "ver": "1.1.0",
+      "ver": "1.1.1",
       "imported": true,
       "files": [
         ".bin",
@@ -32,7 +32,7 @@
       "userData": {
         "gltfIndex": 0
       },
-      "ver": "1.0.12",
+      "ver": "1.0.14",
       "imported": true,
       "files": [
         ".json"
@@ -43,9 +43,9 @@
   "userData": {
     "imageMetas": [],
     "fbx": {
-      "smartMaterialEnabled": true
+      "smartMaterialEnabled": true,
+      "matchMeshNames": false
     },
-    "redirect": "7df25276-bbbf-42bc-9acd-31f13a31a745@37a06",
     "lods": {
       "enable": false,
       "hasBuiltinLOD": false,

+ 1 - 1
assets/Model/Material.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.1.0",
+  "ver": "1.2.0",
   "importer": "directory",
   "imported": true,
   "uuid": "7ef326ae-6c83-4826-b5c9-6c6dda25be80",

+ 1 - 1
assets/Model/Material/material.mtl.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.0.19",
+  "ver": "1.0.21",
   "importer": "material",
   "imported": true,
   "uuid": "1348765a-6d5c-4f62-9c1a-68435a4a9170",

+ 5 - 5
assets/Model/Music01.fbx.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "2.3.3",
+  "ver": "2.3.13",
   "importer": "fbx",
   "imported": true,
   "uuid": "1a530300-235b-4317-91eb-f6885138f425",
@@ -15,7 +15,7 @@
         "gltfIndex": 0,
         "triangleCount": 108
       },
-      "ver": "1.1.0",
+      "ver": "1.1.1",
       "imported": true,
       "files": [
         ".bin",
@@ -32,7 +32,7 @@
       "userData": {
         "gltfIndex": 0
       },
-      "ver": "1.0.12",
+      "ver": "1.0.14",
       "imported": true,
       "files": [
         ".json"
@@ -43,9 +43,9 @@
   "userData": {
     "imageMetas": [],
     "fbx": {
-      "smartMaterialEnabled": true
+      "smartMaterialEnabled": true,
+      "matchMeshNames": false
     },
-    "redirect": "1a530300-235b-4317-91eb-f6885138f425@4787d",
     "lods": {
       "enable": false,
       "hasBuiltinLOD": false,

+ 5 - 5
assets/Model/Music02.fbx.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "2.3.3",
+  "ver": "2.3.13",
   "importer": "fbx",
   "imported": true,
   "uuid": "673d272e-74d9-40d2-b00a-6e28272a61e8",
@@ -15,7 +15,7 @@
         "gltfIndex": 0,
         "triangleCount": 60
       },
-      "ver": "1.1.0",
+      "ver": "1.1.1",
       "imported": true,
       "files": [
         ".bin",
@@ -32,7 +32,7 @@
       "userData": {
         "gltfIndex": 0
       },
-      "ver": "1.0.12",
+      "ver": "1.0.14",
       "imported": true,
       "files": [
         ".json"
@@ -43,9 +43,9 @@
   "userData": {
     "imageMetas": [],
     "fbx": {
-      "smartMaterialEnabled": true
+      "smartMaterialEnabled": true,
+      "matchMeshNames": false
     },
-    "redirect": "673d272e-74d9-40d2-b00a-6e28272a61e8@0d7a0",
     "lods": {
       "enable": false,
       "hasBuiltinLOD": false,

+ 5 - 5
assets/Model/NumOne.fbx.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "2.3.3",
+  "ver": "2.3.13",
   "importer": "fbx",
   "imported": true,
   "uuid": "3c59d5c9-e7f0-425b-9ab5-82cae289c58e",
@@ -14,7 +14,7 @@
       "userData": {
         "gltfIndex": 0
       },
-      "ver": "1.0.12",
+      "ver": "1.0.14",
       "imported": true,
       "files": [
         ".json"
@@ -31,7 +31,7 @@
         "gltfIndex": 0,
         "triangleCount": 198
       },
-      "ver": "1.1.0",
+      "ver": "1.1.1",
       "imported": true,
       "files": [
         ".bin",
@@ -43,9 +43,9 @@
   "userData": {
     "imageMetas": [],
     "fbx": {
-      "smartMaterialEnabled": true
+      "smartMaterialEnabled": true,
+      "matchMeshNames": false
     },
-    "redirect": "3c59d5c9-e7f0-425b-9ab5-82cae289c58e@69544",
     "lods": {
       "enable": false,
       "hasBuiltinLOD": false,

+ 5 - 5
assets/Model/Piece01.fbx.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "2.3.3",
+  "ver": "2.3.13",
   "importer": "fbx",
   "imported": true,
   "uuid": "1fa56737-730e-4a2f-af8a-eb10f81a82aa",
@@ -15,7 +15,7 @@
         "gltfIndex": 0,
         "triangleCount": 244
       },
-      "ver": "1.1.0",
+      "ver": "1.1.1",
       "imported": true,
       "files": [
         ".bin",
@@ -32,7 +32,7 @@
       "userData": {
         "gltfIndex": 0
       },
-      "ver": "1.0.12",
+      "ver": "1.0.14",
       "imported": true,
       "files": [
         ".json"
@@ -43,9 +43,9 @@
   "userData": {
     "imageMetas": [],
     "fbx": {
-      "smartMaterialEnabled": true
+      "smartMaterialEnabled": true,
+      "matchMeshNames": false
     },
-    "redirect": "1fa56737-730e-4a2f-af8a-eb10f81a82aa@491e6",
     "lods": {
       "enable": false,
       "hasBuiltinLOD": false,

+ 5 - 5
assets/Model/Piece02.fbx.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "2.3.3",
+  "ver": "2.3.13",
   "importer": "fbx",
   "imported": true,
   "uuid": "632c2cfe-7955-4577-b6ff-c038c7abfb11",
@@ -15,7 +15,7 @@
         "gltfIndex": 0,
         "triangleCount": 172
       },
-      "ver": "1.1.0",
+      "ver": "1.1.1",
       "imported": true,
       "files": [
         ".bin",
@@ -32,7 +32,7 @@
       "userData": {
         "gltfIndex": 0
       },
-      "ver": "1.0.12",
+      "ver": "1.0.14",
       "imported": true,
       "files": [
         ".json"
@@ -43,9 +43,9 @@
   "userData": {
     "imageMetas": [],
     "fbx": {
-      "smartMaterialEnabled": true
+      "smartMaterialEnabled": true,
+      "matchMeshNames": false
     },
-    "redirect": "632c2cfe-7955-4577-b6ff-c038c7abfb11@592fc",
     "lods": {
       "enable": false,
       "hasBuiltinLOD": false,

+ 1 - 1
assets/Model/Prefabs.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.1.0",
+  "ver": "1.2.0",
   "importer": "directory",
   "imported": true,
   "uuid": "7d9c2bac-fc39-467d-8854-049f6c6fdac7",

+ 1 - 1
assets/Model/Prefabs/Box.prefab.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.1.43",
+  "ver": "1.1.50",
   "importer": "prefab",
   "imported": true,
   "uuid": "f5d4c39b-c353-42d0-a384-ec64281ee248",

+ 1 - 1
assets/Model/Prefabs/C.prefab.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.1.43",
+  "ver": "1.1.50",
   "importer": "prefab",
   "imported": true,
   "uuid": "3abba584-de60-4003-be22-7c758108fa69",

+ 1 - 1
assets/Model/Prefabs/Coin.prefab.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.1.43",
+  "ver": "1.1.50",
   "importer": "prefab",
   "imported": true,
   "uuid": "5e1340e4-2b63-48d1-b1f6-eb415bf7ecaf",

+ 7 - 2
assets/Model/Prefabs/Crown.prefab

@@ -3,6 +3,7 @@
     "__type__": "cc.Prefab",
     "_name": "Crown",
     "_objFlags": 0,
+    "__editorExtras__": {},
     "_native": "",
     "data": {
       "__id__": 1
@@ -135,6 +136,10 @@
     "_shadowReceivingMode": 1,
     "_shadowBias": 0,
     "_shadowNormalBias": 0,
+    "_reflectionProbeId": -1,
+    "_reflectionProbeBlendId": -1,
+    "_reflectionProbeBlendWeight": 0,
+    "_enabledGlobalStandardSkinObject": false,
     "_enableMorph": true,
     "_id": ""
   },
@@ -160,13 +165,13 @@
     "_useLightProbe": false,
     "_bakeToLightProbe": true,
     "_reflectionProbeType": 0,
-    "_bakeToReflectionProbe": true,
-    "_probeCubemap": null
+    "_bakeToReflectionProbe": true
   },
   {
     "__type__": "cc.MeshCollider",
     "_name": "",
     "_objFlags": 0,
+    "__editorExtras__": {},
     "node": {
       "__id__": 2
     },

+ 1 - 1
assets/Model/Prefabs/Crown.prefab.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.1.43",
+  "ver": "1.1.50",
   "importer": "prefab",
   "imported": true,
   "uuid": "9dd7295f-cf64-47b1-b416-989dff253702",

+ 1 - 1
assets/Model/Prefabs/Cube.prefab.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.1.43",
+  "ver": "1.1.50",
   "importer": "prefab",
   "imported": true,
   "uuid": "dad9e9fe-d4b8-40f0-b6c6-53d82ded648d",

+ 1 - 1
assets/Model/Prefabs/Dice.prefab.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.1.43",
+  "ver": "1.1.50",
   "importer": "prefab",
   "imported": true,
   "uuid": "51f545e8-f1a0-4f29-9d88-fa4e69f32c59",

+ 7 - 2
assets/Model/Prefabs/Hammer.prefab

@@ -3,6 +3,7 @@
     "__type__": "cc.Prefab",
     "_name": "Hammer",
     "_objFlags": 0,
+    "__editorExtras__": {},
     "_native": "",
     "data": {
       "__id__": 1
@@ -135,6 +136,10 @@
     "_shadowReceivingMode": 1,
     "_shadowBias": 0,
     "_shadowNormalBias": 0,
+    "_reflectionProbeId": -1,
+    "_reflectionProbeBlendId": -1,
+    "_reflectionProbeBlendWeight": 0,
+    "_enabledGlobalStandardSkinObject": false,
     "_enableMorph": true,
     "_id": ""
   },
@@ -160,13 +165,13 @@
     "_useLightProbe": false,
     "_bakeToLightProbe": true,
     "_reflectionProbeType": 0,
-    "_bakeToReflectionProbe": true,
-    "_probeCubemap": null
+    "_bakeToReflectionProbe": true
   },
   {
     "__type__": "cc.MeshCollider",
     "_name": "",
     "_objFlags": 0,
+    "__editorExtras__": {},
     "node": {
       "__id__": 2
     },

+ 1 - 1
assets/Model/Prefabs/Hammer.prefab.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.1.43",
+  "ver": "1.1.50",
   "importer": "prefab",
   "imported": true,
   "uuid": "19c8b59e-109f-462f-8157-00579d1bac07",

+ 1 - 1
assets/Model/Prefabs/L.prefab.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.1.43",
+  "ver": "1.1.50",
   "importer": "prefab",
   "imported": true,
   "uuid": "6e0fd76b-232c-4a57-a6d8-134685beaf6c",

+ 1 - 1
assets/Model/Prefabs/LEGO01.prefab.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.1.43",
+  "ver": "1.1.50",
   "importer": "prefab",
   "imported": true,
   "uuid": "d79d0e39-ed2a-4cbe-9206-6c168a661172",

+ 1 - 1
assets/Model/Prefabs/LEGO02.prefab.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.1.43",
+  "ver": "1.1.50",
   "importer": "prefab",
   "imported": true,
   "uuid": "992aa1c6-a837-48f7-9a21-db3c97319c11",

+ 1 - 1
assets/Model/Prefabs/MIC.prefab.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.1.43",
+  "ver": "1.1.50",
   "importer": "prefab",
   "imported": true,
   "uuid": "8d58214c-1d64-4d33-a3f4-f7a9d2c118a2",

+ 1 - 1
assets/Model/Prefabs/Magnet.prefab.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.1.43",
+  "ver": "1.1.50",
   "importer": "prefab",
   "imported": true,
   "uuid": "3acfaa87-5585-4e0a-bd7e-59fef3c7ebc3",

+ 1 - 1
assets/Model/Prefabs/MarkBox.prefab.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.1.43",
+  "ver": "1.1.50",
   "importer": "prefab",
   "imported": true,
   "uuid": "e3a7558b-db91-4391-90a2-4ee619326ff8",

+ 1 - 1
assets/Model/Prefabs/Music01.prefab.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.1.43",
+  "ver": "1.1.50",
   "importer": "prefab",
   "imported": true,
   "uuid": "f0cd75d7-3ac5-4dc2-9ef6-a99877c40fec",

+ 1 - 1
assets/Model/Prefabs/Music02.prefab.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.1.43",
+  "ver": "1.1.50",
   "importer": "prefab",
   "imported": true,
   "uuid": "e4bb22a7-8f5c-46cc-8ac1-3391cfec5923",

+ 1 - 1
assets/Model/Prefabs/NumOne.prefab.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.1.43",
+  "ver": "1.1.50",
   "importer": "prefab",
   "imported": true,
   "uuid": "2d87dbbb-b3ad-4f1d-95ae-3b3c342a306d",

+ 1 - 1
assets/Model/Prefabs/Piece01.prefab.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.1.43",
+  "ver": "1.1.50",
   "importer": "prefab",
   "imported": true,
   "uuid": "40964726-cd8a-42b2-b94a-092481d12884",

+ 1 - 1
assets/Model/Prefabs/Piece02.prefab.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.1.43",
+  "ver": "1.1.50",
   "importer": "prefab",
   "imported": true,
   "uuid": "4bafc38f-7c75-4ced-b65f-e59a8639f2f3",

+ 1 - 1
assets/Model/Prefabs/T.prefab.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.1.43",
+  "ver": "1.1.50",
   "importer": "prefab",
   "imported": true,
   "uuid": "679296e1-0fc5-4f7c-afed-25900021a947",

+ 1 - 1
assets/Model/Prefabs/Top.prefab.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.1.43",
+  "ver": "1.1.50",
   "importer": "prefab",
   "imported": true,
   "uuid": "c73191a8-6488-42ec-902a-e0ce69f9beec",

+ 1 - 1
assets/Model/Prefabs/ball.prefab.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.1.43",
+  "ver": "1.1.50",
   "importer": "prefab",
   "imported": true,
   "uuid": "9b0f8c33-bd39-498b-9c81-0df8fd240e85",

+ 1 - 1
assets/Model/Prefabs/duck.prefab.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.1.43",
+  "ver": "1.1.50",
   "importer": "prefab",
   "imported": true,
   "uuid": "c878602d-dfa7-4d89-88d8-a4861cb8861d",

+ 1 - 1
assets/Model/Prefabs/yoyo.prefab.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.1.43",
+  "ver": "1.1.50",
   "importer": "prefab",
   "imported": true,
   "uuid": "3b9de350-728e-4ffa-bd75-1adafa18f506",

+ 5 - 5
assets/Model/T.fbx.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "2.3.3",
+  "ver": "2.3.13",
   "importer": "fbx",
   "imported": true,
   "uuid": "6cc36c2a-b348-4862-8a67-291308c1cdfa",
@@ -14,7 +14,7 @@
       "userData": {
         "gltfIndex": 0
       },
-      "ver": "1.0.12",
+      "ver": "1.0.14",
       "imported": true,
       "files": [
         ".json"
@@ -31,7 +31,7 @@
         "gltfIndex": 0,
         "triangleCount": 170
       },
-      "ver": "1.1.0",
+      "ver": "1.1.1",
       "imported": true,
       "files": [
         ".bin",
@@ -43,9 +43,9 @@
   "userData": {
     "imageMetas": [],
     "fbx": {
-      "smartMaterialEnabled": true
+      "smartMaterialEnabled": true,
+      "matchMeshNames": false
     },
-    "redirect": "6cc36c2a-b348-4862-8a67-291308c1cdfa@22401",
     "lods": {
       "enable": false,
       "hasBuiltinLOD": false,

+ 1 - 1
assets/Model/Texture.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.1.0",
+  "ver": "1.2.0",
   "importer": "directory",
   "imported": true,
   "uuid": "ebecf5d1-8c5f-4f6c-906e-44cd1eb06e0c",

+ 2 - 2
assets/Model/Texture/TextureColor.jpg.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.0.25",
+  "ver": "1.0.27",
   "importer": "image",
   "imported": true,
   "uuid": "36f4230d-6875-42c6-9d9b-c1089a93c018",
@@ -23,7 +23,7 @@
         "anisotropy": 0,
         "isUuid": true,
         "imageUuidOrDatabaseUri": "36f4230d-6875-42c6-9d9b-c1089a93c018",
-        "visible": true
+        "visible": false
       },
       "ver": "1.0.22",
       "imported": true,

+ 5 - 5
assets/Model/Top.fbx.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "2.3.3",
+  "ver": "2.3.13",
   "importer": "fbx",
   "imported": true,
   "uuid": "ca6571f9-e9f6-4713-aa49-462382ecfda7",
@@ -15,7 +15,7 @@
         "gltfIndex": 0,
         "triangleCount": 172
       },
-      "ver": "1.1.0",
+      "ver": "1.1.1",
       "imported": true,
       "files": [
         ".bin",
@@ -32,7 +32,7 @@
       "userData": {
         "gltfIndex": 0
       },
-      "ver": "1.0.12",
+      "ver": "1.0.14",
       "imported": true,
       "files": [
         ".json"
@@ -43,9 +43,9 @@
   "userData": {
     "imageMetas": [],
     "fbx": {
-      "smartMaterialEnabled": true
+      "smartMaterialEnabled": true,
+      "matchMeshNames": false
     },
-    "redirect": "ca6571f9-e9f6-4713-aa49-462382ecfda7@83c62",
     "lods": {
       "enable": false,
       "hasBuiltinLOD": false,

+ 5 - 5
assets/Model/ball.fbx.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "2.3.3",
+  "ver": "2.3.13",
   "importer": "fbx",
   "imported": true,
   "uuid": "03aba354-934e-4d5c-9002-f47bda19fe3d",
@@ -15,7 +15,7 @@
         "gltfIndex": 0,
         "triangleCount": 220
       },
-      "ver": "1.1.0",
+      "ver": "1.1.1",
       "imported": true,
       "files": [
         ".bin",
@@ -32,7 +32,7 @@
       "userData": {
         "gltfIndex": 0
       },
-      "ver": "1.0.12",
+      "ver": "1.0.14",
       "imported": true,
       "files": [
         ".json"
@@ -43,9 +43,9 @@
   "userData": {
     "imageMetas": [],
     "fbx": {
-      "smartMaterialEnabled": true
+      "smartMaterialEnabled": true,
+      "matchMeshNames": false
     },
-    "redirect": "03aba354-934e-4d5c-9002-f47bda19fe3d@8c1b3",
     "lods": {
       "enable": false,
       "hasBuiltinLOD": false,

+ 5 - 5
assets/Model/duck.fbx.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "2.3.3",
+  "ver": "2.3.13",
   "importer": "fbx",
   "imported": true,
   "uuid": "a9d50e74-43f5-48af-aeda-4d36243c7d3d",
@@ -15,7 +15,7 @@
         "gltfIndex": 0,
         "triangleCount": 268
       },
-      "ver": "1.1.0",
+      "ver": "1.1.1",
       "imported": true,
       "files": [
         ".bin",
@@ -32,7 +32,7 @@
       "userData": {
         "gltfIndex": 0
       },
-      "ver": "1.0.12",
+      "ver": "1.0.14",
       "imported": true,
       "files": [
         ".json"
@@ -43,9 +43,9 @@
   "userData": {
     "imageMetas": [],
     "fbx": {
-      "smartMaterialEnabled": true
+      "smartMaterialEnabled": true,
+      "matchMeshNames": false
     },
-    "redirect": "a9d50e74-43f5-48af-aeda-4d36243c7d3d@70f33",
     "lods": {
       "enable": false,
       "hasBuiltinLOD": false,

+ 1 - 1
assets/Model/scene.scene.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.1.43",
+  "ver": "1.1.50",
   "importer": "scene",
   "imported": true,
   "uuid": "589299e2-7157-495d-a5ee-31913e9f0381",

+ 5 - 5
assets/Model/yoyo.fbx.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "2.3.3",
+  "ver": "2.3.13",
   "importer": "fbx",
   "imported": true,
   "uuid": "b091e2f7-66f9-47ad-b097-ba2ce1c38955",
@@ -15,7 +15,7 @@
         "gltfIndex": 0,
         "triangleCount": 328
       },
-      "ver": "1.1.0",
+      "ver": "1.1.1",
       "imported": true,
       "files": [
         ".bin",
@@ -32,7 +32,7 @@
       "userData": {
         "gltfIndex": 0
       },
-      "ver": "1.0.12",
+      "ver": "1.0.14",
       "imported": true,
       "files": [
         ".json"
@@ -43,9 +43,9 @@
   "userData": {
     "imageMetas": [],
     "fbx": {
-      "smartMaterialEnabled": true
+      "smartMaterialEnabled": true,
+      "matchMeshNames": false
     },
-    "redirect": "b091e2f7-66f9-47ad-b097-ba2ce1c38955@c940d",
     "lods": {
       "enable": false,
       "hasBuiltinLOD": false,

+ 3 - 6
assets/audios.meta

@@ -1,15 +1,12 @@
 {
-  "ver": "1.1.0",
+  "ver": "1.2.0",
   "importer": "directory",
   "imported": true,
   "uuid": "f0864724-6b35-4e03-a4da-84e4bc1e8852",
   "files": [],
   "subMetas": {},
   "userData": {
-    "compressionType": {
-      "web-desktop": "none"
-    },
-    "isRemoteBundle": {},
-    "isBundle": true
+    "isBundle": true,
+    "bundleName": "audios"
   }
 }

+ 0 - 12
assets/data.meta

@@ -1,12 +0,0 @@
-{
-  "ver": "1.1.0",
-  "importer": "directory",
-  "imported": true,
-  "uuid": "c7165c73-400d-4dba-9a15-e524eea2a0f3",
-  "files": [],
-  "subMetas": {},
-  "userData": {
-    "compressionType": {},
-    "isRemoteBundle": {}
-  }
-}

+ 0 - 51
assets/data/constants.ts

@@ -1,51 +0,0 @@
-const constants = {
-    //游戏名字
-    gameName: "3D消消",
-    //是否是正式包
-    isRelease: false,
-
-    //本地缓存KEY值
-    localCache: {
-        player: 'WSOPlayer', //基础数据缓存
-        settingData: 'WSOSettingData', //设置的数据
-        levelsData: 'WSOLevelsData', //关卡数据
-    },
-
-    //通知事件类型
-    eventName: {
-        BATTELE_END: 'battele-end'  
-    },
-
-    //音效
-    audios: {
-        bg_music: "bg_music", //背景音乐
-        btnclick: "btnclick", //
-        freeze: "freeze", //
-        pass: "pass",//
-        softFail: "softFail",//
-        starCollect: "starCollect",//
-        tap: "tap",//
-    },
-
-    prefabsName: {
-        startBattleUI: `ui/startUI`,//界面
-    },
-
-    //主页面
-    mainPageName: {
-        character: `pages/character`,//角色
-        storage: `pages/storage`,//储物
-        overWorld: `pages/overWorld`,//主世界
-        celestia: `pages/celestia`,//仙界
-        dongFu: `pages/dongFu`//洞府
-    },
-
-    playerInfoData: `playerInfo`,//玩家信息
-    playerName: `playerName`,//玩家名字被修改
-
-    //场景名称ScenesName
-    scenesName: {
-        start: 'scene/start',//游戏开始
-    }
-};
-export { constants }

+ 0 - 104
assets/data/levelsData.ts

@@ -1,104 +0,0 @@
-import { _decorator, Prefab, sys } from "cc";
-import { constants } from "./constants";
-import { utils } from "./utils";
-import { localConfig } from "../manager/localConfig";
-import Data from "../scripts/core/manager/Data";
-import Utils from "../scripts/core/utils/Utils";
-
-const { ccclass, property } = _decorator;
-
-@ccclass("levelsData")
-export class levelsData {
-    public data: any = null;
-    public static instance: levelsData = null;
-
-    //关卡数据
-    public _levelTable: Array<any> = null;
-    public get levelTable(){
-        if(!this._levelTable){
-            this._levelTable = localConfig.instance.getTableArr('levels');
-        }
-        return this._levelTable;
-    }
-    
-    public _modelsTable: Array<any> = null;
-    public get modelsTable(){
-        if(!this._modelsTable){
-            this._modelsTable = localConfig.instance.getTableArr('model_names');
-        }
-        return this._modelsTable;
-    }
-
-    /**单例*/
-    public static ins() {
-        if (!this.instance) {
-            this.instance = new levelsData();
-        }
-        return this.instance;
-    }
-
-    /**
-     * 读取数据缓存
-     */
-    public loadFromCache(){
-        let l = sys.localStorage.getItem(constants.localCache.settingData);
-        if(l){
-            this.data = JSON.parse(utils.decrypt(l));
-        }else{
-            //没有数据保存一份默认的初始数据
-            this.data = {};
-            this.saveToCache();
-        }
-    }
-
-    /**
-     * 得到解锁的模型名字数组
-     */
-    public getDeblockDatas():Array<any>{
-        return this.modelsTable.map(item => item.name);
-    }
-
-    /**
-     * 得到标准模型名字数组
-     */
-    public getNormModelDatas():Array<any>{
-        return this.modelsTable.map(item => item.name);
-    }
-
-
-    /**
-     * 得到当前关卡下的数据
-     */
-    public getCurLevelInfo(){
-        let datas:Array<any> = this.levelTable;
-        let lv = Data.user.lv - 1;
-        if(lv > datas.length){
-            return datas[datas.length -1];
-        }else{
-            return datas[lv];
-        }
-    }
-
-    public async LoadItemPrefabByName(name: string) {
-        if(utils.isNull(name))return null;
-        return Utils.loadRes(name, "item_bundle", Prefab);
-    }
-
-    /**
-     * 保存到缓存中
-     */
-    public saveToCache(){
-        const data = JSON.stringify(this.data);
-        //序列化JSON字符串过后加密存储
-        sys.localStorage.setItem(constants.localCache.levelsData, utils.encrypt(data));
-    }
-
-    /**
-     * 删除缓存
-     */
-    public remove(){
-        sys.localStorage.removeItem(constants.localCache.levelsData);
-        this.loadFromCache();
-    }
-}
-export default levelsData.ins();

+ 0 - 1
assets/data/levelsData.ts.meta

@@ -1 +0,0 @@
-{"ver":"4.0.23","importer":"typescript","imported":true,"uuid":"3b7442ae-cbc3-47e2-afdc-2a5ec1540df9","files":[],"subMetas":{},"userData":{}}

+ 0 - 88
assets/data/settingData.ts

@@ -1,88 +0,0 @@
-import { _decorator, sys } from "cc";
-import { constants } from "./constants";
-import { utils } from "./utils";
-const { ccclass, property } = _decorator;
-
-@ccclass("settingData")
-export class settingData {
-    public static instance: settingData = null;
-    public data: any = null;
-
-    /**单例*/
-    public static ins() {
-        if (!this.instance) {
-            this.instance = new settingData();
-        }
-        return this.instance;
-    }
-
-    /**
-     * 读取数据缓存
-     */
-    public loadFromCache(){
-        let l = sys.localStorage.getItem(constants.localCache.settingData);
-        if(l){
-            this.data = JSON.parse(utils.decrypt(l));
-        }else{
-            //没有数据保存一份默认的初始数据
-            this.data = {
-                //背景音乐开关
-                bg_music_status: true,
-                //音效开关
-                sound_status: true,
-                //震动开关
-                shock_status: false
-            }
-            this.saveToCache();
-        }
-    }
-
-    /*修改音效状态
-     */
-    public changeStatus(idx: number){
-        if(idx == 0){
-            this.data.bg_music_status = !this.data.bg_music_status;
-        }else if(idx == 1){
-            this.data.sound_status = !this.data.sound_status;
-        }else if(idx == 2){
-            this.data.shock_status = !this.data.shock_status;
-        }
-        this.saveToCache();
-    }
-
-    /**
-     * 得到设置的数据数组
-     */
-    public getSettingDatas():Array<any>{
-        let datas:Array<any> = [
-            {name: "背景音乐",
-             selected: this.data.bg_music_status
-            },
-            {name: "音效",
-             selected: this.data.sound_status
-            },
-            {name: "震动",
-             selected: this.data.sound_status
-            }
-        ];
-        return datas;
-    }
-
-    /**
-     * 保存到缓存中
-     */
-    public saveToCache(){
-        const data = JSON.stringify(this.data);
-        //序列化JSON字符串过后加密存储
-        sys.localStorage.setItem(constants.localCache.settingData, utils.encrypt(data));
-    }
-
-    /**
-     * 删除缓存
-     */
-    public remove(){
-        sys.localStorage.removeItem(constants.localCache.settingData);
-        this.loadFromCache();
-    }
-}
-export default settingData.ins();

+ 0 - 1210
assets/data/utils.ts

@@ -1,1210 +0,0 @@
-import { UITransform, Vec2, Vec3,Node,screen, _decorator, find, director, Color, UIOpacity, tween, Label } from "cc";
-const { ccclass, property } = _decorator;
-
-@ccclass("utils")
-export class utils {
-
-    /**
-     * 验证字符串是否是空的
-     * @s 字符串
-     */
-    public static isNull(s: string) {
-        if(s == "" 
-            || s == null 
-            || s == undefined){
-            return true;
-        }
-        if (typeof s === 'string'){
-            let re = new RegExp("^[ ]+$");
-            return re.test(s);
-        }else{
-            return false;
-        }
-    }
-
-    /**
-     * 合并多个字典
-     * @param args 
-     */
-    public static merge(...args) {
-        let mergeFn = <T, U> (arg1: T, arg2: U) : (T & U) =>{
-            let res = {} as (T & U);
-            res = Object.assign(arg1, arg2);
-            return res;
-        };
-        let nDict = {};
-        args.forEach(obj => {
-           nDict = mergeFn(nDict,obj);
-        });
-        return nDict;
-    }
-    
-    /**
-     * 深度拷贝
-     * @param {any} sObj 拷贝的对象
-     * @returns 
-     */
-    public static clone(sObj: any) {
-        if (sObj === null || typeof sObj !== "object") {
-            return sObj;
-        }
-        let s: { [key: string]: any } = {};
-        if (sObj.constructor === Array) {
-            s = [];
-        }
-        for (let i in sObj) {
-            if (sObj.hasOwnProperty(i)) {
-                s[i] = this.clone(sObj[i]);
-            }
-        }
-        return s;
-    }
-
-    /**
-     * 将object转化为数组
-     * @param { any} srcObj  
-     * @returns 
-     */
-    public static objectToArray(srcObj: { [key: string]: any }) {
-        let resultArr: any[] = [];
-        // to array
-        for (let key in srcObj) {
-            if (!srcObj.hasOwnProperty(key)) {
-                continue;
-            }
-            resultArr.push(srcObj[key]);
-        }
-        return resultArr;
-    }
-
-    /**
-     * !#zh 将数组转化为object。
-     */
-    /**
-     * 将数组转化为object。
-     * @param { any} srcObj 
-     * @param { string} objectKey 
-     * @returns 
-     */
-    public static arrayToObject(srcObj: any, objectKey: string) {
-        let resultObj: { [key: string]: any } = {};
-        // to object
-        for (var key in srcObj) {
-            if (!srcObj.hasOwnProperty(key) || !srcObj[key][objectKey]) {
-                continue;
-            }
-            resultObj[srcObj[key][objectKey]] = srcObj[key];
-        }
-        return resultObj;
-    }
-
-    /**
-     * 根据权重,计算随机内容
-     * @param {arrany} weightArr 
-     * @param {number} totalWeight 权重
-     * @returns 
-     */
-    public static getWeightRandIndex(weightArr: [], totalWeight: number) {
-        let randWeight: number = Math.floor(Math.random() * totalWeight);
-        let sum: number = 0;
-        for (var weightIndex: number = 0; weightIndex < weightArr.length; weightIndex++) {
-            sum += weightArr[weightIndex];
-            if (randWeight < sum) {
-                break;
-            }
-        }
-        return weightIndex;
-    }
-
-    /**
-     * 从n个数中获取m个随机数
-     * @param {Number} n   总数
-     * @param {Number} m    获取数
-     * @returns {Array} array   获取数列
-     */
-    public static getRandomNFromM(n: number, m: number) {
-        let array: any[] = [];
-        let intRd: number = 0;
-        let count: number = 0;
-        while (count < m) {
-            if (count >= n + 1) {
-                break;
-            }
-            intRd = this.getRandomInt(0, n);
-            var flag = 0;
-            for (var i = 0; i < count; i++) {
-                if (array[i] === intRd) {
-                    flag = 1;
-                    break;
-                }
-            }
-            if (flag === 0) {
-                array[count] = intRd;
-                count++;
-            }
-        }
-        return array;
-    }
-
-    /**
-     * 获取随机整数
-     * @param {Number} min 最小值
-     * @param {Number} max 最大值
-     * @returns 
-     */
-    public static getRandomInt(min: number, max: number) {
-        let r: number = Math.random();
-        let rr: number = r * (max - min + 1) + min;
-        return Math.floor(rr);
-    }
-
-    /**
-     * 获取字符串长度
-     * @param {string} render 
-     * @returns 
-     */
-    public static getStringLength(render: string) {
-        let strArr: string = render;
-        let len: number = 0;
-        for (let i: number = 0, n = strArr.length; i < n; i++) {
-            let val: number = strArr.charCodeAt(i);
-            if (val <= 255) {
-                len = len + 1;
-            } else {
-                len = len + 2;
-            }
-        }
-        return Math.ceil(len / 2);
-    }
-    /**
-     * 要从一个数组模型中随机取出 n 个元素
-     * @param arr 
-     * @param n 
-     * @returns 返回一个新的数组
-     */
-    public static getRandomElements<T>(arr: T[], n: number): T[] {
-        if (n <= 0) return []; // 如果 n 小于等于 0,返回空数组
-        //复制数组以避免修改原数组
-        const copy = [...arr];
-        //Fisher-Yates 洗牌算法
-        for (let i = copy.length - 1; i > 0; i--) {
-            const j = Math.floor(Math.random() * (i + 1));
-            [copy[i], copy[j]] = [copy[j], copy[i]];
-        }
-        //如果 n 超过数组长度,返回乱序后的整个数组
-        if (n >= copy.length) {
-            return copy;
-        }
-        //返回前 n 个元素
-        return copy.slice(0, n);
-    }
-
-    /**
-     * 判断传入的参数是否为空的Object。数组或undefined会返回false
-     * @param obj
-     */
-    public static isEmptyObject(obj: any) {
-        let result: boolean = true;
-        if (obj && obj.constructor === Object) {
-            for (var key in obj) {
-                if (obj.hasOwnProperty(key)) {
-                    result = false;
-                    break;
-                }
-            }
-        } else {
-            result = false;
-        }
-        return result;
-    }
-
-    /**
-     * 判断是否是新的一天
-     * @param {Object|Number} dateValue 时间对象 todo MessageCenter 与 pve 相关的时间存储建议改为 Date 类型
-     * @returns {boolean}
-     */
-    public static isNewDay(dateValue: any) {
-        // todo:是否需要判断时区?
-        var oldDate: any = new Date(dateValue);
-        var curDate: any = new Date();
-        var oldYear = oldDate.getYear();
-        var oldMonth = oldDate.getMonth();
-        var oldDay = oldDate.getDate();
-        var curYear = curDate.getYear();
-        var curMonth = curDate.getMonth();
-        var curDay = curDate.getDate();
-        if (curYear > oldYear) {
-            return true;
-        } else {
-            if (curMonth > oldMonth) {
-                return true;
-            } else {
-                if (curDay > oldDay) {
-                    return true;
-                }
-            }
-        }
-        return false;
-    }
-
-    /**
-     * 获取对象属性数量
-     * @param {object}o 对象
-     * @returns 
-     */
-    public static getPropertyCount(o: Object) {
-        var n, count = 0;
-        for (n in o) {
-            if (o.hasOwnProperty(n)) {
-                count++;
-            }
-        }
-        return count;
-    }
-
-    /**
-     * 返回一个差异化数组(将array中diff里的值去掉)
-     * @param array
-     * @param diff
-     */
-    public static difference(array: [], diff: any) {
-        let result: any[] = [];
-        if (array.constructor !== Array || diff.constructor !== Array) {
-            return result;
-        }
-        let length = array.length;
-        for (let i: number = 0; i < length; i++) {
-            if (diff.indexOf(array[i]) === -1) {
-                result.push(array[i]);
-            }
-        }
-        return result;
-    }
-
-
-    public static _stringToArray(string: string) {
-        // 用于判断emoji的正则们
-        var rsAstralRange = '\\ud800-\\udfff';
-        var rsZWJ = '\\u200d';
-        var rsVarRange = '\\ufe0e\\ufe0f';
-        var rsComboMarksRange = '\\u0300-\\u036f';
-        var reComboHalfMarksRange = '\\ufe20-\\ufe2f';
-        var rsComboSymbolsRange = '\\u20d0-\\u20ff';
-        var rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;
-        var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');
-        var rsFitz = '\\ud83c[\\udffb-\\udfff]';
-        var rsOptVar = '[' + rsVarRange + ']?';
-        var rsCombo = '[' + rsComboRange + ']';
-        var rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')';
-        var reOptMod = rsModifier + '?';
-        var rsAstral = '[' + rsAstralRange + ']';
-        var rsNonAstral = '[^' + rsAstralRange + ']';
-        var rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}';
-        var rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]';
-        var rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*';
-        var rsSeq = rsOptVar + reOptMod + rsOptJoin;
-        var rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';
-        var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');
-        var hasUnicode = function (val: any) {
-            return reHasUnicode.test(val);
-        };
-        var unicodeToArray = function (val: any) {
-            return val.match(reUnicode) || [];
-        };
-        var asciiToArray = function (val: any) {
-            return val.split('');
-        };
-        return hasUnicode(string) ? unicodeToArray(string) : asciiToArray(string);
-    }
-
-    // 模拟传msg的uuid
-    public static simulationUUID() {
-        function s4() {
-            return Math.floor((1 + Math.random()) * 0x10000)
-                .toString(16)
-                .substring(1);
-        }
-        return s4() + s4() + '-' + s4() + '-' + s4() + '-' +
-            s4() + '-' + s4() + s4() + s4();
-    }
-
-    public static trim(str: string) {
-        return str.replace(/(^\s*)|(\s*$)/g, "");
-    }
-
-    /**
-     * 判断当前时间是否在有效时间内
-     * @param {String|Number} start 起始时间。带有时区信息
-     * @param {String|Number} end 结束时间。带有时区信息
-     */
-    public static isNowValid(start: any, end: any) {
-        var startTime = new Date(start);
-        var endTime = new Date(end);
-        var result = false;
-        if (startTime.getDate() + '' !== 'NaN' && endTime.getDate() + '' !== 'NaN') {
-            var curDate = new Date();
-            result = curDate < endTime && curDate > startTime;
-        }
-        return result;
-    }
-
-    /**
-     * 返回相隔天数
-     * @param start 
-     * @param end 
-     * @returns 
-     */
-    public static getDeltaDays(start: any, end: any) {
-        start = new Date(start);
-        end = new Date(end);
-        let startYear: number = start.getFullYear();
-        let startMonth: number = start.getMonth() + 1;
-        let startDate: number = start.getDate();
-        let endYear: number = end.getFullYear();
-        let endMonth: number = end.getMonth() + 1;
-        let endDate: number = end.getDate();
-        start = new Date(startYear + '/' + startMonth + '/' + startDate + ' GMT+0800').getTime();
-        end = new Date(endYear + '/' + endMonth + '/' + endDate + ' GMT+0800').getTime();
-        let deltaTime = end - start;
-        return Math.floor(deltaTime / (24 * 60 * 60 * 1000));
-    }
-
-    /**
-     * 获取数组最小值
-     * @param array 数组
-     * @returns 
-     */
-    public static getMin(array: number[]) {
-        let result: number = null!;
-        if (array.constructor === Array) {
-            let length = array.length;
-            for (let i = 0; i < length; i++) {
-                if (i === 0) {
-                    result = Number(array[0]);
-                } else {
-                    result = result > Number(array[i]) ? Number(array[i]) : result;
-                }
-            }
-        }
-        return result;
-    }
-
-    /**
-     * 格式化两位小数点
-     * @param time 
-     * @returns 
-     */
-    public static formatTwoDigits(time: number) {
-        //@ts-ignore
-        return (Array(2).join(0) + time).slice(-2);
-    }
-
-    /**
-     * 根据格式返回时间
-     * @param date  时间
-     * @param fmt 格式
-     * @returns 
-     */
-    public static formatDate(date: Date, fmt: string) {
-        let o: any = {
-            "M+": date.getMonth() + 1, //月份
-            "d+": date.getDate(), //日
-            "h+": date.getHours(), //小时
-            "m+": date.getMinutes(), //分
-            "s+": date.getSeconds(), //秒
-            "q+": Math.floor((date.getMonth() + 3) / 3), //季度
-            "S": date.getMilliseconds() //毫秒
-        };
-        if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
-        for (let k in o)
-            if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
-        return fmt;
-    }
-
-    /**
-     * 获取格式化后的日期(不含小时分秒)
-     */
-    public static getDay() {
-        let date: Date = new Date();
-        return date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate();
-    }
-
-    /**
-     * 格式化名字,XXX...
-     * @param {string} name 需要格式化的字符串 
-     * @param {number}limit 
-     * @returns {string} 返回格式化后的字符串XXX...
-     */
-    public static formatName(name: string, limit: number) {
-        limit = limit || 6;
-        var nameArray = this._stringToArray(name);
-        var str = '';
-        var length = nameArray.length;
-        if (length > limit) {
-            for (var i = 0; i < limit; i++) {
-                str += nameArray[i];
-            }
-            str += '...';
-        } else {
-            str = name;
-        }
-        return str;
-    }
-
-    /**
-     * 格式化钱数,超过10000 转换位 10K   10000K 转换为 10M
-     * @param {number}money 需要被格式化的数值
-     * @returns {string}返回 被格式化的数值
-     */
-    public static formatMoney(money: number) {
-        let arrUnit: string[] = ['', 'K', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y', 'B', 'N', 'D'];
-
-        let strValue: string = '';
-        for (let idx: number = 0; idx < arrUnit.length; idx++) {
-            if (money >= 10000) {
-                money /= 1000;
-            } else {
-                strValue = Math.floor(money) + arrUnit[idx];
-                break;
-            }
-        }
-        if (strValue === '') {
-            strValue = Math.floor(money) + 'U'; //超过最大值就加个U
-        }
-        return strValue;
-    }
-
-    /**
-     * 格式化数值
-     * @param {number}value 需要被格式化的数值
-     * @returns {string}返回 被格式化的数值
-     */
-    public static formatValue(value: number) {
-        let arrUnit: string[] = [];
-        let strValue: string = '';
-        for (let i = 0; i < 26; i++) {
-            arrUnit.push(String.fromCharCode(97 + i));
-        }
-        for (let idx: number = 0; idx < arrUnit.length; idx++) {
-            if (value >= 10000) {
-                value /= 1000;
-            } else {
-                strValue = Math.floor(value) + arrUnit[idx];
-                break;
-            }
-        }
-        return strValue;
-    }
-
-    /**
-     * 根据剩余秒数格式化剩余时间 返回 HH:MM:SS
-     * @param {Number} leftSec 
-     */
-    public static formatTimeForSecond(leftSec: number, withoutSeconds: boolean = false) {
-        let timeStr: string = '';
-        let sec: number = leftSec % 60;
-        let leftMin: number = Math.floor(leftSec / 60);
-        leftMin = leftMin < 0 ? 0 : leftMin;
-        let hour: number = Math.floor(leftMin / 60);
-        let min: number = leftMin % 60;
-        if (hour > 0) {
-            timeStr += hour > 9 ? hour.toString() : '0' + hour;
-            timeStr += ':';
-        } else {
-            timeStr += '00:';
-        }
-        timeStr += min > 9 ? min.toString() : '0' + min;
-        if (!withoutSeconds) {
-            timeStr += ':';
-            timeStr += sec > 9 ? sec.toString() : '0' + sec;
-        }
-        return timeStr;
-    }
-
-    /**
-     *  根据剩余毫秒数格式化剩余时间 返回 HH:MM:SS
-     *
-     * @param {Number} ms
-     */
-    public static formatTimeForMillisecond(ms: number): Object {
-        let second: number = Math.floor(ms / 1000 % 60);
-        let minute: number = Math.floor(ms / 1000 / 60 % 60);
-        let hour: number = Math.floor(ms / 1000 / 60 / 60);
-        return { 'hour': hour, 'minute': minute, 'second': second };
-    }
-
-    /**
-     * 格式化时间戳字符串
-     * @param timestamp 1740006560000
-     * @returns 输出2025-02-20 05:09:20
-     */
-    public static formatTimestamp(timestamp: number): string {
-        const date = new Date(timestamp);
-        //获取年月日时分秒
-        const year = date.getFullYear();
-        //月份从 0 开始,需要 +1
-        const month = String(date.getMonth() + 1).padStart(2, '0');
-        const day = String(date.getDate()).padStart(2, '0');
-        const hours = String(date.getHours()).padStart(2, '0');
-        const minutes = String(date.getMinutes()).padStart(2, '0');
-        const seconds = String(date.getSeconds()).padStart(2, '0');
-        //拼接成 YYYY-MM-DD HH:MM:SS 格式
-        return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
-    }
-
-    /**
-     * 随机乱序数组
-     * @param array 
-     * @returns 
-     */
-    public static randomArray(array) {
-        // 使用 Fisher-Yates Shuffle 算法
-        for (let i = array.length - 1; i > 0; i--) {
-            const j = Math.floor(Math.random() * (i + 1));
-            // 交换元素
-            [array[i], array[j]] = [array[j], array[i]];
-        }
-        return array;
-    }
-
-    /**
-     * 获得开始和结束两者之间相隔分钟数
-     *
-     * @static
-     * @param {number} start
-     * @param {number} end
-     * @memberof utils
-     */
-    public static getOffsetMimutes(start: number, end: number) {
-        let offSetTime: number = end - start;
-        let minute: number = Math.floor((offSetTime % (1000 * 60 * 60)) / (1000 * 60));
-        return minute;
-    }
-
-    /**
-     * 获取随机小数
-     * @param {Number} min 最小值
-     * @param {Number} max 最大值
-     * @returns 
-     */
-    public static getRandomFloat(min: number, max: number) {
-        return Math.random() * (max - min) + min;
-    }
-    
-    /**
-     * 返回指定小数位的数值
-     * @param {number} num 
-     * @param {number} idx 
-     */
-    public static formatNumToFixed(num: number, idx: number = 0) {
-        return Number(num.toFixed(idx));
-    }
-
-    /**
-     * 用于数值到达另外一个目标数值之间进行平滑过渡运动效果
-     * @param {number} targetValue 目标数值 
-     * @param {number} curValue 当前数值
-     * @param {number} ratio    过渡比率
-     * @returns 
-     */
-    public static lerp(targetValue: number, curValue: number, ratio: number = 0.25) {
-        let v: number = curValue;
-        if (targetValue > curValue) {
-            v = curValue + (targetValue - curValue) * ratio;
-        } else if (targetValue < curValue) {
-            v = curValue - (curValue - targetValue) * ratio;
-        }
-        return v;
-    }
-
-    /**
-     * 数据解密
-     * @param {String} str 
-     */
-    public static decrypt(b64Data: string) {
-        if(b64Data == null || b64Data == undefined){
-           return "";
-        }
-        let n: number = 6;
-        if (b64Data.length % 2 === 0) {
-            n = 7;
-        }
-        let decodeData = '';
-        for (var idx = 0; idx < b64Data.length - n; idx += 2) {
-            decodeData += b64Data[idx + 1];
-            decodeData += b64Data[idx];
-        }
-        decodeData += b64Data.slice(b64Data.length - n + 1);
-        decodeData = this._base64Decode(decodeData);
-        return decodeData;
-    }
-
-    /**
-     * 数据加密
-     * @param {String} str 
-     */
-    public static encrypt(str: string) {
-        if(str == null || str == undefined){
-          return "";
-        }
-        let b64Data = this._base64encode(str);
-        let n: number = 6;
-        if (b64Data.length % 2 === 0) {
-            n = 7;
-        }
-        let encodeData: string = '';
-        for (let idx = 0; idx < (b64Data.length - n + 1) / 2; idx++) {
-            encodeData += b64Data[2 * idx + 1];
-            encodeData += b64Data[2 * idx];
-        }
-        encodeData += b64Data.slice(b64Data.length - n + 1);
-        return encodeData;
-    }
-
-    //public method for encoding
-    /**
-     * base64加密
-     * @param {string}input 
-     * @returns 
-     */
-    private static _base64encode(input: string) {
-        let keyStr: string = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
-        let output: string = "", chr1: number, chr2: number, chr3: number, enc1: number, enc2: number, enc3: number, enc4: number, i: number = 0;
-        input = this._utf8Encode(input);
-        while (i < input.length) {
-            chr1 = input.charCodeAt(i++);
-            chr2 = input.charCodeAt(i++);
-            chr3 = input.charCodeAt(i++);
-            enc1 = chr1 >> 2;
-            enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
-            enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
-            enc4 = chr3 & 63;
-            if (isNaN(chr2)) {
-                enc3 = enc4 = 64;
-            } else if (isNaN(chr3)) {
-                enc4 = 64;
-            }
-            output = output +
-                keyStr.charAt(enc1) + keyStr.charAt(enc2) +
-                keyStr.charAt(enc3) + keyStr.charAt(enc4);
-        }
-        return output;
-    }
-
-    /**
-     * utf-8 加密
-     * @param string 
-     * @returns 
-     */
-    private static _utf8Encode(string: string) {
-        string = string.replace(/\r\n/g, "\n");
-        let utftext: string = "";
-        for (let n: number = 0; n < string.length; n++) {
-            let c: number = string.charCodeAt(n);
-            if (c < 128) {
-                utftext += String.fromCharCode(c);
-            } else if ((c > 127) && (c < 2048)) {
-                utftext += String.fromCharCode((c >> 6) | 192);
-                utftext += String.fromCharCode((c & 63) | 128);
-            } else {
-                utftext += String.fromCharCode((c >> 12) | 224);
-                utftext += String.fromCharCode(((c >> 6) & 63) | 128);
-                utftext += String.fromCharCode((c & 63) | 128);
-            }
-        }
-        return utftext;
-    }
-
-    /**
-     * utf-8解密
-     * @param utftext 
-     * @returns 
-     */
-    private static _utf8Decode(utftext: string) {
-        let string = "";
-        let i: number = 0;
-        let c: number = 0;
-        let c1: number = 0;
-        let c2: number = 0;
-        let c3: number = 0;
-        while (i < utftext.length) {
-            c = utftext.charCodeAt(i);
-            if (c < 128) {
-                string += String.fromCharCode(c);
-                i++;
-            } else if ((c > 191) && (c < 224)) {
-                c2 = utftext.charCodeAt(i + 1);
-                string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
-                i += 2;
-            } else {
-                c2 = utftext.charCodeAt(i + 1);
-                c3 = utftext.charCodeAt(i + 2);
-                string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
-                i += 3;
-            }
-        }
-        return string;
-    }
-
-    /**
-     * base64解密
-     * @param {string}input 解密字符串
-     * @returns 
-     */
-    private static _base64Decode(input: string) {
-        let keyStr: string = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
-        let output: string = "";
-        let chr1: number;
-        let chr2: number;
-        let chr3: number;
-        let enc1: number;
-        let enc2: number;
-        let enc3: number;
-        let enc4: number;
-        let i: number = 0;
-        input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
-        while (i < input.length) {
-            enc1 = keyStr.indexOf(input.charAt(i++));
-            enc2 = keyStr.indexOf(input.charAt(i++));
-            enc3 = keyStr.indexOf(input.charAt(i++));
-            enc4 = keyStr.indexOf(input.charAt(i++));
-            chr1 = (enc1 << 2) | (enc2 >> 4);
-            chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
-            chr3 = ((enc3 & 3) << 6) | enc4;
-            output = output + String.fromCharCode(chr1);
-            if (enc3 != 64) {
-                output = output + String.fromCharCode(chr2);
-            }
-            if (enc4 != 64) {
-                output = output + String.fromCharCode(chr3);
-            }
-        }
-        output = this._utf8Decode(output);
-        return output;
-    }
-
-    /**
-     * 开始展示文字
-     * @param lable 文本
-     * @param words 播放的文字
-     * @param cb 播放完成回调
-     * @param cbbS 回调延迟
-     * @param delay 延迟逐字播放
-     * @param s 一个字的播放速度/秒
-     */
-    public static verbatim(lable: Label,words: string, cb?: Function,cbbS:number = 0,delay: number = 0,s: number = 0.1,){
-        if (!words.hasOwnProperty('length')) {
-            return;
-        }
-        lable.node.active = true;
-        lable.unscheduleAllCallbacks();
-        let f = function(){
-            let arr = words.replace(/ /g,"").split('');
-            var step = 0;
-            var allWords: string = "";
-            let fun: Function = function () {
-                allWords += arr[step];
-                lable.string = allWords;
-                if (++step >= arr.length) {
-                    lable.unschedule(fun);
-                    let cbFun = ()=>{cb?.()};
-                    cbbS > 0 ? (lable.scheduleOnce(cbFun, cbbS)) : cbFun();
-                }
-            }.bind(this);
-            lable.schedule(fun,s,Number.MAX_SAFE_INTEGER);
-        };
-        delay > 0 ? (lable.scheduleOnce(f.bind(this),delay)) : f();
-    }
-    
-    /**
-     * 页面渐隐渐显动画
-     * @param n 节点
-     * @param isApper 是否是出现
-     * @param restore 是否恢复255显示的状态
-     * @param cb 执行完回调 
-     */
-    public static pageAnim(n: Node,isApper: boolean = true,cb?:Function){
-        let uiop:UIOpacity = n.getComponent(UIOpacity);
-        if(!n || !uiop){
-            cb?.();
-        }else{
-            uiop.opacity = isApper ? 25 : 255;
-            let toOpacity: number = isApper ? 255 : 25;
-            tween(uiop)
-            .to(0.4,{opacity:toOpacity})
-            .call(function(){
-                cb?.();
-            }.bind(this))
-            .start();
-        }
-    }
-    
-    /**
-     * 将数组(array)拆分成多个 size 长度的区块,并将这些区块组成一个新数组
-     * @param {Array}array 
-     * @param {number}size 
-     * @returns 
-     */
-    public static chunk(array: any[], size: number) {
-        var length = array === null ? 0 : array.length;
-        if (!length || size < 1) {
-            return [];
-        }
-        let result = [];
-        while (array.length > size) {
-            result.push(array.slice(0, size));
-            array = array.slice(size);
-        }
-        result.push(array);
-        return result;
-    }
-
-    /**
-     * 查询一个节点下的子节点
-     */
-    public static findName(root: Node, name: string) : Node{
-        let child: Node;
-        if (name.indexOf("/") != -1) {
-            child = find(name, root);
-        } else {
-            if (!root) {
-                root = director.getScene();
-            }
-            if (root.name === name) {
-                child = root;
-            } else {
-                child = this.findChild(name, root);
-            }
-        }
-        if (child) {
-            return child;
-        } else {
-            console.log("没有找到指定的Node, node name ==", name);
-            return null;
-        }
-    }
-
-    private static findChild(name: string, parent: Node): Node {
-        let child: Node = parent.getChildByName(name);
-        if (child) {
-            return child;
-        } else {
-            let children: Node[] = parent.children;
-            for (let i = 0; i < children.length; i++) {
-                child = this.findChild(name, children[i]);
-                if (child) {
-                    return child;
-                }
-            }
-        }
-        return null;
-    }
-
-    /**
-     * 处理万为单位
-     * @param num 数值
-     * @param point 保留小数点
-     * @param s 是否去掉无用的0
-     * @returns 
-     */
-    public static numUnit(num: number,point: number = 0,f: boolean = true): string {
-        let n: number = num;
-        let unit: number = 10000;
-        if (n > unit) {
-            if(point == 0){
-               n = Math.ceil(n / unit);
-               return n.toString() + "万";
-            }else{
-                let s: string = (n / unit).toFixed(point);
-                if(f){
-                   return this.removeZeros(s) + "万";
-                }else{
-                   return s + "万";
-                }
-            }
-        }else{
-            return Math.ceil(num).toString();
-        }
-    }
-
-    /**
-     * 格式化数字:
-     * * 如果小数部分全是 0(如 38.0 或 38.00),去掉小数部分,返回整数。
-     * 如果是小数(如 38.1 或 38.01),保留两位小数。
-     * @param num 输入的数字
-     * @returns 格式化后的数字
-     */
-    public static formatNumber(num: number): number | string {
-        // 如果 num 是 undefined 或 null,返回 0 或空字符串
-        if (num == undefined || num == null) return 0;
-        //将数字转换为字符串
-        const numStr = num.toString();
-        //判断小数部分是否全是 0 如果小数部分全是 0,去掉小数部分并返回整数
-        if (numStr.includes('.') && /\.0+$/.test(numStr)) {
-            return parseInt(numStr, 10);
-        } else {
-            //否则保留两位小数
-            const fixedNum = num.toFixed(2);
-            //如果小数部分全是 0,去掉小数部分
-            if(fixedNum.endsWith(".00")) {
-                return parseInt(fixedNum, 10);
-            }
-            return parseFloat(fixedNum);
-        }
-    }
-
-    /**
-     * 去掉小数点后无用的0
-     * @param numberString 字符串呢
-     * @returns 
-     */
-    public static removeZeros(numberString: string): string {
-        const trimmedString = numberString.trim(); // 去除首尾空格
-        const decimalIndex = trimmedString.indexOf('.');
-        if (decimalIndex !== -1) {
-          let endIndex = trimmedString.length - 1;
-          while (trimmedString[endIndex] === '0') {
-            endIndex--;
-          }
-          if (trimmedString[endIndex] === '.') {
-            endIndex--; // 如果小数点后面全是零,也去掉小数点
-          }
-          return trimmedString.slice(0, endIndex + 1);
-        }
-        return trimmedString;
-    }
-
-    /**
-     * 数组移除某一个元素
-     */
-    public static remove(arr,p){
-        let index = arr.indexOf(p)
-        if (index > -1) {
-            arr.splice(index, 1)
-        }
-    }
-
-    /**
-     * 16进制的颜色
-     * @param hexColor 
-     * @returns 
-     */
-    public static hexColor(hexColor) {
-        const hex = hexColor.replace(/^#?/, "0x");
-        const c = parseInt(hex);
-        const r = c >> 16;
-        const g = (65280 & c) >> 8;
-        const b = 255 & c;
-        return new Color(r, g, b, 255);
-    };
-
-    /**
-     * 计算两点间的距离
-     */
-    public static pDistance(localPos: Vec3,tarPos: Vec3): number {
-        let dx = localPos.x - tarPos.x;
-        let dy = localPos.y - tarPos.y;
-        let dis = Math.sqrt(dx * dx + dy * dy);
-        return dis;
-    }
-    
-    /**
-     * 计算两点之间的绝对距离
-     */
-    public static pAbsDistance(a: Vec3,b: Vec3): number {
-        let p: number = Math.abs(a.x - b.x);
-        let k: number = Math.abs(a.y - b.y);
-        return p + k;
-    }
-
-    /**
-     * 角度转向量 
-     * @param angle 
-     * @returns 
-     */  
-    public static angle_to_vector (angle: number): Vec2 {
-        // tan = sin / cos 将传入的角度转为弧度
-        let radian = this.angle_to_radian(angle);
-        // 算出cos,sin和tan
-        let cos = Math.cos(radian);// 邻边 / 斜边
-        let sin = Math.sin(radian);// 对边 / 斜边
-        let tan = sin / cos;// 对边 / 邻边
-        //结合在一起并归一化
-        let vec = new Vec2(cos, sin).normalize();
-        //返回向量
-        return(vec);
-    }
-
-    /**
-     * 向量转角度
-     * @param vector 
-     * @returns 
-     */
-    public static vector_to_angle (vector: Vec2): number {
-        //将传入的向量归一化
-        let dir = vector.normalize();
-        //计算出目标角度的弧度
-        let radian = dir.signAngle(new Vec2(1, 0));
-        //把弧度计算成角度
-        let angle = -this.radian_to_angle(radian);
-        //返回角度
-        return(angle);
-    }   
-
-    /**
-     * 角度转弧度
-     * @param angle 
-     * @returns 
-     */
-    public static angle_to_radian (angle: number): number {
-        //角度转弧度公式 π / 180 * 角度 计算出弧度
-        let radian = Math.PI / 180 * angle;
-        //返回弧度
-        return(radian);
-    }
-
-    /**
-     * 弧度转角度
-     * @param radian 
-     * @returns 
-     */
-    public static radian_to_angle (radian: number): number {
-        //弧度转角度公式 180 / π * 弧度 计算出角度
-        let angle = 180 / Math.PI * radian;
-        //返回角度
-        return(angle);
-    }
-
-
-    /**
-     * 计算弧度
-     * @param start 
-     * @param end 
-     */
-    public static getAngle(start: Vec3, end: Vec3) {
-        //两点的x、y值
-        var x = end.x - start.x;
-        var y = end.y - start.y;
-        var hypotenuse = Math.sqrt(x * x + y * y);
-        //斜边长度
-        var cos = x / hypotenuse;
-        var radian = Math.acos(cos);
-        //求出弧度
-        var angle = 180 / (Math.PI / radian);
-        //用弧度算出角度
-        if (y < 0) {
-           angle = 0 - angle;
-        }else if (y == 0 && x < 0) {
-           angle = 180;
-        }
-        return angle;
-    }
-
-    /**
-     * 扣血转化成字符串
-     * @param number 
-     * @returns 
-     */
-    public static numberToString(number:number) {
-        let str = '';
-        let data = [
-            { minnum: 1000000000,maxnum:9999999999, toStr: 'o' },
-            { minnum: 100000000,maxnum:999999999, toStr: 'p' },
-            { minnum: 10000000,maxnum:99999999, toStr: 't' },
-            { minnum: 1000000,maxnum:9999999, toStr: 'g' },
-            { minnum: 100000,maxnum:999999, toStr: 'm' },
-            { minnum: 10000,maxnum:99999, toStr: 'b' },
-            { minnum: 1000,maxnum:9999, toStr: 'K' }
-        ];
-        for (let i: number = 0; i < data.length; i++) {
-            if (number >= data[i].minnum && number <=  data[i].maxnum ) {
-                number /= data[i].minnum;
-                let m: string = number.toFixed(1);
-                str = m + data[i].toStr;
-                return str;
-            }
-        }
-        return number.toFixed(0);
-    }
-
-    /**
-     * 将某个节点下的坐标转移到另外一个节点
-     * @param fromNode 坐标所在的节点
-     * @param toNode 目标节点
-     * @returns 转换后的坐标值
-     */
-    public static convertPosition(fromNode: Node, toNode: Node): Vec3 {
-        let pos: Vec3 = fromNode.position.clone();
-        // 将 pos 转为世界坐标系下的坐标
-        const worldPos: Vec3 = fromNode.parent.getComponent(UITransform).convertToWorldSpaceAR(pos);
-        // 将世界坐标系下的坐标转为目标节点的局部坐标系下的坐标
-        const localPos: Vec3 = toNode.getComponent(UITransform).convertToNodeSpaceAR(worldPos);
-        return localPos;
-    }
-
-    /**
-     * 以敌人的中心点 攻击范围为半径 产生随机坐标
-     * @param center 中心点
-     * @param radius 半径
-     * @returns 
-     */
-    public static randomPointGenerator(center: Vec3,radius: number){
-        //随机角度
-        let angle = Math.random() * Math.PI * 2;
-        //随机距离
-        let distance = Math.sqrt(Math.random()) * radius;
-        //根据极坐标转换成笛卡尔坐标
-        const x = center.x + distance * Math.cos(angle);
-        const y = center.y + distance * Math.sin(angle);
-        return new Vec3(x,y,1);
-    }
-
-    /**
-     * 将某个节点上的坐标转移到另外一个节点
-     * @param fromNode 坐标所在的节点
-     * @param toNode 目标节点
-     * @returns 转换后的坐标值
-     */
-    public static convertPositionPos(fromNode: Node,pos: Vec3, toNode: Node): Vec3 {
-        let nPos: Vec3 = pos.clone();
-        // 将 pos 转为世界坐标系下的坐标
-        const worldPos: Vec3 = fromNode.parent.getComponent(UITransform).convertToWorldSpaceAR(nPos);
-        // 将世界坐标系下的坐标转为目标节点的局部坐标系下的坐标
-        const localPos: Vec3 = toNode.getComponent(UITransform).convertToNodeSpaceAR(worldPos);
-        return localPos;
-    }
-
-    
-    /**
-     * 根据A,B两个坐标点 和抛物线的弧度 来计算中心点坐标
-     */
-    public static calculateParabolaCenter(start: Vec3, end: Vec3){
-        // 计算两点之间的水平距离
-        const deltaX = end.x - start.x;
-        // 将控制点的 x 坐标设置为两点的中点
-        const controlX = (start.x + end.x) / 2;
-        // 计算抛物线的最高点,使其位于两点之间的中间位置 可以根据需要调整最高点的位置
-        const highestY = Math.max(start.y, end.y) + Math.abs(deltaX) / 4; 
-        // 计算控制点的 y 坐标
-        const controlY = highestY;
-       //返回抛物线的中心坐标点
-       return new Vec3(controlX, controlY);
-    }
-
-    /**
-     * 生成一个随机颜色值的函数
-     */
-    public static getRandomColor() {
-        let r = Math.floor(Math.random() * 256);
-        let g = Math.floor(Math.random() * 256);
-        let b = Math.floor(Math.random() * 256);
-        return new Color(r, g, b);
-    }
-
-    /**
-     * 获取是否为16:9的常规屏幕尺寸
-     */
-    public static isNormalScreen(): boolean {
-        return  screen.windowSize.height /screen.windowSize.width < 1335 / 750;
-    }
-}

+ 0 - 19
assets/item.meta

@@ -1,19 +0,0 @@
-{
-  "ver": "1.1.0",
-  "importer": "directory",
-  "imported": true,
-  "uuid": "04ca4801-0743-46c7-befd-44b62d7c2404",
-  "files": [],
-  "subMetas": {},
-  "userData": {
-    "compressionType": {
-      "wechatgame": "subpackage",
-      "web-desktop": "none"
-    },
-    "isRemoteBundle": {
-      "wechatgame": false
-    },
-    "bundleName": "item_bundle",
-    "isBundle": true
-  }
-}

+ 0 - 1
assets/item/C.prefab.meta

@@ -1 +0,0 @@
-{"ver":"1.1.43","importer":"prefab","imported":true,"uuid":"68f00289-71c9-4af3-a562-41f403c43ea8","files":[".json"],"subMetas":{},"userData":{"syncNodeName":"C"}}

+ 0 - 1
assets/item/Coin.prefab.meta

@@ -1 +0,0 @@
-{"ver":"1.1.43","importer":"prefab","imported":true,"uuid":"bf6a84f5-7abe-4002-8a54-f6a73f9054ef","files":[".json"],"subMetas":{},"userData":{"syncNodeName":"Coin"}}

+ 0 - 1
assets/item/Crown.prefab.meta

@@ -1 +0,0 @@
-{"ver":"1.1.43","importer":"prefab","imported":true,"uuid":"eec620d0-89a8-4bdb-918b-f63a1775f7ec","files":[".json"],"subMetas":{},"userData":{"syncNodeName":"Crown"}}

+ 0 - 1
assets/item/Cube.prefab.meta

@@ -1 +0,0 @@
-{"ver":"1.1.43","importer":"prefab","imported":true,"uuid":"ef729936-d7bf-420d-8d0f-4bb4d349ee7e","files":[".json"],"subMetas":{},"userData":{"syncNodeName":"Cube"}}

+ 0 - 1
assets/item/Dice.prefab.meta

@@ -1 +0,0 @@
-{"ver":"1.1.43","importer":"prefab","imported":true,"uuid":"dcaa66e9-c864-477b-b5c3-10be49767db1","files":[".json"],"subMetas":{},"userData":{"syncNodeName":"Dice"}}

+ 0 - 1
assets/item/Hammer.prefab.meta

@@ -1 +0,0 @@
-{"ver":"1.1.43","importer":"prefab","imported":true,"uuid":"1240c3db-70ad-4fc2-87db-f80df0af5710","files":[".json"],"subMetas":{},"userData":{"syncNodeName":"Hammer"}}

+ 0 - 1
assets/item/L.prefab.meta

@@ -1 +0,0 @@
-{"ver":"1.1.43","importer":"prefab","imported":true,"uuid":"4dedf2dd-f2bf-4d21-b544-71817f655082","files":[".json"],"subMetas":{},"userData":{"syncNodeName":"L"}}

+ 0 - 1
assets/item/LEGO01.prefab.meta

@@ -1 +0,0 @@
-{"ver":"1.1.43","importer":"prefab","imported":true,"uuid":"d3e18909-f042-429b-87da-3755efaeba11","files":[".json"],"subMetas":{},"userData":{"syncNodeName":"LEGO01"}}

+ 0 - 1
assets/item/LEGO02.prefab.meta

@@ -1 +0,0 @@
-{"ver":"1.1.43","importer":"prefab","imported":true,"uuid":"259b8534-2924-4d16-84ac-68c3a335cfc5","files":[".json"],"subMetas":{},"userData":{"syncNodeName":"LEGO02"}}

+ 0 - 1
assets/item/MIC.prefab.meta

@@ -1 +0,0 @@
-{"ver":"1.1.43","importer":"prefab","imported":true,"uuid":"7cbb177e-d7ed-4f99-bf84-934aa9ccf4e8","files":[".json"],"subMetas":{},"userData":{"syncNodeName":"MIC"}}

+ 0 - 1
assets/item/Magnet.prefab.meta

@@ -1 +0,0 @@
-{"ver":"1.1.43","importer":"prefab","imported":true,"uuid":"51d5327f-6457-4127-ab8b-b84f7605764a","files":[".json"],"subMetas":{},"userData":{"syncNodeName":"Magnet"}}

+ 0 - 1
assets/item/MarkBox.prefab.meta

@@ -1 +0,0 @@
-{"ver":"1.1.43","importer":"prefab","imported":true,"uuid":"190b306b-e562-4af8-8f62-419bad88aaf0","files":[".json"],"subMetas":{},"userData":{"syncNodeName":"MarkBox"}}

+ 0 - 1
assets/item/Music01.prefab.meta

@@ -1 +0,0 @@
-{"ver":"1.1.43","importer":"prefab","imported":true,"uuid":"3566c950-b524-46ab-9f86-338deea73a90","files":[".json"],"subMetas":{},"userData":{"syncNodeName":"Music01"}}

+ 0 - 1
assets/item/Music02.prefab.meta

@@ -1 +0,0 @@
-{"ver":"1.1.43","importer":"prefab","imported":true,"uuid":"c8e47ea5-8b4a-4cd2-80b0-e69317b105ee","files":[".json"],"subMetas":{},"userData":{"syncNodeName":"Music02"}}

+ 0 - 1
assets/item/NumOne.prefab.meta

@@ -1 +0,0 @@
-{"ver":"1.1.43","importer":"prefab","imported":true,"uuid":"951dbe9f-c7b9-4c96-b2d9-84d5a4299685","files":[".json"],"subMetas":{},"userData":{"syncNodeName":"NumOne"}}

+ 0 - 1
assets/item/Piece01.prefab.meta

@@ -1 +0,0 @@
-{"ver":"1.1.43","importer":"prefab","imported":true,"uuid":"ef07db5b-97dc-4bd6-8bef-5bcf1b67ec51","files":[".json"],"subMetas":{},"userData":{"syncNodeName":"Piece01"}}

+ 0 - 1
assets/item/Piece02.prefab.meta

@@ -1 +0,0 @@
-{"ver":"1.1.43","importer":"prefab","imported":true,"uuid":"f015b048-a197-4934-aa0e-668c1b6df0e5","files":[".json"],"subMetas":{},"userData":{"syncNodeName":"Piece02"}}

+ 0 - 1
assets/item/T.prefab.meta

@@ -1 +0,0 @@
-{"ver":"1.1.43","importer":"prefab","imported":true,"uuid":"4ee5672f-9e08-41ec-9f9d-330f74382935","files":[".json"],"subMetas":{},"userData":{"syncNodeName":"T"}}

+ 0 - 1
assets/item/Top.prefab.meta

@@ -1 +0,0 @@
-{"ver":"1.1.43","importer":"prefab","imported":true,"uuid":"073779cc-153b-49fb-bacd-73f21d72394d","files":[".json"],"subMetas":{},"userData":{"syncNodeName":"Top"}}

+ 0 - 1
assets/item/ball.prefab.meta

@@ -1 +0,0 @@
-{"ver":"1.1.43","importer":"prefab","imported":true,"uuid":"57b9af2e-5897-4f14-bfb7-66f0b279a66f","files":[".json"],"subMetas":{},"userData":{"syncNodeName":"ball"}}

+ 0 - 1
assets/item/duck.prefab.meta

@@ -1 +0,0 @@
-{"ver":"1.1.43","importer":"prefab","imported":true,"uuid":"22ee6eff-3a1e-4e51-8690-23b343d4e3bd","files":[".json"],"subMetas":{},"userData":{"syncNodeName":"duck"}}

+ 0 - 1
assets/item/yoyo.prefab.meta

@@ -1 +0,0 @@
-{"ver":"1.1.43","importer":"prefab","imported":true,"uuid":"78e52c65-1a8b-4b87-b53c-db5899b8b093","files":[".json"],"subMetas":{},"userData":{"syncNodeName":"yoyo"}}

+ 0 - 12
assets/manager.meta

@@ -1,12 +0,0 @@
-{
-  "ver": "1.1.0",
-  "importer": "directory",
-  "imported": true,
-  "uuid": "a1e30545-69cf-4c41-9ca6-e284dc7ebaa5",
-  "files": [],
-  "subMetas": {},
-  "userData": {
-    "compressionType": {},
-    "isRemoteBundle": {}
-  }
-}

+ 0 - 59
assets/manager/autoBind.ts

@@ -1,59 +0,0 @@
-import { Component } from "cc";
-
-const autoBindMap = new WeakMap<any, { [key: string]: { type?: any } }>();
-
-/**
- * 自动绑定与变量同名的子节点。
- * 装饰器不传参数(组件)则绑定节点,传了组件则绑定节点上的组件。
- * 如果传了组件,则传入的组件一定要和变量类型一致,否则绑定会失败。
- * 记得在组件的onLoad函数调用initAutoBindings(this)
- */
-export function auto(target: any, propertyKey: string): void;
-export function auto<T extends Component>(componentType: { new(): T }): (target: any, propertyKey: string) => void;
-export function auto<T extends Component>(componentTypeOrTarget?: { new(): T } | any, propertyKey?: string) {
-    if (typeof componentTypeOrTarget === 'function') {
-        return function (target: any, propertyKey: string) {
-            if (!autoBindMap.has(target)) {
-                autoBindMap.set(target, {});
-            }
-            autoBindMap.get(target)![propertyKey] = { type: componentTypeOrTarget };
-        };
-    } else {
-        const target = componentTypeOrTarget;
-        if (!autoBindMap.has(target)) {
-            autoBindMap.set(target, {});
-        }
-        autoBindMap.get(target)![propertyKey!] = {};
-    }
-}
-
-function buildNodeNameMap(node: any, nameMap: Map<string, any>) {
-    nameMap.set(node.name, node);
-    for (const child of node.children) {
-        buildNodeNameMap(child, nameMap);
-    }
-}
-
-/**
- * 在onLoad中调用这个函数然后才会自动绑定。initAutoBindings(this)。 
- */
-export function initAutoBindings(instance: any) {
-    const bindings = autoBindMap.get(Object.getPrototypeOf(instance));
-    if (bindings) {
-        const nameMap = new Map<string, any>();
-        buildNodeNameMap(instance.node, nameMap);
-        for (const propertyKey in bindings) {
-            const binding = bindings[propertyKey];
-            const node = nameMap.get(propertyKey);
-            if (node) {
-                if (binding.type) {
-                    instance[propertyKey] = node.getComponent(binding.type);
-                } else {
-                    instance[propertyKey] = node;
-                }
-            } else {
-                console.warn(`Node not found for propertyKey: ${propertyKey}`);
-            }
-        }
-    }
-}

+ 0 - 9
assets/manager/autoBind.ts.meta

@@ -1,9 +0,0 @@
-{
-  "ver": "4.0.23",
-  "importer": "typescript",
-  "imported": true,
-  "uuid": "7b23497b-43a1-4d66-8157-558f615e4792",
-  "files": [],
-  "subMetas": {},
-  "userData": {}
-}

+ 0 - 9
assets/manager/csvManager.ts.meta

@@ -1,9 +0,0 @@
-{
-  "ver": "4.0.23",
-  "importer": "typescript",
-  "imported": true,
-  "uuid": "90fda3f2-ed31-4f01-af3b-1e6c97177606",
-  "files": [],
-  "subMetas": {},
-  "userData": {}
-}

+ 0 - 49
assets/manager/eventEmitter.ts

@@ -1,49 +0,0 @@
-import { _decorator, Component, Node } from "cc";
-const { ccclass, property } = _decorator;
-
-interface IEventData {
-    func: Function;
-    target: any;
-}
-
-interface IEvent {
-    [eventName: string]: IEventData[];
-}
-
-@ccclass("eventEmitter")
-export class eventEmitter extends Component {
-    public static handle: IEvent = {};
-
-    public static on(eventName: string, cb:Function, target?: any){
-        if(!this.handle[eventName]){
-            this.handle[eventName] = [];
-        }
-        const data: IEventData = { func: cb, target };
-        this.handle[eventName].push(data);
-    }
-
-    public static off(eventName: string, cb: Function, target?: any){
-        const list = this.handle[eventName];
-        if(!list || list.length <=0){
-            return;
-        }
-        for (let i = 0; i < list.length; i++) {
-            const event = list[i];
-            if(event.func === cb && (!target || target === event.target)){
-                list.splice(i, 1);
-                break;
-            }
-        }
-    }
-
-    public static emit (eventName: string, ...args:any){
-        const list = this.handle[eventName];
-        if (!list || list.length <= 0) {
-            return;
-        }
-        for (let i = 0; i < list.length; i++) {
-            const event = list[i];
-            event.func.apply(event.target, args);
-        }
-    }
-}

+ 0 - 9
assets/manager/eventEmitter.ts.meta

@@ -1,9 +0,0 @@
-{
-  "ver": "4.0.23",
-  "importer": "typescript",
-  "imported": true,
-  "uuid": "d4352404-f856-42e9-a8b3-794a4d24a74a",
-  "files": [],
-  "subMetas": {},
-  "userData": {}
-}

+ 0 - 145
assets/manager/localConfig.ts

@@ -1,145 +0,0 @@
-import {Asset, AssetManager, TextAsset, _decorator, assetManager } from "cc";
-import { csvManager } from "./csvManager";
-
-const { ccclass, property } = _decorator;
-
-@ccclass("localConfig")
-export class localConfig {
-    /* class member could be defined like this */
-    private static _instance: localConfig;
-    private _csvManager: csvManager = new csvManager();
-
-    static get instance () {
-        if (!this._instance) {
-            this._instance = new localConfig();
-        }
-        return this._instance;
-    }
-
-    private _callback: Function = new Function();
-    private _currentLoad: number = 0;
-    private _cntLoad: number = 0;
-
-    /**
-     * 加载配置文件
-     * @param {Function}cb 回调函数 
-     */
-    public loadConfig (cb: Function) {
-        this._callback = cb;
-        this._loadCSV();
-    }
-
-    private _loadCSV () {
-        //新增数据表 请往该数组中添加....
-        assetManager.loadBundle('csb', (err: Error | null, bundle: AssetManager.Bundle) => {
-            if (err) {
-                console.error('Failed to load bundle:', err);
-                return;
-            }
-            //获取bundle内所有资源(新API用法)
-            const assets = bundle.getDirWithPath('');
-            //过滤掉.md文件
-            const arrCsvFiles = assets.filter((item: any) => {
-                return !item.path.endsWith('.md');
-            });
-            this._cntLoad = arrCsvFiles.length;
-            if (arrCsvFiles.length === 0) {
-                this._tryToCallbackOnFinished();
-                return;
-            }
-            //加载每个CSV文件
-            arrCsvFiles.forEach((item: any) => {
-                bundle.load(item.path, (err: Error | null, content: TextAsset) => {
-                    if (err) {
-                        console.error(`Failed to load ${item.name}:`, err);
-                        return;
-                    }
-                    const text = content.text;
-                    this._csvManager.addTable(item.path, text);
-                    this._tryToCallbackOnFinished();
-                });
-            });
-        });     
-    }
-
-    /**
-     * 查询一条表内容
-     * @param {string} tableName 表名
-     * @param {string} key 列名
-     * @param {any} value 值
-     * @returns {Object} 一条表内容
-     */
-    queryOne (tableName: string, key: string, value: any) {
-        return this._csvManager.queryOne(tableName, key, value);
-    }
-
-    /**
-     * 根据ID查询一条表内容
-     * @param {string}tableName 表名
-     * @param {string}ID
-     * @returns {Object} 一条表内容
-     */
-    queryByID (tableName: string, ID: string) {
-        return this._csvManager.queryByID(tableName, ID);
-    }
-
-    /**
-     * 根据表名获取表的所有内容
-     * @param {string} tableName  表名
-     * @returns {object} 表内容
-     */
-    getTable (tableName: string) {
-        return this._csvManager.getTable(tableName);
-    }
-
-    /**
-     * 根据表名获取表的所有内容
-     * @param {string} tableName  表名
-     * @returns {object} 表内容
-     */
-    getTableArr (tableName: string) {
-        return this._csvManager.getTableArr(tableName);
-    }
-
-    /**
-     * 查询key和value对应的所有行内容
-     * @param {string} tableName 表名
-     * @param {string} key 列名
-     * @param {any} value 值
-     * @returns {Object}
-     */
-    queryAll (tableName: string, key: string, value: any) {
-        return this._csvManager.queryAll(tableName, key, value);
-    }
-
-    // 
-    /**
-     * 选出指定表里所有 key 的值在 values 数组中的数据,返回 Object,key 为 ID
-     * @param {string} tableName 表名
-     * @param {string} key  列名
-     * @param {Array}values 数值
-     * @returns 
-     */
-    queryIn (tableName: string, key: string, values: any[]) {
-        return this._csvManager.queryIn(tableName, key, values);
-    }
-
-    /**
-     * 选出符合条件的数据。condition key 为表格的key,value 为值的数组。返回的object,key 为数据在表格的ID,value为具体数据
-     * @param {string} tableName 表名
-     * @param {any} condition 筛选条件
-     * @returns 
-     */
-    queryByCondition (tableName: string, condition: any) {
-        return this._csvManager.queryByCondition(tableName, condition);
-    }
-
-    private _tryToCallbackOnFinished () {
-        if (this._callback) {
-            this._currentLoad++;
-            if (this._currentLoad >= this._cntLoad) {
-                this._callback();
-            }
-        }
-    }
-}

+ 0 - 9
assets/manager/localConfig.ts.meta

@@ -1,9 +0,0 @@
-{
-  "ver": "4.0.23",
-  "importer": "typescript",
-  "imported": true,
-  "uuid": "e3aec475-776d-4385-8b80-fab04504e6ee",
-  "files": [],
-  "subMetas": {},
-  "userData": {}
-}

+ 0 - 9
assets/manager/stateManager.ts.meta

@@ -1,9 +0,0 @@
-{
-  "ver": "4.0.23",
-  "importer": "typescript",
-  "imported": true,
-  "uuid": "f022b108-eeec-4402-9d2d-564bb737ea2d",
-  "files": [],
-  "subMetas": {},
-  "userData": {}
-}

+ 1 - 1
assets/materials.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.1.0",
+  "ver": "1.2.0",
   "importer": "directory",
   "imported": true,
   "uuid": "16e8c2cb-481d-4e44-8b35-c4d24060a80e",

+ 1 - 1
assets/materials/black.mtl.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.0.19",
+  "ver": "1.0.21",
   "importer": "material",
   "imported": true,
   "uuid": "249bdabd-103e-4c0d-b012-c6794ddc6f3e",

+ 1 - 1
assets/materials/default-001.mtl.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.0.19",
+  "ver": "1.0.21",
   "importer": "material",
   "imported": true,
   "uuid": "f9b8a2f8-1872-4ea3-a538-a944a29bf6db",

+ 1 - 1
assets/materials/default.mtl.meta

@@ -1,5 +1,5 @@
 {
-  "ver": "1.0.19",
+  "ver": "1.0.21",
   "importer": "material",
   "imported": true,
   "uuid": "23b627e4-0a47-4816-b0d2-8a91381986e6",

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