Quellcode durchsuchen

添加赛季通行证页面

kob vor 4 Tagen
Ursprung
Commit
bb489ad081
81 geänderte Dateien mit 8391 neuen und 466 gelöschten Zeilen
  1. BIN
      assets/lobbyRes/textures/seasonPass/prize/icon_gc.png
  2. 20 20
      assets/lobbyRes/textures/seasonPass/prize/icon_gc.png.meta
  3. BIN
      assets/lobbyRes/textures/seasonPass/prize/icon_sc.png
  4. 20 20
      assets/lobbyRes/textures/seasonPass/prize/icon_sc.png.meta
  5. BIN
      assets/lobbyRes/textures/seasonPass/prize/img_dlx_bg.png
  6. 26 26
      assets/lobbyRes/textures/seasonPass/prize/img_dlx_bg.png.meta
  7. BIN
      assets/lobbyRes/textures/seasonPass/prize/img_dlx_bg_9.png
  8. 134 0
      assets/lobbyRes/textures/seasonPass/prize/img_dlx_bg_9.png.meta
  9. BIN
      assets/lobbyRes/textures/seasonPass/prize/img_free_bg.png
  10. 26 26
      assets/lobbyRes/textures/seasonPass/prize/img_free_bg.png.meta
  11. BIN
      assets/lobbyRes/textures/seasonPass/prize/img_free_bg_9.png
  12. 134 0
      assets/lobbyRes/textures/seasonPass/prize/img_free_bg_9.png.meta
  13. 9 0
      assets/lobbyRes/textures/seasonPass/tasks/detailIcon.meta
  14. 0 0
      assets/lobbyRes/textures/seasonPass/tasks/detailIcon/icon_check.png
  15. 0 0
      assets/lobbyRes/textures/seasonPass/tasks/detailIcon/icon_check.png.meta
  16. 0 0
      assets/lobbyRes/textures/seasonPass/tasks/detailIcon/icon_game.png
  17. 0 0
      assets/lobbyRes/textures/seasonPass/tasks/detailIcon/icon_game.png.meta
  18. 0 0
      assets/lobbyRes/textures/seasonPass/tasks/detailIcon/icon_sc.png
  19. 0 0
      assets/lobbyRes/textures/seasonPass/tasks/detailIcon/icon_sc.png.meta
  20. 0 0
      assets/lobbyRes/textures/seasonPass/tasks/detailIcon/icon_time.png
  21. 0 0
      assets/lobbyRes/textures/seasonPass/tasks/detailIcon/icon_time.png.meta
  22. 0 0
      assets/lobbyRes/textures/seasonPass/tasks/detailIcon/icon_win.png
  23. 0 0
      assets/lobbyRes/textures/seasonPass/tasks/detailIcon/icon_win.png.meta
  24. BIN
      assets/lobbyRes/textures/seasonPass/tasks/icon_bg.png
  25. 134 0
      assets/lobbyRes/textures/seasonPass/tasks/icon_bg.png.meta
  26. 0 0
      assets/lobbyRes/textures/seasonPass/tasks/tasks_bg_claim_daily.png
  27. 4 4
      assets/lobbyRes/textures/seasonPass/tasks/tasks_bg_claim_daily.png.meta
  28. 0 0
      assets/lobbyRes/textures/seasonPass/tasks/tasks_bg_claim_seasonal.png
  29. 4 4
      assets/lobbyRes/textures/seasonPass/tasks/tasks_bg_claim_seasonal.png.meta
  30. 0 0
      assets/lobbyRes/textures/seasonPass/tasks/tasks_bg_claimed_daily.png
  31. 4 4
      assets/lobbyRes/textures/seasonPass/tasks/tasks_bg_claimed_daily.png.meta
  32. 0 0
      assets/lobbyRes/textures/seasonPass/tasks/tasks_bg_claimed_seasonal.png
  33. 4 4
      assets/lobbyRes/textures/seasonPass/tasks/tasks_bg_claimed_seasonal.png.meta
  34. 2 2
      assets/lobbyRes/textures/seasonPass/tasks/tasks_schedule_bg.png.meta
  35. 2 2
      assets/lobbyRes/textures/seasonPass/tasks/tasks_schedule_bg01_9.png.meta
  36. 2 2
      assets/lobbyRes/textures/seasonPass/tasks/tasks_schedule_bg_9.png.meta
  37. 6 9
      assets/lobbyRes/ui/home/HomeView.prefab
  38. 4 3
      assets/lobbyRes/ui/reward/RewardView.prefab
  39. 12 9
      assets/lobbyRes/ui/seasonPass/SeasonPassPurchase.prefab
  40. 329 246
      assets/lobbyRes/ui/seasonPass/SeasonPassView.prefab
  41. 9 0
      assets/lobbyRes/ui/seasonPass/prize.meta
  42. 1993 0
      assets/lobbyRes/ui/seasonPass/prize/NodeItem.prefab
  43. 13 0
      assets/lobbyRes/ui/seasonPass/prize/NodeItem.prefab.meta
  44. 490 0
      assets/lobbyRes/ui/seasonPass/prize/prop_gc.prefab
  45. 13 0
      assets/lobbyRes/ui/seasonPass/prize/prop_gc.prefab.meta
  46. 490 0
      assets/lobbyRes/ui/seasonPass/prize/prop_sc.prefab
  47. 13 0
      assets/lobbyRes/ui/seasonPass/prize/prop_sc.prefab.meta
  48. 9 0
      assets/lobbyRes/ui/seasonPass/tasks.meta
  49. 2008 0
      assets/lobbyRes/ui/seasonPass/tasks/RewardItem.prefab
  50. 13 0
      assets/lobbyRes/ui/seasonPass/tasks/RewardItem.prefab.meta
  51. 493 0
      assets/lobbyRes/ui/seasonPass/tasks/prop_gc.prefab
  52. 13 0
      assets/lobbyRes/ui/seasonPass/tasks/prop_gc.prefab.meta
  53. 493 0
      assets/lobbyRes/ui/seasonPass/tasks/prop_pass_xp.prefab
  54. 13 0
      assets/lobbyRes/ui/seasonPass/tasks/prop_pass_xp.prefab.meta
  55. 493 0
      assets/lobbyRes/ui/seasonPass/tasks/prop_sc.prefab
  56. 13 0
      assets/lobbyRes/ui/seasonPass/tasks/prop_sc.prefab.meta
  57. 6 0
      assets/scripts/api/LobbyApi.ts
  58. 1 0
      assets/scripts/app/AppEvents.ts
  59. 9 7
      assets/scripts/define/UIDefine.ts
  60. 4 2
      assets/scripts/framework/ui/UIPopup.ts
  61. 1 1
      assets/scripts/framework/ui/UIView.ts
  62. 5 2
      assets/scripts/modules/lobby/ui/CheckInView/CheckInView.ts
  63. 6 1
      assets/scripts/modules/lobby/ui/HomeView/HomeView.ts
  64. 4 2
      assets/scripts/modules/lobby/ui/LoginView/LoginView.ts
  65. 4 7
      assets/scripts/modules/lobby/ui/Mail/Mail.ts
  66. 5 1
      assets/scripts/modules/lobby/ui/RewardView/RewardView.ts
  67. 9 0
      assets/scripts/modules/lobby/ui/SeasonPassView/Prize.meta
  68. 197 0
      assets/scripts/modules/lobby/ui/SeasonPassView/Prize/NodeItem.ts
  69. 1 0
      assets/scripts/modules/lobby/ui/SeasonPassView/Prize/NodeItem.ts.meta
  70. 30 33
      assets/scripts/modules/lobby/ui/SeasonPassView/SeasonPassPurchase.ts
  71. 408 21
      assets/scripts/modules/lobby/ui/SeasonPassView/SeasonPassView.ts
  72. 9 0
      assets/scripts/modules/lobby/ui/SeasonPassView/Tasks.meta
  73. 172 0
      assets/scripts/modules/lobby/ui/SeasonPassView/Tasks/RewardItem.ts
  74. 1 0
      assets/scripts/modules/lobby/ui/SeasonPassView/Tasks/RewardItem.ts.meta
  75. 5 8
      assets/scripts/modules/lobby/ui/UserInfoView/UserInfoView.ts
  76. 1 0
      assets/scripts/store/index.ts
  77. 1 0
      assets/scripts/store/seasonPassStore.meta
  78. 57 0
      assets/scripts/store/seasonPassStore/SeasonPassStore.ts
  79. 1 0
      assets/scripts/store/seasonPassStore/SeasonPassStore.ts.meta
  80. 8 0
      assets/scripts/store/seasonPassStore/data.ts
  81. 1 0
      assets/scripts/store/seasonPassStore/data.ts.meta

BIN
assets/lobbyRes/textures/seasonPass/prize/icon_gc.png


+ 20 - 20
assets/lobbyRes/textures/seasonPass/prize/icon_gc.png.meta

@@ -45,10 +45,10 @@
         "offsetY": 0,
         "trimX": 0,
         "trimY": 0,
-        "width": 80,
-        "height": 80,
-        "rawWidth": 80,
-        "rawHeight": 80,
+        "width": 39,
+        "height": 40,
+        "rawWidth": 39,
+        "rawHeight": 40,
         "borderTop": 0,
         "borderBottom": 0,
         "borderLeft": 0,
@@ -60,17 +60,17 @@
         "meshType": 0,
         "vertices": {
           "rawPosition": [
-            -40,
-            -40,
+            -19.5,
+            -20,
             0,
-            40,
-            -40,
+            19.5,
+            -20,
             0,
-            -40,
-            40,
+            -19.5,
+            20,
             0,
-            40,
-            40,
+            19.5,
+            20,
             0
           ],
           "indexes": [
@@ -83,12 +83,12 @@
           ],
           "uv": [
             0,
-            80,
-            80,
-            80,
+            40,
+            39,
+            40,
             0,
             0,
-            80,
+            39,
             0
           ],
           "nuv": [
@@ -102,13 +102,13 @@
             1
           ],
           "minPos": [
-            -40,
-            -40,
+            -19.5,
+            -20,
             0
           ],
           "maxPos": [
-            40,
-            40,
+            19.5,
+            20,
             0
           ]
         },

BIN
assets/lobbyRes/textures/seasonPass/prize/icon_sc.png


+ 20 - 20
assets/lobbyRes/textures/seasonPass/prize/icon_sc.png.meta

@@ -45,10 +45,10 @@
         "offsetY": 0,
         "trimX": 0,
         "trimY": 0,
-        "width": 77,
-        "height": 80,
-        "rawWidth": 77,
-        "rawHeight": 80,
+        "width": 39,
+        "height": 41,
+        "rawWidth": 39,
+        "rawHeight": 41,
         "borderTop": 0,
         "borderBottom": 0,
         "borderLeft": 0,
@@ -60,17 +60,17 @@
         "meshType": 0,
         "vertices": {
           "rawPosition": [
-            -38.5,
-            -40,
+            -19.5,
+            -20.5,
             0,
-            38.5,
-            -40,
+            19.5,
+            -20.5,
             0,
-            -38.5,
-            40,
+            -19.5,
+            20.5,
             0,
-            38.5,
-            40,
+            19.5,
+            20.5,
             0
           ],
           "indexes": [
@@ -83,12 +83,12 @@
           ],
           "uv": [
             0,
-            80,
-            77,
-            80,
+            41,
+            39,
+            41,
             0,
             0,
-            77,
+            39,
             0
           ],
           "nuv": [
@@ -102,13 +102,13 @@
             1
           ],
           "minPos": [
-            -38.5,
-            -40,
+            -19.5,
+            -20.5,
             0
           ],
           "maxPos": [
-            38.5,
-            40,
+            19.5,
+            20.5,
             0
           ]
         },

BIN
assets/lobbyRes/textures/seasonPass/prize/img_dlx_bg.png


+ 26 - 26
assets/lobbyRes/textures/seasonPass/prize/img_dlx_bg.png.meta

@@ -2,7 +2,7 @@
   "ver": "1.0.27",
   "importer": "image",
   "imported": true,
-  "uuid": "f205edae-33be-44e7-b7eb-6d695b4a9d94",
+  "uuid": "1ae127dd-bfcd-4e7f-9991-ee8a63d32e96",
   "files": [
     ".json",
     ".png"
@@ -10,7 +10,7 @@
   "subMetas": {
     "6c48a": {
       "importer": "texture",
-      "uuid": "f205edae-33be-44e7-b7eb-6d695b4a9d94@6c48a",
+      "uuid": "1ae127dd-bfcd-4e7f-9991-ee8a63d32e96@6c48a",
       "displayName": "img_dlx_bg",
       "id": "6c48a",
       "name": "texture",
@@ -22,7 +22,7 @@
         "mipfilter": "none",
         "anisotropy": 0,
         "isUuid": true,
-        "imageUuidOrDatabaseUri": "f205edae-33be-44e7-b7eb-6d695b4a9d94",
+        "imageUuidOrDatabaseUri": "1ae127dd-bfcd-4e7f-9991-ee8a63d32e96",
         "visible": false
       },
       "ver": "1.0.22",
@@ -34,7 +34,7 @@
     },
     "f9941": {
       "importer": "sprite-frame",
-      "uuid": "f205edae-33be-44e7-b7eb-6d695b4a9d94@f9941",
+      "uuid": "1ae127dd-bfcd-4e7f-9991-ee8a63d32e96@f9941",
       "displayName": "img_dlx_bg",
       "id": "f9941",
       "name": "spriteFrame",
@@ -45,10 +45,10 @@
         "offsetY": 0,
         "trimX": 0,
         "trimY": 0,
-        "width": 163,
-        "height": 176,
-        "rawWidth": 163,
-        "rawHeight": 176,
+        "width": 167,
+        "height": 182,
+        "rawWidth": 167,
+        "rawHeight": 182,
         "borderTop": 0,
         "borderBottom": 0,
         "borderLeft": 0,
@@ -60,17 +60,17 @@
         "meshType": 0,
         "vertices": {
           "rawPosition": [
-            -81.5,
-            -88,
+            -83.5,
+            -91,
             0,
-            81.5,
-            -88,
+            83.5,
+            -91,
             0,
-            -81.5,
-            88,
+            -83.5,
+            91,
             0,
-            81.5,
-            88,
+            83.5,
+            91,
             0
           ],
           "indexes": [
@@ -83,12 +83,12 @@
           ],
           "uv": [
             0,
-            176,
-            163,
-            176,
+            182,
+            167,
+            182,
             0,
             0,
-            163,
+            167,
             0
           ],
           "nuv": [
@@ -102,18 +102,18 @@
             1
           ],
           "minPos": [
-            -81.5,
-            -88,
+            -83.5,
+            -91,
             0
           ],
           "maxPos": [
-            81.5,
-            88,
+            83.5,
+            91,
             0
           ]
         },
         "isUuid": true,
-        "imageUuidOrDatabaseUri": "f205edae-33be-44e7-b7eb-6d695b4a9d94@6c48a",
+        "imageUuidOrDatabaseUri": "1ae127dd-bfcd-4e7f-9991-ee8a63d32e96@6c48a",
         "atlasUuid": "",
         "trimType": "auto"
       },
@@ -129,6 +129,6 @@
     "type": "sprite-frame",
     "fixAlphaTransparencyArtifacts": false,
     "hasAlpha": true,
-    "redirect": "f205edae-33be-44e7-b7eb-6d695b4a9d94@6c48a"
+    "redirect": "1ae127dd-bfcd-4e7f-9991-ee8a63d32e96@6c48a"
   }
 }

BIN
assets/lobbyRes/textures/seasonPass/prize/img_dlx_bg_9.png


+ 134 - 0
assets/lobbyRes/textures/seasonPass/prize/img_dlx_bg_9.png.meta

@@ -0,0 +1,134 @@
+{
+  "ver": "1.0.27",
+  "importer": "image",
+  "imported": true,
+  "uuid": "1869b0f4-d15d-47a2-a1e9-a9e7b0ff92d6",
+  "files": [
+    ".json",
+    ".png"
+  ],
+  "subMetas": {
+    "6c48a": {
+      "importer": "texture",
+      "uuid": "1869b0f4-d15d-47a2-a1e9-a9e7b0ff92d6@6c48a",
+      "displayName": "img_dlx_bg_9",
+      "id": "6c48a",
+      "name": "texture",
+      "userData": {
+        "wrapModeS": "clamp-to-edge",
+        "wrapModeT": "clamp-to-edge",
+        "minfilter": "linear",
+        "magfilter": "linear",
+        "mipfilter": "none",
+        "anisotropy": 0,
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "1869b0f4-d15d-47a2-a1e9-a9e7b0ff92d6",
+        "visible": false
+      },
+      "ver": "1.0.22",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    },
+    "f9941": {
+      "importer": "sprite-frame",
+      "uuid": "1869b0f4-d15d-47a2-a1e9-a9e7b0ff92d6@f9941",
+      "displayName": "img_dlx_bg_9",
+      "id": "f9941",
+      "name": "spriteFrame",
+      "userData": {
+        "trimThreshold": 1,
+        "rotated": false,
+        "offsetX": 0,
+        "offsetY": 0,
+        "trimX": 0,
+        "trimY": 0,
+        "width": 59,
+        "height": 59,
+        "rawWidth": 59,
+        "rawHeight": 59,
+        "borderTop": 24,
+        "borderBottom": 20,
+        "borderLeft": 19,
+        "borderRight": 21,
+        "packable": true,
+        "pixelsToUnit": 100,
+        "pivotX": 0.5,
+        "pivotY": 0.5,
+        "meshType": 0,
+        "vertices": {
+          "rawPosition": [
+            -29.5,
+            -29.5,
+            0,
+            29.5,
+            -29.5,
+            0,
+            -29.5,
+            29.5,
+            0,
+            29.5,
+            29.5,
+            0
+          ],
+          "indexes": [
+            0,
+            1,
+            2,
+            2,
+            1,
+            3
+          ],
+          "uv": [
+            0,
+            59,
+            59,
+            59,
+            0,
+            0,
+            59,
+            0
+          ],
+          "nuv": [
+            0,
+            0,
+            1,
+            0,
+            0,
+            1,
+            1,
+            1
+          ],
+          "minPos": [
+            -29.5,
+            -29.5,
+            0
+          ],
+          "maxPos": [
+            29.5,
+            29.5,
+            0
+          ]
+        },
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "1869b0f4-d15d-47a2-a1e9-a9e7b0ff92d6@6c48a",
+        "atlasUuid": "",
+        "trimType": "auto"
+      },
+      "ver": "1.0.12",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    }
+  },
+  "userData": {
+    "type": "sprite-frame",
+    "fixAlphaTransparencyArtifacts": false,
+    "hasAlpha": true,
+    "redirect": "1869b0f4-d15d-47a2-a1e9-a9e7b0ff92d6@6c48a"
+  }
+}

BIN
assets/lobbyRes/textures/seasonPass/prize/img_free_bg.png


+ 26 - 26
assets/lobbyRes/textures/seasonPass/prize/img_free_bg.png.meta

@@ -2,7 +2,7 @@
   "ver": "1.0.27",
   "importer": "image",
   "imported": true,
-  "uuid": "65385275-54d2-40aa-9de7-e7b7a155871c",
+  "uuid": "a2c12f4e-a9fc-4752-961f-f3b054a1cb6c",
   "files": [
     ".json",
     ".png"
@@ -10,7 +10,7 @@
   "subMetas": {
     "6c48a": {
       "importer": "texture",
-      "uuid": "65385275-54d2-40aa-9de7-e7b7a155871c@6c48a",
+      "uuid": "a2c12f4e-a9fc-4752-961f-f3b054a1cb6c@6c48a",
       "displayName": "img_free_bg",
       "id": "6c48a",
       "name": "texture",
@@ -22,7 +22,7 @@
         "mipfilter": "none",
         "anisotropy": 0,
         "isUuid": true,
-        "imageUuidOrDatabaseUri": "65385275-54d2-40aa-9de7-e7b7a155871c",
+        "imageUuidOrDatabaseUri": "a2c12f4e-a9fc-4752-961f-f3b054a1cb6c",
         "visible": false
       },
       "ver": "1.0.22",
@@ -34,7 +34,7 @@
     },
     "f9941": {
       "importer": "sprite-frame",
-      "uuid": "65385275-54d2-40aa-9de7-e7b7a155871c@f9941",
+      "uuid": "a2c12f4e-a9fc-4752-961f-f3b054a1cb6c@f9941",
       "displayName": "img_free_bg",
       "id": "f9941",
       "name": "spriteFrame",
@@ -45,10 +45,10 @@
         "offsetY": 0,
         "trimX": 0,
         "trimY": 0,
-        "width": 163,
-        "height": 176,
-        "rawWidth": 163,
-        "rawHeight": 176,
+        "width": 167,
+        "height": 182,
+        "rawWidth": 167,
+        "rawHeight": 182,
         "borderTop": 0,
         "borderBottom": 0,
         "borderLeft": 0,
@@ -60,17 +60,17 @@
         "meshType": 0,
         "vertices": {
           "rawPosition": [
-            -81.5,
-            -88,
+            -83.5,
+            -91,
             0,
-            81.5,
-            -88,
+            83.5,
+            -91,
             0,
-            -81.5,
-            88,
+            -83.5,
+            91,
             0,
-            81.5,
-            88,
+            83.5,
+            91,
             0
           ],
           "indexes": [
@@ -83,12 +83,12 @@
           ],
           "uv": [
             0,
-            176,
-            163,
-            176,
+            182,
+            167,
+            182,
             0,
             0,
-            163,
+            167,
             0
           ],
           "nuv": [
@@ -102,18 +102,18 @@
             1
           ],
           "minPos": [
-            -81.5,
-            -88,
+            -83.5,
+            -91,
             0
           ],
           "maxPos": [
-            81.5,
-            88,
+            83.5,
+            91,
             0
           ]
         },
         "isUuid": true,
-        "imageUuidOrDatabaseUri": "65385275-54d2-40aa-9de7-e7b7a155871c@6c48a",
+        "imageUuidOrDatabaseUri": "a2c12f4e-a9fc-4752-961f-f3b054a1cb6c@6c48a",
         "atlasUuid": "",
         "trimType": "auto"
       },
@@ -129,6 +129,6 @@
     "type": "sprite-frame",
     "fixAlphaTransparencyArtifacts": false,
     "hasAlpha": true,
-    "redirect": "65385275-54d2-40aa-9de7-e7b7a155871c@6c48a"
+    "redirect": "a2c12f4e-a9fc-4752-961f-f3b054a1cb6c@6c48a"
   }
 }

BIN
assets/lobbyRes/textures/seasonPass/prize/img_free_bg_9.png


+ 134 - 0
assets/lobbyRes/textures/seasonPass/prize/img_free_bg_9.png.meta

@@ -0,0 +1,134 @@
+{
+  "ver": "1.0.27",
+  "importer": "image",
+  "imported": true,
+  "uuid": "1d97668a-17ed-43d8-bb9a-f0f34afae95c",
+  "files": [
+    ".json",
+    ".png"
+  ],
+  "subMetas": {
+    "6c48a": {
+      "importer": "texture",
+      "uuid": "1d97668a-17ed-43d8-bb9a-f0f34afae95c@6c48a",
+      "displayName": "img_free_bg_9",
+      "id": "6c48a",
+      "name": "texture",
+      "userData": {
+        "wrapModeS": "clamp-to-edge",
+        "wrapModeT": "clamp-to-edge",
+        "minfilter": "linear",
+        "magfilter": "linear",
+        "mipfilter": "none",
+        "anisotropy": 0,
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "1d97668a-17ed-43d8-bb9a-f0f34afae95c",
+        "visible": false
+      },
+      "ver": "1.0.22",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    },
+    "f9941": {
+      "importer": "sprite-frame",
+      "uuid": "1d97668a-17ed-43d8-bb9a-f0f34afae95c@f9941",
+      "displayName": "img_free_bg_9",
+      "id": "f9941",
+      "name": "spriteFrame",
+      "userData": {
+        "trimThreshold": 1,
+        "rotated": false,
+        "offsetX": 0,
+        "offsetY": 0,
+        "trimX": 0,
+        "trimY": 0,
+        "width": 59,
+        "height": 59,
+        "rawWidth": 59,
+        "rawHeight": 59,
+        "borderTop": 24,
+        "borderBottom": 24,
+        "borderLeft": 20,
+        "borderRight": 19,
+        "packable": true,
+        "pixelsToUnit": 100,
+        "pivotX": 0.5,
+        "pivotY": 0.5,
+        "meshType": 0,
+        "vertices": {
+          "rawPosition": [
+            -29.5,
+            -29.5,
+            0,
+            29.5,
+            -29.5,
+            0,
+            -29.5,
+            29.5,
+            0,
+            29.5,
+            29.5,
+            0
+          ],
+          "indexes": [
+            0,
+            1,
+            2,
+            2,
+            1,
+            3
+          ],
+          "uv": [
+            0,
+            59,
+            59,
+            59,
+            0,
+            0,
+            59,
+            0
+          ],
+          "nuv": [
+            0,
+            0,
+            1,
+            0,
+            0,
+            1,
+            1,
+            1
+          ],
+          "minPos": [
+            -29.5,
+            -29.5,
+            0
+          ],
+          "maxPos": [
+            29.5,
+            29.5,
+            0
+          ]
+        },
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "1d97668a-17ed-43d8-bb9a-f0f34afae95c@6c48a",
+        "atlasUuid": "",
+        "trimType": "auto"
+      },
+      "ver": "1.0.12",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    }
+  },
+  "userData": {
+    "type": "sprite-frame",
+    "fixAlphaTransparencyArtifacts": false,
+    "hasAlpha": true,
+    "redirect": "1d97668a-17ed-43d8-bb9a-f0f34afae95c@6c48a"
+  }
+}

+ 9 - 0
assets/lobbyRes/textures/seasonPass/tasks/detailIcon.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "1.2.0",
+  "importer": "directory",
+  "imported": true,
+  "uuid": "cf3913f0-7d46-49a0-a442-52c5bb6cef91",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 0 - 0
assets/lobbyRes/textures/seasonPass/tasks/icon_check.png → assets/lobbyRes/textures/seasonPass/tasks/detailIcon/icon_check.png


+ 0 - 0
assets/lobbyRes/textures/seasonPass/tasks/icon_check.png.meta → assets/lobbyRes/textures/seasonPass/tasks/detailIcon/icon_check.png.meta


+ 0 - 0
assets/lobbyRes/textures/seasonPass/tasks/icon_game.png → assets/lobbyRes/textures/seasonPass/tasks/detailIcon/icon_game.png


+ 0 - 0
assets/lobbyRes/textures/seasonPass/tasks/icon_game.png.meta → assets/lobbyRes/textures/seasonPass/tasks/detailIcon/icon_game.png.meta


+ 0 - 0
assets/lobbyRes/textures/seasonPass/tasks/icon_sc.png → assets/lobbyRes/textures/seasonPass/tasks/detailIcon/icon_sc.png


+ 0 - 0
assets/lobbyRes/textures/seasonPass/tasks/icon_sc.png.meta → assets/lobbyRes/textures/seasonPass/tasks/detailIcon/icon_sc.png.meta


+ 0 - 0
assets/lobbyRes/textures/seasonPass/tasks/icon_time.png → assets/lobbyRes/textures/seasonPass/tasks/detailIcon/icon_time.png


+ 0 - 0
assets/lobbyRes/textures/seasonPass/tasks/icon_time.png.meta → assets/lobbyRes/textures/seasonPass/tasks/detailIcon/icon_time.png.meta


+ 0 - 0
assets/lobbyRes/textures/seasonPass/tasks/icon_win.png → assets/lobbyRes/textures/seasonPass/tasks/detailIcon/icon_win.png


+ 0 - 0
assets/lobbyRes/textures/seasonPass/tasks/icon_win.png.meta → assets/lobbyRes/textures/seasonPass/tasks/detailIcon/icon_win.png.meta


BIN
assets/lobbyRes/textures/seasonPass/tasks/icon_bg.png


+ 134 - 0
assets/lobbyRes/textures/seasonPass/tasks/icon_bg.png.meta

@@ -0,0 +1,134 @@
+{
+  "ver": "1.0.27",
+  "importer": "image",
+  "imported": true,
+  "uuid": "ad9c3d1f-d9e0-4cc6-8594-21ad714d5e10",
+  "files": [
+    ".json",
+    ".png"
+  ],
+  "subMetas": {
+    "6c48a": {
+      "importer": "texture",
+      "uuid": "ad9c3d1f-d9e0-4cc6-8594-21ad714d5e10@6c48a",
+      "displayName": "icon_bg",
+      "id": "6c48a",
+      "name": "texture",
+      "userData": {
+        "wrapModeS": "clamp-to-edge",
+        "wrapModeT": "clamp-to-edge",
+        "minfilter": "linear",
+        "magfilter": "linear",
+        "mipfilter": "none",
+        "anisotropy": 0,
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "ad9c3d1f-d9e0-4cc6-8594-21ad714d5e10",
+        "visible": false
+      },
+      "ver": "1.0.22",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    },
+    "f9941": {
+      "importer": "sprite-frame",
+      "uuid": "ad9c3d1f-d9e0-4cc6-8594-21ad714d5e10@f9941",
+      "displayName": "icon_bg",
+      "id": "f9941",
+      "name": "spriteFrame",
+      "userData": {
+        "trimThreshold": 1,
+        "rotated": false,
+        "offsetX": 0,
+        "offsetY": 0,
+        "trimX": 0,
+        "trimY": 0,
+        "width": 55,
+        "height": 53,
+        "rawWidth": 55,
+        "rawHeight": 53,
+        "borderTop": 17,
+        "borderBottom": 16,
+        "borderLeft": 17,
+        "borderRight": 16,
+        "packable": true,
+        "pixelsToUnit": 100,
+        "pivotX": 0.5,
+        "pivotY": 0.5,
+        "meshType": 0,
+        "vertices": {
+          "rawPosition": [
+            -27.5,
+            -26.5,
+            0,
+            27.5,
+            -26.5,
+            0,
+            -27.5,
+            26.5,
+            0,
+            27.5,
+            26.5,
+            0
+          ],
+          "indexes": [
+            0,
+            1,
+            2,
+            2,
+            1,
+            3
+          ],
+          "uv": [
+            0,
+            53,
+            55,
+            53,
+            0,
+            0,
+            55,
+            0
+          ],
+          "nuv": [
+            0,
+            0,
+            1,
+            0,
+            0,
+            1,
+            1,
+            1
+          ],
+          "minPos": [
+            -27.5,
+            -26.5,
+            0
+          ],
+          "maxPos": [
+            27.5,
+            26.5,
+            0
+          ]
+        },
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "ad9c3d1f-d9e0-4cc6-8594-21ad714d5e10@6c48a",
+        "atlasUuid": "",
+        "trimType": "auto"
+      },
+      "ver": "1.0.12",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    }
+  },
+  "userData": {
+    "type": "sprite-frame",
+    "fixAlphaTransparencyArtifacts": false,
+    "hasAlpha": true,
+    "redirect": "ad9c3d1f-d9e0-4cc6-8594-21ad714d5e10@6c48a"
+  }
+}

+ 0 - 0
assets/lobbyRes/textures/seasonPass/tasks/img_tasks_bg_claim.png → assets/lobbyRes/textures/seasonPass/tasks/tasks_bg_claim_daily.png


+ 4 - 4
assets/lobbyRes/textures/seasonPass/tasks/img_tasks_bg_claim.png.meta → assets/lobbyRes/textures/seasonPass/tasks/tasks_bg_claim_daily.png.meta

@@ -11,7 +11,7 @@
     "6c48a": {
       "importer": "texture",
       "uuid": "7b57da37-37b8-4afc-bcca-fd4d70a9a4cd@6c48a",
-      "displayName": "img_tasks_bg_claim",
+      "displayName": "tasks_bg_claim_daily",
       "id": "6c48a",
       "name": "texture",
       "userData": {
@@ -35,7 +35,7 @@
     "f9941": {
       "importer": "sprite-frame",
       "uuid": "7b57da37-37b8-4afc-bcca-fd4d70a9a4cd@f9941",
-      "displayName": "img_tasks_bg_claim",
+      "displayName": "tasks_bg_claim_daily",
       "id": "f9941",
       "name": "spriteFrame",
       "userData": {
@@ -51,8 +51,8 @@
         "rawHeight": 85,
         "borderTop": 0,
         "borderBottom": 0,
-        "borderLeft": 0,
-        "borderRight": 0,
+        "borderLeft": 239,
+        "borderRight": 256,
         "packable": true,
         "pixelsToUnit": 100,
         "pivotX": 0.5,

+ 0 - 0
assets/lobbyRes/textures/seasonPass/tasks/img_se_bg_claim.png → assets/lobbyRes/textures/seasonPass/tasks/tasks_bg_claim_seasonal.png


+ 4 - 4
assets/lobbyRes/textures/seasonPass/tasks/img_se_bg_claim.png.meta → assets/lobbyRes/textures/seasonPass/tasks/tasks_bg_claim_seasonal.png.meta

@@ -11,7 +11,7 @@
     "6c48a": {
       "importer": "texture",
       "uuid": "d128dc29-0a23-431b-aeb4-c286e5fee48f@6c48a",
-      "displayName": "img_se_bg_claim",
+      "displayName": "tasks_bg_claim_seasonal",
       "id": "6c48a",
       "name": "texture",
       "userData": {
@@ -35,7 +35,7 @@
     "f9941": {
       "importer": "sprite-frame",
       "uuid": "d128dc29-0a23-431b-aeb4-c286e5fee48f@f9941",
-      "displayName": "img_se_bg_claim",
+      "displayName": "tasks_bg_claim_seasonal",
       "id": "f9941",
       "name": "spriteFrame",
       "userData": {
@@ -51,8 +51,8 @@
         "rawHeight": 85,
         "borderTop": 0,
         "borderBottom": 0,
-        "borderLeft": 0,
-        "borderRight": 0,
+        "borderLeft": 241,
+        "borderRight": 261,
         "packable": true,
         "pixelsToUnit": 100,
         "pivotX": 0.5,

+ 0 - 0
assets/lobbyRes/textures/seasonPass/tasks/img_tasks_bg_claimed.png → assets/lobbyRes/textures/seasonPass/tasks/tasks_bg_claimed_daily.png


+ 4 - 4
assets/lobbyRes/textures/seasonPass/tasks/img_tasks_bg_claimed.png.meta → assets/lobbyRes/textures/seasonPass/tasks/tasks_bg_claimed_daily.png.meta

@@ -11,7 +11,7 @@
     "6c48a": {
       "importer": "texture",
       "uuid": "e22124a0-9fe5-45e8-88b2-3e327d010c9f@6c48a",
-      "displayName": "img_tasks_bg_claimed",
+      "displayName": "tasks_bg_claimed_daily",
       "id": "6c48a",
       "name": "texture",
       "userData": {
@@ -35,7 +35,7 @@
     "f9941": {
       "importer": "sprite-frame",
       "uuid": "e22124a0-9fe5-45e8-88b2-3e327d010c9f@f9941",
-      "displayName": "img_tasks_bg_claimed",
+      "displayName": "tasks_bg_claimed_daily",
       "id": "f9941",
       "name": "spriteFrame",
       "userData": {
@@ -51,8 +51,8 @@
         "rawHeight": 85,
         "borderTop": 0,
         "borderBottom": 0,
-        "borderLeft": 0,
-        "borderRight": 0,
+        "borderLeft": 251,
+        "borderRight": 250,
         "packable": true,
         "pixelsToUnit": 100,
         "pivotX": 0.5,

+ 0 - 0
assets/lobbyRes/textures/seasonPass/tasks/img_se_bg_claimed.png → assets/lobbyRes/textures/seasonPass/tasks/tasks_bg_claimed_seasonal.png


+ 4 - 4
assets/lobbyRes/textures/seasonPass/tasks/img_se_bg_claimed.png.meta → assets/lobbyRes/textures/seasonPass/tasks/tasks_bg_claimed_seasonal.png.meta

@@ -11,7 +11,7 @@
     "6c48a": {
       "importer": "texture",
       "uuid": "3085b0e8-575c-4375-8606-a6fecd52a043@6c48a",
-      "displayName": "img_se_bg_claimed",
+      "displayName": "tasks_bg_claimed_seasonal",
       "id": "6c48a",
       "name": "texture",
       "userData": {
@@ -35,7 +35,7 @@
     "f9941": {
       "importer": "sprite-frame",
       "uuid": "3085b0e8-575c-4375-8606-a6fecd52a043@f9941",
-      "displayName": "img_se_bg_claimed",
+      "displayName": "tasks_bg_claimed_seasonal",
       "id": "f9941",
       "name": "spriteFrame",
       "userData": {
@@ -51,8 +51,8 @@
         "rawHeight": 85,
         "borderTop": 0,
         "borderBottom": 0,
-        "borderLeft": 0,
-        "borderRight": 0,
+        "borderLeft": 251,
+        "borderRight": 249,
         "packable": true,
         "pixelsToUnit": 100,
         "pivotX": 0.5,

+ 2 - 2
assets/lobbyRes/textures/seasonPass/tasks/tasks_schedule_bg.png.meta

@@ -51,8 +51,8 @@
         "rawHeight": 24,
         "borderTop": 0,
         "borderBottom": 0,
-        "borderLeft": 0,
-        "borderRight": 0,
+        "borderLeft": 102,
+        "borderRight": 95,
         "packable": true,
         "pixelsToUnit": 100,
         "pivotX": 0.5,

+ 2 - 2
assets/lobbyRes/textures/seasonPass/tasks/tasks_schedule_bg01_9.png.meta

@@ -51,8 +51,8 @@
         "rawHeight": 24,
         "borderTop": 0,
         "borderBottom": 0,
-        "borderLeft": 0,
-        "borderRight": 0,
+        "borderLeft": 17,
+        "borderRight": 18,
         "packable": true,
         "pixelsToUnit": 100,
         "pivotX": 0.5,

+ 2 - 2
assets/lobbyRes/textures/seasonPass/tasks/tasks_schedule_bg_9.png.meta

@@ -51,8 +51,8 @@
         "rawHeight": 24,
         "borderTop": 0,
         "borderBottom": 0,
-        "borderLeft": 0,
-        "borderRight": 0,
+        "borderLeft": 16,
+        "borderRight": 14,
         "packable": true,
         "pixelsToUnit": 100,
         "pivotX": 0.5,

+ 6 - 9
assets/lobbyRes/ui/home/HomeView.prefab

@@ -506,10 +506,7 @@
       "b": 255,
       "a": 255
     },
-    "_spriteFrame": {
-      "__uuid__": "726ddbdc-d596-472b-9103-8e5c7d9498a6@f9941",
-      "__expectedType__": "cc.SpriteFrame"
-    },
+    "_spriteFrame": null,
     "_type": 0,
     "_fillType": 0,
     "_sizeMode": 0,
@@ -4211,7 +4208,7 @@
     },
     "_lpos": {
       "__type__": "cc.Vec3",
-      "x": 336.97999999999996,
+      "x": 336.98,
       "y": -12.219000000000056,
       "z": 0
     },
@@ -4271,7 +4268,7 @@
     },
     "_lpos": {
       "__type__": "cc.Vec3",
-      "x": -475.02000000000004,
+      "x": -475.0200000000001,
       "y": 0,
       "z": 0
     },
@@ -4480,7 +4477,7 @@
     },
     "_contentSize": {
       "__type__": "cc.Size",
-      "width": 950.0400000000001,
+      "width": 950.0400000000002,
       "height": 464.561
     },
     "_anchorPoint": {
@@ -4625,7 +4622,7 @@
     },
     "_contentSize": {
       "__type__": "cc.Size",
-      "width": 950.0400000000001,
+      "width": 950.0400000000002,
       "height": 464.561
     },
     "_anchorPoint": {
@@ -16810,7 +16807,7 @@
     },
     "_contentSize": {
       "__type__": "cc.Size",
-      "width": 1624,
+      "width": 1624.0000000000002,
       "height": 750
     },
     "_anchorPoint": {

+ 4 - 3
assets/lobbyRes/ui/reward/RewardView.prefab

@@ -142,7 +142,7 @@
     },
     "_contentSize": {
       "__type__": "cc.Size",
-      "width": 1624,
+      "width": 1624.0000000000002,
       "height": 750
     },
     "_anchorPoint": {
@@ -1525,7 +1525,7 @@
     },
     "_contentSize": {
       "__type__": "cc.Size",
-      "width": 1624,
+      "width": 1624.0000000000002,
       "height": 750
     },
     "_anchorPoint": {
@@ -1602,7 +1602,7 @@
     },
     "_contentSize": {
       "__type__": "cc.Size",
-      "width": 1624,
+      "width": 1624.0000000000002,
       "height": 750
     },
     "_anchorPoint": {
@@ -1682,6 +1682,7 @@
     "__prefab": {
       "__id__": 75
     },
+    "popupMask": null,
     "btn_receive": {
       "__id__": 25
     },

+ 12 - 9
assets/lobbyRes/ui/seasonPass/SeasonPassPurchase.prefab

@@ -142,8 +142,8 @@
     },
     "_contentSize": {
       "__type__": "cc.Size",
-      "width": 1624,
-      "height": 749.9999999999999
+      "width": 1624.0000000000002,
+      "height": 750
     },
     "_anchorPoint": {
       "__type__": "cc.Vec2",
@@ -1553,8 +1553,8 @@
     },
     "_contentSize": {
       "__type__": "cc.Size",
-      "width": 1624,
-      "height": 749.9999999999999
+      "width": 1624.0000000000002,
+      "height": 750
     },
     "_anchorPoint": {
       "__type__": "cc.Vec2",
@@ -1630,8 +1630,8 @@
     },
     "_contentSize": {
       "__type__": "cc.Size",
-      "width": 1624,
-      "height": 749.9999999999999
+      "width": 1624.0000000000002,
+      "height": 750
     },
     "_anchorPoint": {
       "__type__": "cc.Vec2",
@@ -1716,9 +1716,12 @@
     "popupRoot": {
       "__id__": 12
     },
-    "btnClose": null,
-    "btnView": null,
-    "btnSubmit": null,
+    "btn_close": {
+      "__id__": 43
+    },
+    "btn_buy": {
+      "__id__": 51
+    },
     "_id": ""
   },
   {

Datei-Diff unterdrückt, da er zu groß ist
+ 329 - 246
assets/lobbyRes/ui/seasonPass/SeasonPassView.prefab


+ 9 - 0
assets/lobbyRes/ui/seasonPass/prize.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "1.2.0",
+  "importer": "directory",
+  "imported": true,
+  "uuid": "94662885-4e79-4c78-81ed-99eda4797b90",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 1993 - 0
assets/lobbyRes/ui/seasonPass/prize/NodeItem.prefab

@@ -0,0 +1,1993 @@
+[
+  {
+    "__type__": "cc.Prefab",
+    "_name": "NodeItem",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_native": "",
+    "data": {
+      "__id__": 1
+    },
+    "optimizationPolicy": 0,
+    "persistent": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "NodeItem",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": null,
+    "_children": [
+      {
+        "__id__": 2
+      },
+      {
+        "__id__": 32
+      },
+      {
+        "__id__": 52
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 82
+      },
+      {
+        "__id__": 84
+      }
+    ],
+    "_prefab": {
+      "__id__": 86
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "dlx",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [
+      {
+        "__id__": 3
+      },
+      {
+        "__id__": 9
+      },
+      {
+        "__id__": 15
+      },
+      {
+        "__id__": 21
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 27
+      },
+      {
+        "__id__": 29
+      }
+    ],
+    "_prefab": {
+      "__id__": 31
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 105.5,
+      "y": 120.477,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "rewards",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 2
+    },
+    "_children": [],
+    "_active": false,
+    "_components": [
+      {
+        "__id__": 4
+      },
+      {
+        "__id__": 6
+      }
+    ],
+    "_prefab": {
+      "__id__": 8
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 0.4314999999999998,
+      "y": 0,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 3
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 5
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 133.015,
+      "height": -10
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "b6UCiudtBNlp9HMt/sMZph"
+  },
+  {
+    "__type__": "cc.Layout",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 3
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 7
+    },
+    "_resizeMode": 1,
+    "_layoutType": 2,
+    "_cellSize": {
+      "__type__": "cc.Size",
+      "width": 40,
+      "height": 40
+    },
+    "_startAxis": 0,
+    "_paddingLeft": 0,
+    "_paddingRight": 0,
+    "_paddingTop": 0,
+    "_paddingBottom": 0,
+    "_spacingX": 0,
+    "_spacingY": 10,
+    "_verticalDirection": 1,
+    "_horizontalDirection": 0,
+    "_constraint": 0,
+    "_constraintNum": 2,
+    "_affectedByScale": false,
+    "_isAlign": true,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "caGC5aFCVGz75u+2ZromcE"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "3eJRuqnlBO8ZZu0uQ7u6zu",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "lock",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 2
+    },
+    "_children": [],
+    "_active": false,
+    "_components": [
+      {
+        "__id__": 10
+      },
+      {
+        "__id__": 12
+      }
+    ],
+    "_prefab": {
+      "__id__": 14
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 65.92,
+      "y": -72.228,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 9
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 11
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 36,
+      "height": 47
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "01DV2JDBhMAY13+7r77BLw"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 9
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 13
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": {
+      "__uuid__": "d654ec3e-15e7-4981-bf14-ea0278ca7411@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "_type": 0,
+    "_fillType": 0,
+    "_sizeMode": 1,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "d09+MJagJGe4e//edSqygP"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "29q4aKiehA/5021XaB0EVd",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "highlight",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 2
+    },
+    "_children": [],
+    "_active": false,
+    "_components": [
+      {
+        "__id__": 16
+      },
+      {
+        "__id__": 18
+      }
+    ],
+    "_prefab": {
+      "__id__": 20
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 2,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 15
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 17
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 177,
+      "height": 190
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "d8u7GvBepLULcH2FvQNA1r"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 15
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 19
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": {
+      "__uuid__": "ede3daec-2b2e-46f2-a42d-8238150c9b68@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "_type": 0,
+    "_fillType": 0,
+    "_sizeMode": 1,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "7aw6Dr8tBExq1LVdiZcvL3"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "41VK1bsHNImpBsaRFFmTgj",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "received",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 2
+    },
+    "_children": [],
+    "_active": false,
+    "_components": [
+      {
+        "__id__": 22
+      },
+      {
+        "__id__": 24
+      }
+    ],
+    "_prefab": {
+      "__id__": 26
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 21
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 23
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 163,
+      "height": 176
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "8aWsC7K9xKhqPHG2dE3S5S"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 21
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 25
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": {
+      "__uuid__": "41d04d7a-ea02-4c8b-83ad-7901bb399499@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "_type": 0,
+    "_fillType": 0,
+    "_sizeMode": 1,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "abd8+AANhMMZpzwj+C+P9B"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "b45xCrP05IYIY244Lb2eqF",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 2
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 28
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 167,
+      "height": 182
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "526KGG1JhL7rbSkbGAqoEB"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 2
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 30
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": {
+      "__uuid__": "1ae127dd-bfcd-4e7f-9991-ee8a63d32e96@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "_type": 0,
+    "_fillType": 0,
+    "_sizeMode": 1,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "66Hsaeu+RH7I71gbHrf29D"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "11N0NIc2dFnrvf8LU5AYM4",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "progress",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [
+      {
+        "__id__": 33
+      },
+      {
+        "__id__": 39
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 45
+      },
+      {
+        "__id__": 47
+      },
+      {
+        "__id__": 49
+      }
+    ],
+    "_prefab": {
+      "__id__": 51
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 98.5,
+      "y": -1.032,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "Bar",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 32
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 34
+      },
+      {
+        "__id__": 36
+      }
+    ],
+    "_prefab": {
+      "__id__": 38
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 33
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 35
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 197,
+      "height": 53
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "feEevNHs5GHZe++CFngFhF"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 33
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 37
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": {
+      "__uuid__": "575fd07a-9016-414c-a3a2-76904f614800@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "_type": 3,
+    "_fillType": 0,
+    "_sizeMode": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "ebYoeTKrNO5bWnd9A2hy4u"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "57OJPRQrBA7r/rOXEFP46g",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "label",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 32
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 40
+      },
+      {
+        "__id__": 42
+      }
+    ],
+    "_prefab": {
+      "__id__": 44
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 7.2620000000000005,
+      "y": 1.905,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 39
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 41
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 41.802734375,
+      "height": 29.2
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "41q6qLQWVJUKKYYeaa2+oH"
+  },
+  {
+    "__type__": "cc.Label",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 39
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 43
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_string": "0XP",
+    "_horizontalAlign": 1,
+    "_verticalAlign": 1,
+    "_actualFontSize": 20,
+    "_fontSize": 20,
+    "_fontFamily": "Arial",
+    "_lineHeight": 20,
+    "_overflow": 0,
+    "_enableWrapText": true,
+    "_font": null,
+    "_isSystemFontUsed": true,
+    "_spacingX": 0,
+    "_isItalic": false,
+    "_isBold": false,
+    "_isUnderline": false,
+    "_underlineHeight": 2,
+    "_cacheMode": 0,
+    "_enableOutline": true,
+    "_outlineColor": {
+      "__type__": "cc.Color",
+      "r": 0,
+      "g": 0,
+      "b": 0,
+      "a": 191
+    },
+    "_outlineWidth": 2,
+    "_enableShadow": false,
+    "_shadowColor": {
+      "__type__": "cc.Color",
+      "r": 0,
+      "g": 0,
+      "b": 0,
+      "a": 255
+    },
+    "_shadowOffset": {
+      "__type__": "cc.Vec2",
+      "x": 2,
+      "y": 2
+    },
+    "_shadowBlur": 2,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "d6mWsQqXVLiYVPMEV80vIs"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "ccfg4mTxlGPoejI6j6Akj6",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 32
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 46
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 197,
+      "height": 53
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "13E3shBjhPyKmwd83qZAvM"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 32
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 48
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": {
+      "__uuid__": "5e922daf-fbd2-44c4-8346-16d8144ad9a9@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "_type": 1,
+    "_fillType": 0,
+    "_sizeMode": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "24KQiVh7dFo4pkbrI/HdVw"
+  },
+  {
+    "__type__": "cc.ProgressBar",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 32
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 50
+    },
+    "_barSprite": {
+      "__id__": 36
+    },
+    "_mode": 2,
+    "_totalLength": 1,
+    "_progress": 0,
+    "_reverse": false,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "11ZurnyM9BgL/fWOwBOI9F"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "49Qxj4WQxLaJcQSHdPPh/W",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "free",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [
+      {
+        "__id__": 53
+      },
+      {
+        "__id__": 59
+      },
+      {
+        "__id__": 65
+      },
+      {
+        "__id__": 71
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 77
+      },
+      {
+        "__id__": 79
+      }
+    ],
+    "_prefab": {
+      "__id__": 81
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 105.5,
+      "y": -116.453,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "rewards",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 52
+    },
+    "_children": [],
+    "_active": false,
+    "_components": [
+      {
+        "__id__": 54
+      },
+      {
+        "__id__": 56
+      }
+    ],
+    "_prefab": {
+      "__id__": 58
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 0.4314999999999998,
+      "y": 0,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 53
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 55
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 133.015,
+      "height": -10
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "3cPnciopNJDY+TF6AeCZPU"
+  },
+  {
+    "__type__": "cc.Layout",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 53
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 57
+    },
+    "_resizeMode": 1,
+    "_layoutType": 2,
+    "_cellSize": {
+      "__type__": "cc.Size",
+      "width": 40,
+      "height": 40
+    },
+    "_startAxis": 0,
+    "_paddingLeft": 0,
+    "_paddingRight": 0,
+    "_paddingTop": 0,
+    "_paddingBottom": 0,
+    "_spacingX": 0,
+    "_spacingY": 10,
+    "_verticalDirection": 1,
+    "_horizontalDirection": 0,
+    "_constraint": 0,
+    "_constraintNum": 2,
+    "_affectedByScale": false,
+    "_isAlign": true,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "47QZ11Fc5GToncAZvbh0TM"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "015dX3typOvrSY2rRW5BEB",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "lock",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 52
+    },
+    "_children": [],
+    "_active": false,
+    "_components": [
+      {
+        "__id__": 60
+      },
+      {
+        "__id__": 62
+      }
+    ],
+    "_prefab": {
+      "__id__": 64
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 65.92,
+      "y": -72.228,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 59
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 61
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 36,
+      "height": 47
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "fayJCTUzhDNbCKyw3kpH+i"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 59
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 63
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": {
+      "__uuid__": "d654ec3e-15e7-4981-bf14-ea0278ca7411@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "_type": 0,
+    "_fillType": 0,
+    "_sizeMode": 1,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "80AcUlKaNAb5RhWBZts1AV"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "c1dmIr6+5NoJZUmssHyMbT",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "highlight",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 52
+    },
+    "_children": [],
+    "_active": false,
+    "_components": [
+      {
+        "__id__": 66
+      },
+      {
+        "__id__": 68
+      }
+    ],
+    "_prefab": {
+      "__id__": 70
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 2,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 65
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 67
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 177,
+      "height": 190
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "a23HWg5UNOH7Ld3a2USo1V"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 65
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 69
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": {
+      "__uuid__": "e562e312-9b79-446b-80c1-ff62f8f00a4a@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "_type": 0,
+    "_fillType": 0,
+    "_sizeMode": 1,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "cdypjr6flKr6ElP9pXtbws"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "f2U5N3jdJPt6r1oZym4QBW",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "received",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 52
+    },
+    "_children": [],
+    "_active": false,
+    "_components": [
+      {
+        "__id__": 72
+      },
+      {
+        "__id__": 74
+      }
+    ],
+    "_prefab": {
+      "__id__": 76
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 71
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 73
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 163,
+      "height": 176
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "c3BS11OmVO76lvleJKvFXV"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 71
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 75
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": {
+      "__uuid__": "41d04d7a-ea02-4c8b-83ad-7901bb399499@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "_type": 0,
+    "_fillType": 0,
+    "_sizeMode": 1,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "1eaqkM84JHOo0SbSWXSHm+"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "ecMoAU2FZA+IqS9/2hW0rt",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 52
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 78
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 167,
+      "height": 182
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "e7HavA0zpJjqEF+AJRrovM"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 52
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 80
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": {
+      "__uuid__": "a2c12f4e-a9fc-4752-961f-f3b054a1cb6c@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "_type": 0,
+    "_fillType": 0,
+    "_sizeMode": 1,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "0049OCWA9O5ojdePMi+KQG"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "0aTSSUvnpL45tQIY/cNtdg",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 83
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 197,
+      "height": 445.957
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "34IasQukBFoYzzEi3BN4A8"
+  },
+  {
+    "__type__": "1e308qvHTZDOokiX7MhGVma",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 85
+    },
+    "img_bg_free_node": {
+      "__uuid__": "1d97668a-17ed-43d8-bb9a-f0f34afae95c@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "img_bg_dlx_node": {
+      "__uuid__": "1869b0f4-d15d-47a2-a1e9-a9e7b0ff92d6@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "dlx": {
+      "__id__": 2
+    },
+    "progress": {
+      "__id__": 32
+    },
+    "free": {
+      "__id__": 52
+    },
+    "prop_sc": {
+      "__uuid__": "40a62f59-65a4-4256-bc72-ec57768d5197",
+      "__expectedType__": "cc.Prefab"
+    },
+    "prop_gc": {
+      "__uuid__": "143f3991-5bfa-4973-866a-cdf9fd9b38b8",
+      "__expectedType__": "cc.Prefab"
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "d6MkVXjwpHk4OOW5y3Pc6I"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "57nBQGETxA7qxMnY272VbC",
+    "instance": null,
+    "targetOverrides": null
+  }
+]

+ 13 - 0
assets/lobbyRes/ui/seasonPass/prize/NodeItem.prefab.meta

@@ -0,0 +1,13 @@
+{
+  "ver": "1.1.50",
+  "importer": "prefab",
+  "imported": true,
+  "uuid": "b37135b1-6cac-4341-8a25-3758fc092fdb",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {
+    "syncNodeName": "NodeItem"
+  }
+}

+ 490 - 0
assets/lobbyRes/ui/seasonPass/prize/prop_gc.prefab

@@ -0,0 +1,490 @@
+[
+  {
+    "__type__": "cc.Prefab",
+    "_name": "prop_gc",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_native": "",
+    "data": {
+      "__id__": 1
+    },
+    "optimizationPolicy": 0,
+    "persistent": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "prop_gc",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": null,
+    "_children": [
+      {
+        "__id__": 2
+      },
+      {
+        "__id__": 8
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 14
+      },
+      {
+        "__id__": 16
+      },
+      {
+        "__id__": 18
+      }
+    ],
+    "_prefab": {
+      "__id__": 20
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": -34.5,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "icon",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 3
+      },
+      {
+        "__id__": 5
+      }
+    ],
+    "_prefab": {
+      "__id__": 7
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": -31.921499999999995,
+      "y": 0,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 2
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 4
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 39,
+      "height": 40
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "7c6zSU9tlKsrHj7Y0/2m7e"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 2
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 6
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": {
+      "__uuid__": "5523ec80-eee6-4587-9345-a4285a78c484@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "_type": 0,
+    "_fillType": 0,
+    "_sizeMode": 1,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "93Ts59h/hPBYRmCejBeo0p"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "0cataDGKlDSJUYr9JKaHDV",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "num",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 9
+      },
+      {
+        "__id__": 11
+      }
+    ],
+    "_prefab": {
+      "__id__": 13
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 27.588500000000003,
+      "y": 0,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 8
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 10
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 72.02,
+      "height": 32
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "57fPajHuJF4IFvK42nnbbr"
+  },
+  {
+    "__type__": "cc.Label",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 8
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 12
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_string": "0.20",
+    "_horizontalAlign": 1,
+    "_verticalAlign": 1,
+    "_actualFontSize": 32,
+    "_fontSize": 32,
+    "_fontFamily": "Arial",
+    "_lineHeight": 32,
+    "_overflow": 2,
+    "_enableWrapText": true,
+    "_font": {
+      "__uuid__": "bcaa6c39-6ca9-499e-a48f-e473abffdb36",
+      "__expectedType__": "cc.BitmapFont"
+    },
+    "_isSystemFontUsed": false,
+    "_spacingX": -2.5,
+    "_isItalic": false,
+    "_isBold": false,
+    "_isUnderline": false,
+    "_underlineHeight": 2,
+    "_cacheMode": 0,
+    "_enableOutline": false,
+    "_outlineColor": {
+      "__type__": "cc.Color",
+      "r": 0,
+      "g": 0,
+      "b": 0,
+      "a": 255
+    },
+    "_outlineWidth": 2,
+    "_enableShadow": false,
+    "_shadowColor": {
+      "__type__": "cc.Color",
+      "r": 0,
+      "g": 0,
+      "b": 0,
+      "a": 255
+    },
+    "_shadowOffset": {
+      "__type__": "cc.Vec2",
+      "x": 2,
+      "y": 2
+    },
+    "_shadowBlur": 2,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "2bKKP2HZFJIocLeeEn8Rhc"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "e3eluKV5lPzLs4a9WPHwUA",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 15
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 132.843,
+      "height": 59
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "36lJziy5xBzr6xnfhhu9a+"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 17
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": null,
+    "_type": 1,
+    "_fillType": 0,
+    "_sizeMode": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "a8EvWoOeFDEqGFZVwrK+Sm"
+  },
+  {
+    "__type__": "cc.Layout",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 19
+    },
+    "_resizeMode": 0,
+    "_layoutType": 1,
+    "_cellSize": {
+      "__type__": "cc.Size",
+      "width": 40,
+      "height": 40
+    },
+    "_startAxis": 0,
+    "_paddingLeft": 15,
+    "_paddingRight": 0,
+    "_paddingTop": 0,
+    "_paddingBottom": 0,
+    "_spacingX": 4,
+    "_spacingY": 0,
+    "_verticalDirection": 1,
+    "_horizontalDirection": 0,
+    "_constraint": 0,
+    "_constraintNum": 2,
+    "_affectedByScale": false,
+    "_isAlign": true,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "a0wHjPOOlCoIWsb6B3uxIF"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "050/XBzjlItKQMnIixi6FK",
+    "instance": null,
+    "targetOverrides": null
+  }
+]

+ 13 - 0
assets/lobbyRes/ui/seasonPass/prize/prop_gc.prefab.meta

@@ -0,0 +1,13 @@
+{
+  "ver": "1.1.50",
+  "importer": "prefab",
+  "imported": true,
+  "uuid": "143f3991-5bfa-4973-866a-cdf9fd9b38b8",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {
+    "syncNodeName": "prop_gc"
+  }
+}

+ 490 - 0
assets/lobbyRes/ui/seasonPass/prize/prop_sc.prefab

@@ -0,0 +1,490 @@
+[
+  {
+    "__type__": "cc.Prefab",
+    "_name": "prop_sc",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_native": "",
+    "data": {
+      "__id__": 1
+    },
+    "optimizationPolicy": 0,
+    "persistent": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "prop_sc",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": null,
+    "_children": [
+      {
+        "__id__": 2
+      },
+      {
+        "__id__": 8
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 14
+      },
+      {
+        "__id__": 16
+      },
+      {
+        "__id__": 18
+      }
+    ],
+    "_prefab": {
+      "__id__": 20
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 34.5,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "icon",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 3
+      },
+      {
+        "__id__": 5
+      }
+    ],
+    "_prefab": {
+      "__id__": 7
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": -34.921499999999995,
+      "y": 0,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 2
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 4
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 39,
+      "height": 41
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "afV/mg1MNG/7d7fHTZkXrC"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 2
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 6
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": {
+      "__uuid__": "afbcd74a-0d7a-41d4-b173-ceb248a1dd3d@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "_type": 0,
+    "_fillType": 0,
+    "_sizeMode": 1,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "d5lXbjyRFNmpPSSL8ZDI9/"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "71rrL3CmtO1ozpUWeXEAlN",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "num",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 9
+      },
+      {
+        "__id__": 11
+      }
+    ],
+    "_prefab": {
+      "__id__": 13
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 24.588500000000003,
+      "y": 0,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 8
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 10
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 72.02,
+      "height": 32
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "d42NifIndGapkldu/Qovkq"
+  },
+  {
+    "__type__": "cc.Label",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 8
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 12
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_string": "0.20",
+    "_horizontalAlign": 1,
+    "_verticalAlign": 1,
+    "_actualFontSize": 32,
+    "_fontSize": 32,
+    "_fontFamily": "Arial",
+    "_lineHeight": 32,
+    "_overflow": 2,
+    "_enableWrapText": true,
+    "_font": {
+      "__uuid__": "48292d49-8a8a-476d-b3b7-b266fe8df9d2",
+      "__expectedType__": "cc.BitmapFont"
+    },
+    "_isSystemFontUsed": false,
+    "_spacingX": -2.5,
+    "_isItalic": false,
+    "_isBold": false,
+    "_isUnderline": false,
+    "_underlineHeight": 2,
+    "_cacheMode": 0,
+    "_enableOutline": false,
+    "_outlineColor": {
+      "__type__": "cc.Color",
+      "r": 0,
+      "g": 0,
+      "b": 0,
+      "a": 255
+    },
+    "_outlineWidth": 2,
+    "_enableShadow": false,
+    "_shadowColor": {
+      "__type__": "cc.Color",
+      "r": 0,
+      "g": 0,
+      "b": 0,
+      "a": 255
+    },
+    "_shadowOffset": {
+      "__type__": "cc.Vec2",
+      "x": 2,
+      "y": 2
+    },
+    "_shadowBlur": 2,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "dcKktUrVNCN4YIgkq7L8JN"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "29Ft2h2gxJMr8QVIwVIB2I",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 15
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 132.843,
+      "height": 59
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "6bT3OlOplMXoQt00SNWUR3"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 17
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": null,
+    "_type": 1,
+    "_fillType": 0,
+    "_sizeMode": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "5f3pnAqpFPibnSvo8yv9CG"
+  },
+  {
+    "__type__": "cc.Layout",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 19
+    },
+    "_resizeMode": 0,
+    "_layoutType": 1,
+    "_cellSize": {
+      "__type__": "cc.Size",
+      "width": 40,
+      "height": 40
+    },
+    "_startAxis": 0,
+    "_paddingLeft": 12,
+    "_paddingRight": 0,
+    "_paddingTop": 0,
+    "_paddingBottom": 0,
+    "_spacingX": 4,
+    "_spacingY": 0,
+    "_verticalDirection": 1,
+    "_horizontalDirection": 0,
+    "_constraint": 0,
+    "_constraintNum": 2,
+    "_affectedByScale": false,
+    "_isAlign": true,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "6auDZHX5pJc6eYifAkltl0"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "29vU3qFHRGdL32t7Xymjsm",
+    "instance": null,
+    "targetOverrides": null
+  }
+]

+ 13 - 0
assets/lobbyRes/ui/seasonPass/prize/prop_sc.prefab.meta

@@ -0,0 +1,13 @@
+{
+  "ver": "1.1.50",
+  "importer": "prefab",
+  "imported": true,
+  "uuid": "40a62f59-65a4-4256-bc72-ec57768d5197",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {
+    "syncNodeName": "prop_sc"
+  }
+}

+ 9 - 0
assets/lobbyRes/ui/seasonPass/tasks.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "1.2.0",
+  "importer": "directory",
+  "imported": true,
+  "uuid": "ee08b8f5-36e2-4aac-958e-3ff227cf583e",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 2008 - 0
assets/lobbyRes/ui/seasonPass/tasks/RewardItem.prefab

@@ -0,0 +1,2008 @@
+[
+  {
+    "__type__": "cc.Prefab",
+    "_name": "RewardItem",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_native": "",
+    "data": {
+      "__id__": 1
+    },
+    "optimizationPolicy": 0,
+    "persistent": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "RewardItem",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": null,
+    "_children": [
+      {
+        "__id__": 2
+      },
+      {
+        "__id__": 8
+      },
+      {
+        "__id__": 14
+      },
+      {
+        "__id__": 32
+      },
+      {
+        "__id__": 52
+      },
+      {
+        "__id__": 58
+      },
+      {
+        "__id__": 66
+      },
+      {
+        "__id__": 74
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 80
+      },
+      {
+        "__id__": 82
+      }
+    ],
+    "_prefab": {
+      "__id__": 84
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": -48,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "bg_unclaim",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 3
+      },
+      {
+        "__id__": 5
+      }
+    ],
+    "_prefab": {
+      "__id__": 7
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 2
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 4
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 512,
+      "height": 80
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "4dyQ0MupBCr6aHSc090PML"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 2
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 6
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": {
+      "__uuid__": "7b57da37-37b8-4afc-bcca-fd4d70a9a4cd@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "_type": 0,
+    "_fillType": 0,
+    "_sizeMode": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "93CZFsa8xPO6D4aTP1UVk9"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "50iz2PbttMkL5Czq4x40oW",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "bg_claimed",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [],
+    "_active": false,
+    "_components": [
+      {
+        "__id__": 9
+      },
+      {
+        "__id__": 11
+      }
+    ],
+    "_prefab": {
+      "__id__": 13
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 8
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 10
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 512,
+      "height": 80
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "524VecLmZB+7FhU3Kx5uAT"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 8
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 12
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": {
+      "__uuid__": "e22124a0-9fe5-45e8-88b2-3e327d010c9f@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "_type": 0,
+    "_fillType": 0,
+    "_sizeMode": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "2aefZbbChKuIYwGcZ31ybb"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "da3abjsf5D9YdpnEC4tEMa",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "task_detail",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [
+      {
+        "__id__": 15
+      },
+      {
+        "__id__": 21
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 27
+      },
+      {
+        "__id__": 29
+      }
+    ],
+    "_prefab": {
+      "__id__": 31
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": -249.358,
+      "y": 14.267,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "icon",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 14
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 16
+      },
+      {
+        "__id__": 18
+      }
+    ],
+    "_prefab": {
+      "__id__": 20
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 21.5,
+      "y": 0,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 15
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 17
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 43,
+      "height": 28
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "d413u4ecRG66r9wF8xbmQE"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 15
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 19
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": null,
+    "_type": 0,
+    "_fillType": 0,
+    "_sizeMode": 1,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "46VkYcYKBEBoPiK2lHdsmw"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "8cC9SzMfpJspLJ/REIzDIW",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "detail",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 14
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 22
+      },
+      {
+        "__id__": 24
+      }
+    ],
+    "_prefab": {
+      "__id__": 26
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 47,
+      "y": 0,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 21
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 23
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 4,
+      "height": 21.64
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "5e/7oFIdhB768UBRtw8smq"
+  },
+  {
+    "__type__": "cc.Label",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 21
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 25
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_string": "",
+    "_horizontalAlign": 1,
+    "_verticalAlign": 1,
+    "_actualFontSize": 14,
+    "_fontSize": 14,
+    "_fontFamily": "Arial",
+    "_lineHeight": 14,
+    "_overflow": 0,
+    "_enableWrapText": true,
+    "_font": null,
+    "_isSystemFontUsed": true,
+    "_spacingX": 0,
+    "_isItalic": false,
+    "_isBold": false,
+    "_isUnderline": false,
+    "_underlineHeight": 2,
+    "_cacheMode": 0,
+    "_enableOutline": true,
+    "_outlineColor": {
+      "__type__": "cc.Color",
+      "r": 0,
+      "g": 0,
+      "b": 0,
+      "a": 184
+    },
+    "_outlineWidth": 2,
+    "_enableShadow": false,
+    "_shadowColor": {
+      "__type__": "cc.Color",
+      "r": 0,
+      "g": 0,
+      "b": 0,
+      "a": 255
+    },
+    "_shadowOffset": {
+      "__type__": "cc.Vec2",
+      "x": 2,
+      "y": 2
+    },
+    "_shadowBlur": 2,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "40SXvZJzlHzbDFCO3qSfjM"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "36NyO4/p9OU7rcZ0JOxtTM",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 14
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 28
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 49,
+      "height": 30
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "c2oxYO8xFJnoyPR4N6/WLa"
+  },
+  {
+    "__type__": "cc.Layout",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 14
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 30
+    },
+    "_resizeMode": 1,
+    "_layoutType": 1,
+    "_cellSize": {
+      "__type__": "cc.Size",
+      "width": 40,
+      "height": 40
+    },
+    "_startAxis": 0,
+    "_paddingLeft": 0,
+    "_paddingRight": 0,
+    "_paddingTop": 0,
+    "_paddingBottom": 0,
+    "_spacingX": 2,
+    "_spacingY": 0,
+    "_verticalDirection": 1,
+    "_horizontalDirection": 0,
+    "_constraint": 0,
+    "_constraintNum": 2,
+    "_affectedByScale": false,
+    "_isAlign": true,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "afdNjjhftL0Ic3Qou3kMrh"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "d0lJz7RMFED48gQPmuxtnQ",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "ProgressBar",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [
+      {
+        "__id__": 33
+      },
+      {
+        "__id__": 39
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 45
+      },
+      {
+        "__id__": 47
+      },
+      {
+        "__id__": 49
+      }
+    ],
+    "_prefab": {
+      "__id__": 51
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": -159.503,
+      "y": -17.599,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "Bar",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 32
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 34
+      },
+      {
+        "__id__": 36
+      }
+    ],
+    "_prefab": {
+      "__id__": 38
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": -89.5,
+      "y": 0,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 33
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 35
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 0,
+      "height": 24
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "66R9R00fxLl7pjY8COFSYp"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 33
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 37
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": {
+      "__uuid__": "e6db1a9a-6a8a-45e4-b251-5ed9f5733a5d@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "_type": 1,
+    "_fillType": 0,
+    "_sizeMode": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 1,
+    "_isTrimmedMode": true,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "8829bujd5MvqO1zM8sKrX/"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "b9BpNP/S5AE4G8ODyaT/Ms",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "label",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 32
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 40
+      },
+      {
+        "__id__": 42
+      }
+    ],
+    "_prefab": {
+      "__id__": 44
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": -6.082,
+      "y": 1,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 39
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 41
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 4,
+      "height": 26.68
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "0aadD3aIpIZ5+esdMqJXvf"
+  },
+  {
+    "__type__": "cc.Label",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 39
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 43
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_string": "",
+    "_horizontalAlign": 1,
+    "_verticalAlign": 1,
+    "_actualFontSize": 18,
+    "_fontSize": 18,
+    "_fontFamily": "Arial",
+    "_lineHeight": 18,
+    "_overflow": 0,
+    "_enableWrapText": true,
+    "_font": null,
+    "_isSystemFontUsed": true,
+    "_spacingX": 0,
+    "_isItalic": false,
+    "_isBold": false,
+    "_isUnderline": false,
+    "_underlineHeight": 2,
+    "_cacheMode": 0,
+    "_enableOutline": true,
+    "_outlineColor": {
+      "__type__": "cc.Color",
+      "r": 0,
+      "g": 0,
+      "b": 0,
+      "a": 184
+    },
+    "_outlineWidth": 2,
+    "_enableShadow": false,
+    "_shadowColor": {
+      "__type__": "cc.Color",
+      "r": 0,
+      "g": 0,
+      "b": 0,
+      "a": 255
+    },
+    "_shadowOffset": {
+      "__type__": "cc.Vec2",
+      "x": 2,
+      "y": 2
+    },
+    "_shadowBlur": 2,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "a9+F4cOgtNrr5b9LhZrALq"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "b2CapTBoBDrK1Zrjtat9Ju",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 32
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 46
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 179,
+      "height": 24
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "4cZ5XMqixKO4vvNiVy7ck8"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 32
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 48
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": {
+      "__uuid__": "294be796-6376-4f51-aa67-4afdddca82e8@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "_type": 1,
+    "_fillType": 0,
+    "_sizeMode": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "486tx5Z7NPmJST5xR0ERwe"
+  },
+  {
+    "__type__": "cc.ProgressBar",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 32
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 50
+    },
+    "_barSprite": {
+      "__id__": 36
+    },
+    "_mode": 0,
+    "_totalLength": 179,
+    "_progress": 0,
+    "_reverse": false,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "d80VwBBT5EkJns/QGGfbFO"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "c4XWEctphFaKPDY6+5zmML",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "rewards",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 53
+      },
+      {
+        "__id__": 55
+      }
+    ],
+    "_prefab": {
+      "__id__": 57
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 36.089,
+      "y": 0,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 52
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 54
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": -5,
+      "height": 53
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "10nMKyyNNDK4JF8vU0UO8t"
+  },
+  {
+    "__type__": "cc.Layout",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 52
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 56
+    },
+    "_resizeMode": 1,
+    "_layoutType": 1,
+    "_cellSize": {
+      "__type__": "cc.Size",
+      "width": 40,
+      "height": 40
+    },
+    "_startAxis": 0,
+    "_paddingLeft": 0,
+    "_paddingRight": 0,
+    "_paddingTop": 0,
+    "_paddingBottom": 0,
+    "_spacingX": 5,
+    "_spacingY": -5,
+    "_verticalDirection": 1,
+    "_horizontalDirection": 0,
+    "_constraint": 0,
+    "_constraintNum": 2,
+    "_affectedByScale": false,
+    "_isAlign": true,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "3dbZ99hdJBTIWdeiTkTUOZ"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "e4HcH8rN1GQIL+HvyFnrc0",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "btn_go",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [],
+    "_active": false,
+    "_components": [
+      {
+        "__id__": 59
+      },
+      {
+        "__id__": 61
+      },
+      {
+        "__id__": 63
+      }
+    ],
+    "_prefab": {
+      "__id__": 65
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 191.497,
+      "y": -2.3280000000000003,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 58
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 60
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 118,
+      "height": 54
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "99bWJGCYxLUIw/Zq5QIg9K"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 58
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 62
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": {
+      "__uuid__": "28f4dd3d-a881-4a43-aae1-0c96ec3de4c7@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "_type": 0,
+    "_fillType": 0,
+    "_sizeMode": 1,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "ad3PCL52ZCF69V46lXzGI5"
+  },
+  {
+    "__type__": "cc.Button",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 58
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 64
+    },
+    "clickEvents": [],
+    "_interactable": true,
+    "_transition": 3,
+    "_normalColor": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_hoverColor": {
+      "__type__": "cc.Color",
+      "r": 211,
+      "g": 211,
+      "b": 211,
+      "a": 255
+    },
+    "_pressedColor": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_disabledColor": {
+      "__type__": "cc.Color",
+      "r": 124,
+      "g": 124,
+      "b": 124,
+      "a": 255
+    },
+    "_normalSprite": null,
+    "_hoverSprite": null,
+    "_pressedSprite": null,
+    "_disabledSprite": null,
+    "_duration": 0.1,
+    "_zoomScale": 1.1,
+    "_target": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "b2o0kuRc9C5IGG60nOKF4+"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "54oaQSxmxMurQ5UkagtbMw",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "btn_CLAIM",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [],
+    "_active": false,
+    "_components": [
+      {
+        "__id__": 67
+      },
+      {
+        "__id__": 69
+      },
+      {
+        "__id__": 71
+      }
+    ],
+    "_prefab": {
+      "__id__": 73
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 191.497,
+      "y": -2.3280000000000003,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 66
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 68
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 118,
+      "height": 54
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "17vEGnpoZGxrfKbw1g2h1j"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 66
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 70
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": {
+      "__uuid__": "4496c7c5-6ac1-471b-ba33-fda54297afd5@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "_type": 0,
+    "_fillType": 0,
+    "_sizeMode": 1,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "03koQDnHxJkpNh7m5XqU/R"
+  },
+  {
+    "__type__": "cc.Button",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 66
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 72
+    },
+    "clickEvents": [],
+    "_interactable": true,
+    "_transition": 3,
+    "_normalColor": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_hoverColor": {
+      "__type__": "cc.Color",
+      "r": 211,
+      "g": 211,
+      "b": 211,
+      "a": 255
+    },
+    "_pressedColor": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_disabledColor": {
+      "__type__": "cc.Color",
+      "r": 124,
+      "g": 124,
+      "b": 124,
+      "a": 255
+    },
+    "_normalSprite": null,
+    "_hoverSprite": null,
+    "_pressedSprite": null,
+    "_disabledSprite": null,
+    "_duration": 0.1,
+    "_zoomScale": 1.1,
+    "_target": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "31A4aYTRdAWacf8epvlxr9"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "329WRUfpRAc6/B5blD8OB3",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "btn_CLAIMED",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [],
+    "_active": false,
+    "_components": [
+      {
+        "__id__": 75
+      },
+      {
+        "__id__": 77
+      }
+    ],
+    "_prefab": {
+      "__id__": 79
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 191.497,
+      "y": -2.3280000000000003,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 74
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 76
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 118,
+      "height": 54
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "ce6pqkxuVGL4PAKA0PEVIr"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 74
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 78
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": {
+      "__uuid__": "a6ff6857-b29e-41e7-9c5d-abd94409e5a7@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "_type": 0,
+    "_fillType": 0,
+    "_sizeMode": 1,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "0f0kwoc55GJZmmJWbBFKHc"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "baV4WWj1pI47PXsY2hzOP4",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 81
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 512,
+      "height": 80
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "e6I9IT581PKqTb9S6rkO6W"
+  },
+  {
+    "__type__": "c5982fcpo9PB57wqraE817Y",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 83
+    },
+    "bg_unclaim": {
+      "__id__": 2
+    },
+    "bg_claimed": {
+      "__id__": 8
+    },
+    "task_icon": {
+      "__id__": 18
+    },
+    "task_detail": {
+      "__id__": 24
+    },
+    "progress": {
+      "__id__": 49
+    },
+    "progress_label": {
+      "__id__": 42
+    },
+    "rewards": {
+      "__id__": 52
+    },
+    "btn_go": {
+      "__id__": 58
+    },
+    "btn_claim": {
+      "__id__": 66
+    },
+    "btn_claimed": {
+      "__id__": 74
+    },
+    "prop_sc": {
+      "__uuid__": "d4696c03-f53a-4548-8f35-62852c435e91",
+      "__expectedType__": "cc.Prefab"
+    },
+    "prop_gc": {
+      "__uuid__": "1524d6db-d60d-4d27-9dff-420eb9913674",
+      "__expectedType__": "cc.Prefab"
+    },
+    "prop_pass_xp": {
+      "__uuid__": "1581e520-76e7-4897-a6f7-3cee2b6ff173",
+      "__expectedType__": "cc.Prefab"
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "62tsYYv3pL6L94oX6t/ncP"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "512Pp82gBIIrEtueU/gCka",
+    "instance": null,
+    "targetOverrides": null
+  }
+]

+ 13 - 0
assets/lobbyRes/ui/seasonPass/tasks/RewardItem.prefab.meta

@@ -0,0 +1,13 @@
+{
+  "ver": "1.1.50",
+  "importer": "prefab",
+  "imported": true,
+  "uuid": "8ee9f169-3e7f-4da6-8654-d70b763ab1fa",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {
+    "syncNodeName": "RewardItem"
+  }
+}

+ 493 - 0
assets/lobbyRes/ui/seasonPass/tasks/prop_gc.prefab

@@ -0,0 +1,493 @@
+[
+  {
+    "__type__": "cc.Prefab",
+    "_name": "prop_gc",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_native": "",
+    "data": {
+      "__id__": 1
+    },
+    "optimizationPolicy": 0,
+    "persistent": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "prop_gc",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": null,
+    "_children": [
+      {
+        "__id__": 2
+      },
+      {
+        "__id__": 8
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 14
+      },
+      {
+        "__id__": 16
+      },
+      {
+        "__id__": 18
+      }
+    ],
+    "_prefab": {
+      "__id__": 20
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "icon",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 3
+      },
+      {
+        "__id__": 5
+      }
+    ],
+    "_prefab": {
+      "__id__": 7
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 4.5,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 2
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 4
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 33,
+      "height": 34
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "73WCmNrEVGo5ehhuORWjtn"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 2
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 6
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": {
+      "__uuid__": "9d7184e1-1094-4420-bb29-007ba71d60bf@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "_type": 0,
+    "_fillType": 0,
+    "_sizeMode": 1,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "5cU/0gRglPLbYi007IdkAn"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "50puIboaVJ0IaOWMatGeQg",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "num",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 9
+      },
+      {
+        "__id__": 11
+      }
+    ],
+    "_prefab": {
+      "__id__": 13
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": -14.5,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 8
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 10
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 44.18,
+      "height": 18
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "49X/82tbhNFL4OV5PPs6/u"
+  },
+  {
+    "__type__": "cc.Label",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 8
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 12
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_string": "0.50",
+    "_horizontalAlign": 1,
+    "_verticalAlign": 1,
+    "_actualFontSize": 18,
+    "_fontSize": 18,
+    "_fontFamily": "Arial",
+    "_lineHeight": 18,
+    "_overflow": 0,
+    "_enableWrapText": true,
+    "_font": {
+      "__uuid__": "bcaa6c39-6ca9-499e-a48f-e473abffdb36",
+      "__expectedType__": "cc.BitmapFont"
+    },
+    "_isSystemFontUsed": false,
+    "_spacingX": 0,
+    "_isItalic": false,
+    "_isBold": false,
+    "_isUnderline": false,
+    "_underlineHeight": 2,
+    "_cacheMode": 0,
+    "_enableOutline": false,
+    "_outlineColor": {
+      "__type__": "cc.Color",
+      "r": 0,
+      "g": 0,
+      "b": 0,
+      "a": 255
+    },
+    "_outlineWidth": 2,
+    "_enableShadow": false,
+    "_shadowColor": {
+      "__type__": "cc.Color",
+      "r": 0,
+      "g": 0,
+      "b": 0,
+      "a": 255
+    },
+    "_shadowOffset": {
+      "__type__": "cc.Vec2",
+      "x": 2,
+      "y": 2
+    },
+    "_shadowBlur": 2,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "22EL2JedZGAbLCoCTPTrQy"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "d6gQ3DPilAwZEfYYmyf5Xz",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 15
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 55,
+      "height": 53
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "78bHPXLchHkJ9Mt2RI0UlS"
+  },
+  {
+    "__type__": "cc.Layout",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 17
+    },
+    "_resizeMode": 0,
+    "_layoutType": 2,
+    "_cellSize": {
+      "__type__": "cc.Size",
+      "width": 40,
+      "height": 40
+    },
+    "_startAxis": 0,
+    "_paddingLeft": 0,
+    "_paddingRight": 0,
+    "_paddingTop": 5,
+    "_paddingBottom": 0,
+    "_spacingX": 5,
+    "_spacingY": -7,
+    "_verticalDirection": 1,
+    "_horizontalDirection": 0,
+    "_constraint": 0,
+    "_constraintNum": 2,
+    "_affectedByScale": false,
+    "_isAlign": true,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "4bwKD6GRREY40lEkHthcru"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 19
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": {
+      "__uuid__": "ad9c3d1f-d9e0-4cc6-8594-21ad714d5e10@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "_type": 0,
+    "_fillType": 0,
+    "_sizeMode": 1,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "a0d6iOuZxHFqBKDLAvSgNE"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "40gOQ9FRhK351I6RG3hTW5",
+    "instance": null,
+    "targetOverrides": null
+  }
+]

+ 13 - 0
assets/lobbyRes/ui/seasonPass/tasks/prop_gc.prefab.meta

@@ -0,0 +1,13 @@
+{
+  "ver": "1.1.50",
+  "importer": "prefab",
+  "imported": true,
+  "uuid": "1524d6db-d60d-4d27-9dff-420eb9913674",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {
+    "syncNodeName": "prop_gc"
+  }
+}

+ 493 - 0
assets/lobbyRes/ui/seasonPass/tasks/prop_pass_xp.prefab

@@ -0,0 +1,493 @@
+[
+  {
+    "__type__": "cc.Prefab",
+    "_name": "prop_pass_xp",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_native": "",
+    "data": {
+      "__id__": 1
+    },
+    "optimizationPolicy": 0,
+    "persistent": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "prop_pass_xp",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": null,
+    "_children": [
+      {
+        "__id__": 2
+      },
+      {
+        "__id__": 8
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 14
+      },
+      {
+        "__id__": 16
+      },
+      {
+        "__id__": 18
+      }
+    ],
+    "_prefab": {
+      "__id__": 20
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 60,
+      "y": 0,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "icon",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 3
+      },
+      {
+        "__id__": 5
+      }
+    ],
+    "_prefab": {
+      "__id__": 7
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 3.5,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1.1,
+      "y": 1.1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 2
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 4
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 37,
+      "height": 32
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "a1Jkm6isdARJGxznzDrzZc"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 2
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 6
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": {
+      "__uuid__": "ca456020-0aee-490f-a27d-caa673b28973@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "_type": 0,
+    "_fillType": 0,
+    "_sizeMode": 1,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "31nFmh1npCjLu7x+6vfEDV"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "57Su+9O4lCSIJawsjzOrNw",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "num",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 9
+      },
+      {
+        "__id__": 11
+      }
+    ],
+    "_prefab": {
+      "__id__": 13
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": -13.5,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 8
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 10
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 24.8,
+      "height": 18
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "847i6vWTNDA5lQWYRRA5Th"
+  },
+  {
+    "__type__": "cc.Label",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 8
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 12
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_string": "40",
+    "_horizontalAlign": 1,
+    "_verticalAlign": 1,
+    "_actualFontSize": 18,
+    "_fontSize": 18,
+    "_fontFamily": "Arial",
+    "_lineHeight": 18,
+    "_overflow": 0,
+    "_enableWrapText": true,
+    "_font": {
+      "__uuid__": "9ba076f6-1410-4eab-ad7f-5874f38760ea",
+      "__expectedType__": "cc.BitmapFont"
+    },
+    "_isSystemFontUsed": false,
+    "_spacingX": 0,
+    "_isItalic": false,
+    "_isBold": false,
+    "_isUnderline": false,
+    "_underlineHeight": 2,
+    "_cacheMode": 0,
+    "_enableOutline": false,
+    "_outlineColor": {
+      "__type__": "cc.Color",
+      "r": 0,
+      "g": 0,
+      "b": 0,
+      "a": 255
+    },
+    "_outlineWidth": 2,
+    "_enableShadow": false,
+    "_shadowColor": {
+      "__type__": "cc.Color",
+      "r": 0,
+      "g": 0,
+      "b": 0,
+      "a": 255
+    },
+    "_shadowOffset": {
+      "__type__": "cc.Vec2",
+      "x": 2,
+      "y": 2
+    },
+    "_shadowBlur": 2,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "c6+NprFddGObu+hmyvwQRM"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "e9n3yNyFpKaIOs9T7i6cFe",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 15
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 55,
+      "height": 53
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "c9XmOWLhZANrlmz9qF2sMd"
+  },
+  {
+    "__type__": "cc.Layout",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 17
+    },
+    "_resizeMode": 0,
+    "_layoutType": 2,
+    "_cellSize": {
+      "__type__": "cc.Size",
+      "width": 40,
+      "height": 40
+    },
+    "_startAxis": 0,
+    "_paddingLeft": 0,
+    "_paddingRight": 0,
+    "_paddingTop": 7,
+    "_paddingBottom": 0,
+    "_spacingX": 5,
+    "_spacingY": -8,
+    "_verticalDirection": 1,
+    "_horizontalDirection": 0,
+    "_constraint": 0,
+    "_constraintNum": 2,
+    "_affectedByScale": false,
+    "_isAlign": false,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "afVsTWlX9IAaHP7fkoP+w2"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 19
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": {
+      "__uuid__": "ad9c3d1f-d9e0-4cc6-8594-21ad714d5e10@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "_type": 0,
+    "_fillType": 0,
+    "_sizeMode": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "e8qV6kBQdPP4JWBqyn0csj"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "65n3T110JAjp2ZoH+fQCcV",
+    "instance": null,
+    "targetOverrides": null
+  }
+]

+ 13 - 0
assets/lobbyRes/ui/seasonPass/tasks/prop_pass_xp.prefab.meta

@@ -0,0 +1,13 @@
+{
+  "ver": "1.1.50",
+  "importer": "prefab",
+  "imported": true,
+  "uuid": "1581e520-76e7-4897-a6f7-3cee2b6ff173",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {
+    "syncNodeName": "prop_pass_xp"
+  }
+}

+ 493 - 0
assets/lobbyRes/ui/seasonPass/tasks/prop_sc.prefab

@@ -0,0 +1,493 @@
+[
+  {
+    "__type__": "cc.Prefab",
+    "_name": "prop_sc",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_native": "",
+    "data": {
+      "__id__": 1
+    },
+    "optimizationPolicy": 0,
+    "persistent": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "prop_sc",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": null,
+    "_children": [
+      {
+        "__id__": 2
+      },
+      {
+        "__id__": 8
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 14
+      },
+      {
+        "__id__": 16
+      },
+      {
+        "__id__": 18
+      }
+    ],
+    "_prefab": {
+      "__id__": 20
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": -60,
+      "y": 0,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "icon",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 3
+      },
+      {
+        "__id__": 5
+      }
+    ],
+    "_prefab": {
+      "__id__": 7
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 3,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 2
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 4
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 35,
+      "height": 37
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "2aTfENA45P4IIKa/iPYTU2"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 2
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 6
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": {
+      "__uuid__": "7e091d13-0e1e-459e-9f86-ba10d282cfa6@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "_type": 0,
+    "_fillType": 0,
+    "_sizeMode": 1,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "2e5qeb7zVLYKAEQ0+iLDtG"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "b1OzJDbXlL4oNNUCRx3Kla",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "num",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 9
+      },
+      {
+        "__id__": 11
+      }
+    ],
+    "_prefab": {
+      "__id__": 13
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": -14.5,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_mobility": 0,
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 8
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 10
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 44.18,
+      "height": 18
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "c7LPs+xc9HZpOPw7M552nX"
+  },
+  {
+    "__type__": "cc.Label",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 8
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 12
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_string": "0.50",
+    "_horizontalAlign": 1,
+    "_verticalAlign": 1,
+    "_actualFontSize": 18,
+    "_fontSize": 18,
+    "_fontFamily": "Arial",
+    "_lineHeight": 18,
+    "_overflow": 0,
+    "_enableWrapText": true,
+    "_font": {
+      "__uuid__": "48292d49-8a8a-476d-b3b7-b266fe8df9d2",
+      "__expectedType__": "cc.BitmapFont"
+    },
+    "_isSystemFontUsed": false,
+    "_spacingX": 0,
+    "_isItalic": false,
+    "_isBold": false,
+    "_isUnderline": false,
+    "_underlineHeight": 2,
+    "_cacheMode": 0,
+    "_enableOutline": false,
+    "_outlineColor": {
+      "__type__": "cc.Color",
+      "r": 0,
+      "g": 0,
+      "b": 0,
+      "a": 255
+    },
+    "_outlineWidth": 2,
+    "_enableShadow": false,
+    "_shadowColor": {
+      "__type__": "cc.Color",
+      "r": 0,
+      "g": 0,
+      "b": 0,
+      "a": 255
+    },
+    "_shadowOffset": {
+      "__type__": "cc.Vec2",
+      "x": 2,
+      "y": 2
+    },
+    "_shadowBlur": 2,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "a5IHZvQHdBeqb9d1nj5Rp+"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "b5iAfq7hhA9ZDziN4gVv+X",
+    "instance": null,
+    "targetOverrides": null,
+    "nestedPrefabInstanceRoots": null
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 15
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 55,
+      "height": 53
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "ecGSdFRQtPx4DKrN+qMb3j"
+  },
+  {
+    "__type__": "cc.Layout",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 17
+    },
+    "_resizeMode": 0,
+    "_layoutType": 2,
+    "_cellSize": {
+      "__type__": "cc.Size",
+      "width": 40,
+      "height": 40
+    },
+    "_startAxis": 0,
+    "_paddingLeft": 0,
+    "_paddingRight": 0,
+    "_paddingTop": 5,
+    "_paddingBottom": 0,
+    "_spacingX": 5,
+    "_spacingY": -10,
+    "_verticalDirection": 1,
+    "_horizontalDirection": 0,
+    "_constraint": 0,
+    "_constraintNum": 2,
+    "_affectedByScale": false,
+    "_isAlign": true,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "85DuhorzVE4oxb5CiTZzG2"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "__editorExtras__": {},
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 19
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": {
+      "__uuid__": "ad9c3d1f-d9e0-4cc6-8594-21ad714d5e10@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "_type": 0,
+    "_fillType": 0,
+    "_sizeMode": 1,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "ccSrsXEEhK5421GLDPOvPa"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "5402n6kR5D0L3DMoPI12NH",
+    "instance": null,
+    "targetOverrides": null
+  }
+]

+ 13 - 0
assets/lobbyRes/ui/seasonPass/tasks/prop_sc.prefab.meta

@@ -0,0 +1,13 @@
+{
+  "ver": "1.1.50",
+  "importer": "prefab",
+  "imported": true,
+  "uuid": "d4696c03-f53a-4548-8f35-62852c435e91",
+  "files": [
+    ".json"
+  ],
+  "subMetas": {},
+  "userData": {
+    "syncNodeName": "prop_sc"
+  }
+}

+ 6 - 0
assets/scripts/api/LobbyApi.ts

@@ -40,6 +40,12 @@ export const APP_EMAIL_CHANGE_CONFIRM = post('email/change/confirm');
 export const APP_CHECK_IN_INFO = get('sc/daily_reward');
 export const APP_CHECK_IN = post('sc/daily_reward/claim');
 
+export const APP_SEASON_PASS_INFO = get('sc/daily_challenge');
+export const APP_SEASON_PASS_TASKS_CLAIM = post('sc/daily_challenge/claim');
+export const APP_SEASON_PASS_PRIZE_CLAIM = post('sc/daily_challenge/pass_claim');
+
+
+
 
 
 export const APP_PROTECT_CHECK = get('protect/check');

+ 1 - 0
assets/scripts/app/AppEvents.ts

@@ -27,4 +27,5 @@ export interface AppEventMap {
   'close:ui-view': UIViewID,
   'mail:update': undefined,
   'checkIn:update': undefined,
+  'seasonPass:update': undefined,
 }

+ 9 - 7
assets/scripts/define/UIDefine.ts

@@ -232,7 +232,8 @@ export const UIViewConfigs: Record<string, UIViewConfig> = {
     [UIViewID.SeasonPassView]: {
         id: UIViewID.SeasonPassView,
         prefabPath: 'ui/seasonPass/SeasonPassView',
-        layer: UILayer.Page
+        layer: UILayer.Page,
+        cache: UICachePolicy.Delayed,
     },
     [UIViewID.SeasonPassPurchase]: {
         id: UIViewID.SeasonPassPurchase,
@@ -259,17 +260,18 @@ export const UIViewConfigs: Record<string, UIViewConfig> = {
         prefabPath: 'ui/club/UIKYCVerify',
         layer: UILayer.Popup
     },
-    [UIViewID.CheckInView]: {
+   
+    [UIViewID.RewardView]: {
+        id: UIViewID.RewardView,
+        prefabPath: 'ui/reward/RewardView',
+        layer: UILayer.Popup,
+    },
+     [UIViewID.CheckInView]: {
         id: UIViewID.CheckInView,
         prefabPath: 'ui/checkIn/CheckInView',
         layer: UILayer.Page,
         cache: UICachePolicy.Delayed,
     },
-    [UIViewID.RewardView]: {
-        id: UIViewID.RewardView,
-        prefabPath: 'ui/reward/RewardView',
-        layer: UILayer.Page,
-    }
 
 };
 

+ 4 - 2
assets/scripts/framework/ui/UIPopup.ts

@@ -20,8 +20,10 @@ export class UIPopup<TParams = unknown> extends UIView<TParams> {
     private rootTween: Tween;
 
     internalCreate() {
-        const sptMask = this.popupMask.getComponent(Sprite);
-        if (sptMask) sptMask.color = color(0, 0, 0, 191);
+        if (this.popupMask) {
+            const sptMask = this.popupMask.getComponent(Sprite);
+            if (sptMask) sptMask.color = color(0, 0, 0, 191);
+        }
 
         if (this.popupMask) this.popupMask.opacity = 0;
         if (this.popupRoot) this.popupRoot.scale = Vec3.ZERO;

+ 1 - 1
assets/scripts/framework/ui/UIView.ts

@@ -30,7 +30,7 @@ export class UIView<TParams = unknown> extends Component {
   }
 
   async internalOpen(params: TParams): Promise<void> {
-    this.node.setSiblingIndex(this.node.children.length);
+    this.node.setSiblingIndex(this.node.parent.children.length);
     await this.onOpen(params);
   }
 

+ 5 - 2
assets/scripts/modules/lobby/ui/CheckInView/CheckInView.ts

@@ -55,11 +55,13 @@ export class CheckInView extends UIView {
     })
   }
 
-  protected onBeforeClose(_reason: UICloseReason): boolean | Promise<boolean> {
+  protected onDestroy(): void {
     AppKernel.events.off('checkIn:update', this.updateCheckInView, this);
-    return true;
+    super.onDestroy();
   }
 
+ 
+
   private updateCheckInView() {
     this._checkInData = AppKernel.stores.checkInStore.checkInData;
 
@@ -180,6 +182,7 @@ export class CheckInView extends UIView {
     const checkInStore = AppKernel.stores.checkInStore;
     const res = await checkInStore.reqCheckIn(index + 1);
     if (res) AppKernel.ui.open(UIViewID.RewardView, { reward });
+    //  AppKernel.ui.open(UIViewID.RewardView, { reward });
   }
 
   private onBtnViewClubClick() {

+ 6 - 1
assets/scripts/modules/lobby/ui/HomeView/HomeView.ts

@@ -12,6 +12,7 @@ import { GameItem } from './GameItem';
 import { RED_POINTS } from '@scripts/app/AppRedpoint';
 import { formatGCNum, formatSCNum } from '@scripts/utils/Helper';
 import { HomeNotices } from './HomeNotices';
+import { setSpriteFrame } from '@scripts/utils/ResHelper';
 
 const { ccclass, property } = _decorator;
 
@@ -238,7 +239,7 @@ export class HomeView extends UIView {
     }
 
     private onBtnTaskClick() {
-
+        AppKernel.ui.open(UIViewID.SeasonPassView);
     }
 
     private onBtnRedeemClick() {
@@ -301,6 +302,10 @@ export class HomeView extends UIView {
         const mainStore = AppKernel.stores.mainStore;
         const userInfo = mainStore.userInfo;
         this.userNode.lblVip.string = formatVipLv(userInfo.vip);
+        const { FaceID, Level } = userInfo;
+        if (FaceID >= 1) setSpriteFrame(this.userNode.sptAvatar, "common/avatars/" + FaceID);
+        this.userNode.lblVip.string = "LV." + Level;
+
         this.scModel.lblValue.string = formatSCNum(mainStore.scScore);
         this.gcModel.lblValue.string = formatGCNum(mainStore.gcScore);
     }

+ 4 - 2
assets/scripts/modules/lobby/ui/LoginView/LoginView.ts

@@ -81,8 +81,7 @@ export class LoginView extends UIView {
   }
 
   protected onBeforeClose(_reason: UICloseReason): boolean | Promise<boolean> {
-    AppKernel.events.off('open:ui-view', this.handleSubViewOpen, this);
-    AppKernel.events.off('close:ui-view', this.handleSubViewClose, this);
+
     return true;
   }
 
@@ -159,6 +158,9 @@ export class LoginView extends UIView {
   }
 
   protected onDestroy(): void {
+    AppKernel.events.off('open:ui-view', this.handleSubViewOpen, this);
+    AppKernel.events.off('close:ui-view', this.handleSubViewClose, this);
+
     this._googleWebBtn?.clear();
     super.onDestroy();
   }

+ 4 - 7
assets/scripts/modules/lobby/ui/Mail/Mail.ts

@@ -44,9 +44,11 @@ export class Mail extends UIPopup {
         addBtnClick(this.btn_claimAll, this.onBtnClaimAllClick, this);
     }
 
-    protected onBeforeClose(_reason: UICloseReason): boolean | Promise<boolean> {
+    protected onDestroy(): void {
         AppKernel.events.off('mail:update', this.updateMailItems, this);
-        return true;
+        this._mailItemPool.clear();
+        
+        super.onDestroy();
     }
 
     private updateMailItems() {
@@ -88,11 +90,6 @@ export class Mail extends UIPopup {
         this._usedItems.length = 0;
     }
 
-    // 弹窗销毁,清空池子释放资源
-    protected onDestroy(): void {
-        this._mailItemPool.clear();
-    }
-
     private onBtnCloseClick() {
         AppKernel.ui.close(UIViewID.Mail);
     }

+ 5 - 1
assets/scripts/modules/lobby/ui/RewardView/RewardView.ts

@@ -4,10 +4,11 @@ import { AppKernel } from '@scripts/app/AppKernel';
 import { UIViewID } from '@scripts/define/UIDefine';
 import { addBtnClick } from '@scripts/utils/UIHelper';
 import { setSpriteFrame } from '@scripts/utils/ResHelper';
+import { UIPopup } from '@scripts/framework/ui/UIPopup';
 const { ccclass, property } = _decorator;
 
 @ccclass('RewardView')
-export class RewardView extends UIView {
+export class RewardView extends UIPopup {
   readonly viewId = UIViewID.RewardView;
   @property(Node)
   private btn_receive: Node;
@@ -39,8 +40,11 @@ export class RewardView extends UIView {
     }
     this._usedItems.length = 0;
 
+    const needShowRewards = ["sc", "gc"];
     // 遍历奖励对象
     for (const [key, val] of Object.entries(param)) {
+      if (!needShowRewards.includes(key)) continue;
+
       let itemNode: Node;
       if (this._itemPool.size() > 0) {
         itemNode = this._itemPool.get();

+ 9 - 0
assets/scripts/modules/lobby/ui/SeasonPassView/Prize.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "1.2.0",
+  "importer": "directory",
+  "imported": true,
+  "uuid": "c91248fb-d367-4765-9fa2-99769fa62eca",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 197 - 0
assets/scripts/modules/lobby/ui/SeasonPassView/Prize/NodeItem.ts

@@ -0,0 +1,197 @@
+import { AppKernel } from '@scripts/app/AppKernel';
+import { UIViewID } from '@scripts/define/UIDefine';
+import { UIView } from '@scripts/framework/ui/UIView';
+import { formatMailTimeToMMDDYYYY, parseMailRewardStr } from '@scripts/utils/Helper';
+import { setSpriteFrame } from '@scripts/utils/ResHelper';
+import { addBtnClick, removeBtnClick } from '@scripts/utils/UIHelper';
+import { _decorator, Button, Component, Enum, instantiate, Label, Node, NodePool, Prefab, ProgressBar, Sprite, SpriteFrame, tween, UIOpacity } from 'cc';
+const { ccclass, property } = _decorator;
+
+@ccclass('NodeItem')
+export class NodeItem extends Component {
+
+    @property(SpriteFrame)
+    private img_bg_free_node: SpriteFrame = null;
+
+    @property(SpriteFrame)
+    private img_bg_dlx_node: SpriteFrame = null;
+
+    @property(Node)
+    private dlx: Node = null;
+
+    @property(Node)
+    private progress: Node = null;
+
+    @property(Node)
+    private free: Node = null;
+
+
+
+    @property(Prefab)
+    private prop_sc: Prefab = null;
+
+    @property(Prefab)
+    private prop_gc: Prefab = null;
+
+
+
+    private _data: any = {};
+
+    onLoad() {
+        addBtnClick(this.dlx, this.onDlxBtnClick, this);
+        addBtnClick(this.free, this.onFreeBtnClick, this);
+    }
+
+
+    initItem(data: any = {}) {
+        this._data = data;
+
+        this.updateFree();
+        this.updateDeluxe();
+        this.updateProgress();
+
+    }
+
+    updateFree() {
+        const { node } = this._data;
+        if (!node) return;
+        const { free, unlocked } = node ?? {};
+        const { reward, claimed } = free ?? {};
+
+        const rewards = this.free.getChildByName('rewards');
+        const lock = this.free.getChildByName('lock');
+        const highlight = this.free.getChildByName('highlight');
+        const received = this.free.getChildByName('received');
+
+        const isEmpty = Object.values(reward).every(val => val == 0);
+        this.free.active = !isEmpty;
+
+        for (const [key, val] of Object.entries(reward)) {
+            if (!this[`prop_${key}`] || val == 0) continue;
+
+            const item = rewards.getChildByName(`prop_${key}`) ?? instantiate(this[`prop_${key}`]);
+            item.parent = rewards;
+            item.active = true;
+
+            item.getComponent(Sprite).spriteFrame = this.img_bg_free_node;
+
+            const num = item.getChildByName('num');
+            const label = num.getComponent(Label);
+            if (key == "sc" || key == "gc") {
+                label.string = `${(Number(val) / 100).toFixed(2)}`;
+            } else {
+                label.string = `${val}`;
+            }
+        }
+
+        rewards.active = true;
+        lock.active = unlocked == 0;
+        highlight.active = claimed == 0 && unlocked == 1;
+        received.active = claimed == 1;
+
+        this.stopLightBlink(highlight);
+        if (claimed == 0 && unlocked == 1) this.startLightBlink(highlight);
+    }
+
+    updateDeluxe() {
+        const { node, is_deluxe } = this._data;
+        if (!node) return;
+        const { deluxe, unlocked } = node ?? {};
+        const { reward, claimed } = deluxe ?? {};
+
+        const rewards = this.dlx.getChildByName('rewards');
+        const lock = this.dlx.getChildByName('lock');
+        const highlight = this.dlx.getChildByName('highlight');
+        const received = this.dlx.getChildByName('received');
+
+        const isEmpty = Object.values(reward).every(val => val == 0);
+        this.dlx.active = !isEmpty;
+
+        for (const [key, val] of Object.entries(reward)) {
+            if (!this[`prop_${key}`] || val == 0) continue;
+
+            const item = rewards.getChildByName(`prop_${key}`) ?? instantiate(this[`prop_${key}`]);
+            item.parent = rewards;
+            item.active = true;
+
+            item.getComponent(Sprite).spriteFrame = this.img_bg_dlx_node;
+
+            const num = item.getChildByName('num');
+            const label = num.getComponent(Label);
+            if (key == "sc" || key == "gc") {
+                label.string = `${(Number(val) / 100).toFixed(2)}`;
+            } else {
+                label.string = `${val}`;
+            }
+        }
+
+        rewards.active = true;
+        lock.active = unlocked == 0 || is_deluxe == 0;
+        highlight.active = claimed == 0 && unlocked == 1 && is_deluxe == 1;
+        received.active = claimed == 1 && is_deluxe == 1;
+
+        this.stopLightBlink(highlight);
+        if (claimed == 0 && unlocked == 1 && is_deluxe == 1) this.startLightBlink(highlight);
+    }
+
+    updateProgress() {
+        const { node, current_xp, is_deluxe } = this._data;
+        if (!node) return;
+        const { required_xp } = node ?? {};
+
+        const progressBar = this.progress.getComponent(ProgressBar);
+        const label = this.progress.getChildByName('label').getComponent(Label);
+        label.string = required_xp + "XP";
+
+        if (current_xp == required_xp) {
+            progressBar.progress = 0.53;
+        } else if (current_xp > required_xp) {
+            progressBar.progress = 1;
+        } else if (current_xp < required_xp) {
+            progressBar.progress = 0;
+        } else {
+
+        }
+
+    }
+
+
+
+    private async onDlxBtnClick() {
+        const { reward_id, reward } = this._data?.node?.deluxe ?? {};
+        const res = await AppKernel.stores.seasonPassStore.reqSeasonPassPrizeClaim(reward_id);
+        if (res) AppKernel.ui.open(UIViewID.RewardView, { reward });
+    }
+
+    private async onFreeBtnClick() {
+        const { reward_id, reward } = this._data?.node?.free ?? {};
+        const res = await AppKernel.stores.seasonPassStore.reqSeasonPassPrizeClaim(reward_id);
+        if (res) AppKernel.ui.open(UIViewID.RewardView, { reward });
+    }
+
+
+    startLightBlink(lightNode: Node) {
+        const uiOpacity = lightNode.getComponent(UIOpacity) || lightNode.addComponent(UIOpacity);
+        // 先重置初始透明度
+        uiOpacity.opacity = 255;
+
+        tween(uiOpacity)
+            .to(0.6, { opacity: 0 })
+            .to(0.6, { opacity: 255 })
+            .union()
+            .repeatForever() // 无限循环闪烁
+            .start();
+    }
+
+    // 停止闪烁
+    stopLightBlink(lightNode: Node) {
+        const uiOpacity = lightNode.getComponent(UIOpacity);
+        if (!uiOpacity) return;
+        tween(uiOpacity).stop();
+        uiOpacity.opacity = 255; // 恢复不透明
+    }
+
+
+}
+
+

+ 1 - 0
assets/scripts/modules/lobby/ui/SeasonPassView/Prize/NodeItem.ts.meta

@@ -0,0 +1 @@
+{"ver":"4.0.24","importer":"typescript","imported":true,"uuid":"1e308aaf-1d36-433a-8922-5fb32119599a","files":[],"subMetas":{},"userData":{}}

+ 30 - 33
assets/scripts/modules/lobby/ui/SeasonPassView/SeasonPassPurchase.ts

@@ -13,54 +13,51 @@ export class SeasonPassPurchase extends UIPopup {
   readonly viewId = UIViewID.SeasonPassPurchase;
 
   @property(Node)
-  private btnClose: Node = null;
+  private btn_close: Node = null;
 
   @property(Node)
-  private btnView: Node = null;
+  private btn_buy: Node = null;
 
-  @property(Node)
-  private btnSubmit: Node = null;
-
-  @property(EditBox)
-  account: EditBox;
-
-  @property(EditBox)
-  code: EditBox;
 
-  @property(EditBox)
-  psd: EditBox;
+  private _gear: any = {};
 
-  @property(EditBox)
-  inviteCode: EditBox;
-
-  @property(SelectBox)
-  selectBox: SelectBox;
+  protected onOpen(_params): void | Promise<void> {
+    this._gear = _params;
+  }
 
 
   protected onCreate(): void | Promise<void> {
-    // addBtnClick(this.btnClose, this.onBtnCloseClick, this);
-    // addBtnClick(this.btnView, this.onBtnViewClick, this);
-    // addBtnClick(this.btnSubmit, this.onBtnSubmitClick, this);
-
-
-    // const selectData = ["Account & Login", "Gameplay Issue", "Payment & Purchase", "Technical Issue"];
-    // this.selectBox?.initSelectItems(selectData);
+    addBtnClick(this.btn_close, this.onBtnCloseClick, this);
+    addBtnClick(this.btn_buy, this.onBtnBuyClick, this);
   }
 
   private onBtnCloseClick() {
-    AppKernel.ui.close(UIViewID.Support);
-    const loginView = AppKernel.ui.get(UIViewID.LoginView) as any;
-    if (loginView && loginView?.enabled) {
-      loginView?._googleWebBtn?.setActive(true);
-    }
+    AppKernel.ui.close(this.viewId);
   }
 
-  private onBtnViewClick() {
-    
+  private onBtnBuyClick() {
+    const payServices = AppKernel.services.paymentServices;
+    const formatGear = this.formatGoods(this._gear);
+    payServices.startPayment(formatGear, 0);
+
   }
 
-  private onBtnSubmitClick() {
-    
+  private formatGoods(goods: any) {
+    goods.gears = JSON.parse(goods.gear);
+    goods.cp = Number(goods.cp);
+    goods.cp_reward = Number(goods.cp_reward);
+    goods.cp_reward_display_percent = Number(goods.cp_reward_display_percent);
+    goods.gc = Number(goods.gc);
+    goods.gc_reward = Number(goods.gc_reward);
+    goods.gc_reward_display_percent = Number(goods.gc_reward_display_percent);
+    goods.gc_vip_reward = Number(goods.gc_vip_reward);
+    goods.gc_vip_reward_display_percent = Number(goods.gc_vip_reward_display_percent);
+    goods.sc = Number(goods.sc);
+    goods.sc_reward = Number(goods.sc_reward);
+    goods.sc_reward_display_percent = Number(goods.sc_reward_display_percent);
+
+    return goods;
   }
 
+
 }

+ 408 - 21
assets/scripts/modules/lobby/ui/SeasonPassView/SeasonPassView.ts

@@ -1,67 +1,330 @@
-import { _decorator, Button, Color, EditBox, instantiate, Label, Node, RichText, Sprite, SpriteFrame, UITransform } from 'cc';
+import { _decorator, Button, Color, EditBox, instantiate, Label, Node, NodePool, Prefab, ProgressBar, RichText, Sprite, SpriteFrame, UITransform } from 'cc';
 import { UIView } from '@scripts/framework/ui/UIView';
 import { AppKernel } from '@scripts/app/AppKernel';
 import { UIViewID } from '@scripts/define/UIDefine';
 import { UICloseReason } from '@scripts/framework/ui/UILayer';
 import { formatCurrency } from '@scripts/utils/Helper';
 import { addBtnClick } from '@scripts/utils/UIHelper';
+import { RewardItem, RewardType } from './Tasks/RewardItem';
+import { NodeItem } from './Prize/NodeItem';
 
 const { ccclass, property } = _decorator;
 
+interface CDTask {
+  targetTs: number;
+  label: Label;
+  format?: (timeStr: string) => string; // 改成接收已经格式化好的时间字符串,可选
+  timerFunc: () => void;
+}
+
+
 @ccclass('SeasonPassView')
 export class SeasonPassView extends UIView {
   readonly viewId = UIViewID.SeasonPassView;
 
+  @property(Node)
+  btn_close: Node = null;
+
+  @property(Node)
+  btn_tasks: Node = null;
+
+  @property(Node)
+  btn_prize: Node = null;
+
+  @property(Node)
+  btn_buyPass: Node = null;
 
   @property(Node)
-  item_DLX: Node = null;
+  tasks: Node = null;
 
   @property(Node)
-  item_free: Node = null;
+  prize: Node = null;
+
+  @property(Label)
+  season_end: Label = null;
+
+  @property(Label)
+  tasks_daily_done: Label = null;
+
+  @property(Label)
+  tasks_daily_reset: Label = null;
+
+  @property(Node)
+  tasks_daily_content: Node = null;
+
+  @property(Label)
+  tasks_seasonal_done: Label = null;
+
+  @property(Label)
+  tasks_seasonal_reset: Label = null;
+
+  @property(Node)
+  tasks_seasonal_content: Node = null;
+
+  @property(Prefab)
+  tasks_reward_item: Prefab = null;
+
+  @property(Node)
+  prize_content: Node = null;
+
+  @property(Prefab)
+  prize_node_item: Prefab = null;
 
   @property(Node)
-  item_progress: Node = null;
+  prize_fixed_dlx: Node = null;
+
+  @property(Node)
+  redPoint_tasks: Node = null;
+
+  @property(Node)
+  redPoint_prize: Node = null;
+
+  @property(ProgressBar)
+  progressBar: ProgressBar = null;
+
+  @property(Label)
+  progress_label: Label = null;
+
+  @property(Label)
+  next_need_exp: Label = null;
 
   @property(Node)
   scrollView_content: Node = null;
 
+  private _seasonPassData: any = null;
+
+  private _dailyItemPool: NodePool = new NodePool();
+  private _dailyUsedItems: Node[] = [];
+
+  private _seasonalItemPool: NodePool = new NodePool();
+  private _seasonalUsedItems: Node[] = [];
+
+  private _prizeItemPool: NodePool = new NodePool();
+  private _prizeUsedItems: Node[] = [];
+
 
 
+  protected async onBeforeOpen(_params: unknown): Promise<boolean> {
+    const seasonPassStore = AppKernel.stores.seasonPassStore;
+    const res = await seasonPassStore.reqSeasonPassInfo();
+    return res;
+  }
+
   protected onCreate(): void | Promise<void> {
-    // addBtnClick(this.btnGuest.node, this.onBtnGuestClick, this);
-    // addBtnClick(this.btnFacebook.node, this.onBtnFBClick, this);
-    // addBtnClick(this.btnGoogle.node, this.onBtnGoogleClick, this);
-    // this._googleWebBtn = AppKernel.google.createLoginBtn(
-    //   this.btnGoogle.node,
-    //   res => this.onGoogleWebLogin(res),
-    // );
+    AppKernel.events.on('seasonPass:update', this.updateSeasonPassView, this);
+    AppKernel.events.on('checkIn:update', this.handleCheckInUpdate, this);
+    addBtnClick(this.btn_close, this.onBtnCloseClick, this);
+    addBtnClick(this.btn_tasks, this.onBtnTasksClick, this);
+    addBtnClick(this.btn_prize, this.onBtnPrizeClick, this);
+    addBtnClick(this.btn_buyPass, this.onBtnBuyPassClick, this);
+    this.initView();
+  }
+
+  // protected onBeforeClose(_reason: UICloseReason): boolean | Promise<boolean> {
+
+  //   return true;
+  // }
+
+
+  private handleCheckInUpdate() {
+    AppKernel.stores.seasonPassStore.reqSeasonPassInfo();
+  }
+
+  private updateSeasonPassView() {
+    this._seasonPassData = AppKernel.stores.seasonPassStore.seasonPassData;
+
+    this.updateTasks();
+    this.updatePrize();
+    this.updateRedPoint();
+    this.updateProgress();
+  }
 
-    // addBtnClick(this.btnRegister, this.onBtnRegisterClick, this);
-    // addBtnClick(this.btnLogin, this.onBtnLoginClick, this);
-    // addBtnClick(this.btnResetPsd, this.onBtnResetPsdClick, this);
-    // addBtnClick(this.btnSupport, this.onBtnSupportClick, this);
+  private updateTasks() {
+    const { season_tasks } = this._seasonPassData ?? {};
 
+    this.updateDailyTasks();
+    this.updateSeasonalTasks();
 
+    const seasonal_targetTs = season_tasks?.end_at * 1000;
+    this.startTimer(seasonal_targetTs, this.season_end);
+
+  }
+
+  private updateDailyTasks() {
+    const { tasks, task_end_timestamp } = this._seasonPassData ?? {};
+    // 将当前正在使用的item全部回收进对象池
+    for (const node of this._dailyUsedItems) {
+      this._dailyItemPool.put(node);
+    }
+    this._dailyUsedItems.length = 0;
+
+    for (const task of tasks ?? []) {
+      let itemNode: Node;
+      if (this._dailyItemPool.size() > 0) {
+        itemNode = this._dailyItemPool.get();
+      } else {
+        itemNode = instantiate(this.tasks_reward_item);
+      }
+      itemNode.active = true;
+      itemNode.parent = this.tasks_daily_content;
+
+      const itemCmp = itemNode.getComponent(RewardItem);
+      if (itemCmp) itemCmp.initItem(task, RewardType.Daily);
+
+      this._dailyUsedItems.push(itemNode);
+    }
+
+    const daily_done = tasks?.filter(task => task.status > 0)?.length ?? 0;
+    this.tasks_daily_done.string = `${daily_done}/${tasks?.length ?? 0} DONE`;
+
+    const daily_targetTs = task_end_timestamp * 1000;
+    this.startTimer(daily_targetTs, this.tasks_daily_reset, (cd) => "RESET IN " + cd);
+  }
+
+  private updateSeasonalTasks() {
+    const { season_tasks } = this._seasonPassData ?? {};
+    for (const node of this._seasonalUsedItems) {
+      this._seasonalItemPool.put(node);
+    }
+    this._seasonalUsedItems.length = 0;
+
+    for (const task of season_tasks?.tasks ?? []) {
+      let itemNode: Node;
+      if (this._seasonalItemPool.size() > 0) {
+        itemNode = this._seasonalItemPool.get();
+      } else {
+        itemNode = instantiate(this.tasks_reward_item);
+      }
+      itemNode.active = true;
+      itemNode.parent = this.tasks_seasonal_content;
 
-    // this.initPsdInput();
-    // this.initPolicyDesc();
 
-    // this.initScrollView();
+      const itemCmp = itemNode.getComponent(RewardItem);
+      if (itemCmp) itemCmp.initItem(task, RewardType.Seasonal);
+
+      this._seasonalUsedItems.push(itemNode);
+
+    }
+
+    const seasonal_done = season_tasks?.tasks.filter(task => task.status > 0)?.length ?? 0;
+    this.tasks_seasonal_done.string = `${seasonal_done}/${season_tasks?.tasks.length ?? 0} DONE`;
+
+
+    const seasonal_targetTs = season_tasks?.end_at * 1000;
+    this.startTimer(seasonal_targetTs, this.tasks_seasonal_reset, (cd) => "RESET IN " + cd);
 
   }
 
+  private updatePrize() {
+    const { pass } = this._seasonPassData ?? {};
+    const { current_xp, is_deluxe } = pass ?? {};
+    // 将当前正在使用的item全部回收进对象池
+    for (const node of this._prizeUsedItems) {
+      this._prizeItemPool.put(node);
+    }
+    this._prizeUsedItems.length = 0;
+
+    for (const node of pass?.nodes ?? []) {
+      let itemNode: Node;
+      if (this._prizeItemPool.size() > 0) {
+        itemNode = this._prizeItemPool.get();
+      } else {
+        itemNode = instantiate(this.prize_node_item);
+      }
+      itemNode.active = true;
+      itemNode.parent = this.prize_content;
+
+      const itemCmp = itemNode.getComponent(NodeItem);
+      if (itemCmp) itemCmp.initItem({ node, current_xp, is_deluxe });
+
+      this._prizeUsedItems.push(itemNode);
+    }
+
+    const activeLabel = this.prize_fixed_dlx.getChildByName('label');
+    const btn_unlock = this.prize_fixed_dlx.getChildByName('btn_unlock');
+    const lock = this.prize_fixed_dlx.getChildByName('lock');
+    activeLabel.active = is_deluxe;
+    btn_unlock.active = !is_deluxe;
+    lock.active = !is_deluxe;
+  }
 
+  private updateRedPoint() {
+    const { tasks, season_tasks, pass } = this._seasonPassData ?? {};
+
+    const hasTaskReward = tasks?.some(task => task.status === 1) ?? false;
+    const hasSeasonalReward = season_tasks?.tasks.some(task => task.status === 1) ?? false;
+
+    const { is_deluxe, nodes } = pass ?? {};
+    const hasFreePrizeReward = nodes?.some(node => {
+      const unlocked = node.unlocked === 1;
+      const canClaim = node.free.claimed === 0;
+      const hasReward = Object.values(node.free.reward)?.some(reward => reward != 0);
+      return unlocked && canClaim && hasReward;
+    });
+    const hasDeluxePrizeReward = nodes?.some(node => {
+      const unlocked = node.unlocked === 1;
+      const canClaim = node.deluxe.claimed === 0;
+      const hasReward = Object.values(node.deluxe.reward)?.some(reward => reward != 0);
+      return unlocked && canClaim && hasReward && is_deluxe;
+    })
+
+    console.log("hasTaskReward", hasTaskReward, "hasSeasonalReward", hasSeasonalReward, "hasFreePrizeReward", hasFreePrizeReward, "hasDeluxePrizeReward", hasDeluxePrizeReward);
+
+    this.redPoint_tasks.active = hasTaskReward || hasSeasonalReward;
+    this.redPoint_prize.active = hasFreePrizeReward || hasDeluxePrizeReward;
+  }
 
-  protected onOpen(_params: unknown): void | Promise<void> {
+  private updateProgress() {
+    const { pass } = this._seasonPassData ?? {};
+    const { current_xp, nodes } = pass ?? {};
+    const next_need_exp = nodes?.find(node => node.required_xp > current_xp)?.required_xp;
+
+    if (!next_need_exp) {
+      this.progress_label.string = 'MAX';
+      this.progressBar.progress = 1;
+      this.next_need_exp.string = 'MAX LEVEL';
+    } else {
+      this.progress_label.string = `${current_xp}/${next_need_exp ?? 0} XP`;
+      this.progressBar.progress = current_xp / next_need_exp;
+      this.next_need_exp.string = `${next_need_exp - current_xp} XP TO\nNEXT PRIZE`;
+    }
   }
 
-  protected onClose(_reason: UICloseReason): void | Promise<void> {
+  // 弹窗关闭,回收节点
+  protected async onAfterClose() {
+    for (const node of this._dailyUsedItems) {
+      this._dailyItemPool.put(node);
+    }
+    this._dailyUsedItems.length = 0;
+
+    for (const node of this._seasonalUsedItems) {
+      this._seasonalItemPool.put(node);
+    }
+    this._seasonalUsedItems.length = 0;
+
+    for (const node of this._prizeUsedItems) {
+      this._prizeItemPool.put(node);
+    }
+    this._prizeUsedItems.length = 0;
   }
 
+  // 弹窗销毁,清空池子释放资源
   protected onDestroy(): void {
+    this._dailyItemPool.clear();
+    this._seasonalItemPool.clear();
+    this._prizeItemPool.clear();
+    this.stopAllTimer();
+
+    AppKernel.events.off('seasonPass:update', this.updateSeasonPassView, this);
+    AppKernel.events.off('checkIn:update', this.handleCheckInUpdate, this);
+
+    super.onDestroy();
   }
 
-  private initScrollView() {
+  private initView() {
+    this.onToggleSidebar("tasks");
+
+
     // const items_data = new Array(10).fill(0);
     // items_data.forEach((item, index) => {
     //   const item_DLX = instantiate(this.item_DLX);
@@ -94,4 +357,128 @@ export class SeasonPassView extends UIView {
 
   }
 
+  private onBtnCloseClick() {
+    AppKernel.ui.close(this.viewId);
+  }
+
+  private onToggleSidebar(type: string) {
+    const selected_tasks = this.btn_tasks.getChildByName('selected');
+    const unselected_tasks = this.btn_tasks.getChildByName('unselected');
+    const selected_prize = this.btn_prize.getChildByName('selected');
+    const unselected_prize = this.btn_prize.getChildByName('unselected');
+    selected_tasks.active = type === "tasks";
+    unselected_tasks.active = type !== "tasks";
+    selected_prize.active = type === "prize";
+    unselected_prize.active = type !== "prize";
+    this.tasks.active = type === "tasks";
+    this.prize.active = type === "prize";
+  }
+
+  private onBtnTasksClick() {
+    this.onToggleSidebar("tasks");
+  }
+
+  private onBtnPrizeClick() {
+    this.onToggleSidebar("prize");
+  }
+
+  private onBtnBuyPassClick() {
+    const { pass } = this._seasonPassData ?? {};
+    const gear = pass?.purchase_gear;
+    if (!gear) return;
+
+    AppKernel.ui.open(UIViewID.SeasonPassPurchase, gear);
+  }
+
+
+  private _cdTaskList: CDTask[] = [];
+  /**
+   * 开启倒计时
+   * @param targetTs 结束时间戳(ms)
+   * @param label 显示文字的Label
+   * @param format 格式化回调,入参剩余秒数,返回要展示的字符串
+   */
+  private startTimer(targetTs: number, label: Label, format?: (timeStr: string) => string) {
+    if (targetTs == null || isNaN(targetTs)) return;
+    // 先查找这个label有没有正在跑的倒计时,存在就先停止旧的
+    const existIdx = this._cdTaskList.findIndex(item => item.label === label);
+    if (existIdx >= 0) {
+      const oldTask = this._cdTaskList[existIdx];
+      this.unschedule(oldTask.timerFunc);
+      this._cdTaskList.splice(existIdx, 1);
+    }
+    // 计算当前剩余秒数
+    const diff = targetTs - Date.now();
+    const remainSec = Math.max(0, Math.ceil(diff / 1000));
+    const timeStr = this.formatHMS(remainSec);
+    // 有format就调用,没有直接用timeStr
+    label.string = format ? format(timeStr) : timeStr;
+
+    if (remainSec <= 0) {
+      return;
+    }
+    // 新建任务
+    const task: CDTask = {
+      targetTs,
+      label,
+      format,
+      timerFunc: () => this.onUpdateCDTask(task)
+    };
+    this._cdTaskList.push(task);
+    this.onUpdateCDTask(task);
+    this.schedule(task.timerFunc, 1);
+  }
+
+
+  private stopTimerByLabel(label: Label) {
+    const idx = this._cdTaskList.findIndex(item => item.label === label);
+    if (idx >= 0) {
+      const task = this._cdTaskList[idx];
+      this.unschedule(task.timerFunc);
+      this._cdTaskList.splice(idx, 1);
+    }
+  }
+
+  private stopAllTimer() {
+    for (const task of this._cdTaskList) {
+      this.unschedule(task.timerFunc);
+    }
+    this._cdTaskList.length = 0;
+  }
+
+  private onUpdateCDTask(task: CDTask) {
+    const now = Date.now();
+    const diff = task.targetTs - now;
+    const remainSec = Math.max(0, Math.ceil(diff / 1000));
+    const timeStr = this.formatHMS(remainSec);
+    // 存在format回调就调用,没有直接使用时间字符串
+    task.label.string = task.format ? task.format(timeStr) : timeStr;
+    if (remainSec <= 0) {
+      this.unschedule(task.timerFunc);
+      const idx = this._cdTaskList.indexOf(task);
+      if (idx > -1) {
+        this._cdTaskList.splice(idx, 1);
+      }
+    }
+  }
+
+
+  private formatHMS(totalSec: number): string {
+    const sec = Math.max(0, Math.floor(totalSec));
+    const d = Math.floor(sec / (3600 * 24));
+    const h = Math.floor((sec % (3600 * 24)) / 3600);
+    const m = Math.floor((sec % 3600) / 60);
+    const s = sec % 60;
+
+    const pad = (n: number) => n.toString().padStart(2, '0');
+    const hhmmss = `${pad(h)}:${pad(m)}:${pad(s)}`;
+
+    if (d > 0) {
+      return `${d}:${hhmmss}`;
+    }
+    return hhmmss;
+  }
+
+
+
 }

+ 9 - 0
assets/scripts/modules/lobby/ui/SeasonPassView/Tasks.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "1.2.0",
+  "importer": "directory",
+  "imported": true,
+  "uuid": "35703af5-42eb-4d13-b1df-b3fe11a2c181",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 172 - 0
assets/scripts/modules/lobby/ui/SeasonPassView/Tasks/RewardItem.ts

@@ -0,0 +1,172 @@
+import { AppKernel } from '@scripts/app/AppKernel';
+import { UIViewID } from '@scripts/define/UIDefine';
+import { UIView } from '@scripts/framework/ui/UIView';
+import { formatMailTimeToMMDDYYYY, parseMailRewardStr } from '@scripts/utils/Helper';
+import { setSpriteFrame } from '@scripts/utils/ResHelper';
+import { addBtnClick, removeBtnClick } from '@scripts/utils/UIHelper';
+import { _decorator, Button, Component, Enum, instantiate, Label, Node, NodePool, Prefab, ProgressBar, Sprite, UIOpacity } from 'cc';
+const { ccclass, property } = _decorator;
+
+export enum RewardType {
+    Daily = 'daily',
+    Seasonal = 'seasonal'
+}
+
+@ccclass('RewardItem')
+export class RewardItem extends Component {
+
+    @property(Node)
+    private bg_unclaim: Node = null;
+
+    @property(Node)
+    private bg_claimed: Node = null;
+
+    @property(Sprite)
+    private task_icon: Sprite = null;
+
+    @property(Label)
+    private task_detail: Label = null;
+
+    @property(ProgressBar)
+    private progress: ProgressBar = null;
+
+    @property(Label)
+    private progress_label: Label = null;
+
+    @property(Node)
+    private rewards: Node = null;
+
+    @property(Node)
+    private btn_go: Node = null;
+
+    @property(Node)
+    private btn_claim: Node = null;
+
+    @property(Node)
+    private btn_claimed: Node = null;
+
+    @property(Prefab)
+    private prop_sc: Prefab = null;
+
+    @property(Prefab)
+    private prop_gc: Prefab = null;
+
+    @property(Prefab)
+    private prop_pass_xp: Prefab = null;
+
+
+
+    private _data: any = {};
+    private _rewardType: RewardType;
+
+    onLoad() {
+        // 只绑定一次!
+        addBtnClick(this.btn_go, this.handleBtnGoClick, this);
+        addBtnClick(this.btn_claim, this.handleBtnClaimClick, this);
+        addBtnClick(this.btn_claimed, this.handleBtnClaimedClick, this);
+    }
+
+
+    initItem(data: any = {}, rewardType: RewardType) {
+        this._data = data;
+        this._rewardType = rewardType;
+
+        setSpriteFrame(this.bg_unclaim.getComponent(Sprite), 'textures/seasonPass/tasks/tasks_bg_claim_' + this._rewardType);
+        setSpriteFrame(this.bg_claimed.getComponent(Sprite), 'textures/seasonPass/tasks/tasks_bg_claimed_' + this._rewardType);
+
+
+        const { task_type, target_value, progress, reward, status } = this._data;
+
+        switch (task_type) {
+            // 1 签到
+            // 2 完成指定数量的子游戏
+            // 3 子游戏游玩次数(需指定 game_id)
+            // 4 子游戏游玩时长(需指定 game_id)
+            // 5 获得 SC
+            case 1:
+                setSpriteFrame(this.task_icon, 'textures/seasonPass/tasks/detailIcon/icon_check');
+                this.task_detail.string = `CHECK IN TODAY`;
+                if (this._rewardType == RewardType.Seasonal) this.task_detail.string = `CHECK IN ${target_value} DAYS`;
+                break;
+            case 2:
+                setSpriteFrame(this.task_icon, 'textures/seasonPass/tasks/detailIcon/icon_game');
+                this.task_detail.string = `PLAY ${target_value} SUBGAMES`;
+                break;
+            case 3:
+                setSpriteFrame(this.task_icon, 'textures/seasonPass/tasks/detailIcon/icon_win');
+                this.task_detail.string = `WIN ${target_value} SUBGAMES`;
+                break;
+            case 4:
+                setSpriteFrame(this.task_icon, 'textures/seasonPass/tasks/detailIcon/icon_time');
+                this.task_detail.string = `PLAY ${target_value} MINS`;
+                break;
+            case 5:
+                setSpriteFrame(this.task_icon, 'textures/seasonPass/tasks/detailIcon/icon_sc');
+                this.task_detail.string = `OBTAIN SC`;
+                break;
+        }
+
+        this.progress.progress = progress / target_value;
+        this.progress_label.string = `${progress}/${target_value}`;
+
+        for (const [key, val] of Object.entries(reward)) {
+            if (!this[`prop_${key}`] || val == 0) continue;
+
+            const item = this.rewards.getChildByName(`prop_${key}`) ?? instantiate(this[`prop_${key}`]);
+            item.parent = this.rewards;
+            item.active = true;
+
+            const num = item.getChildByName('num');
+            const label = num.getComponent(Label);
+            if (key == "sc" || key == "gc") {
+                label.string = `${(Number(val) / 100).toFixed(2)}`;
+            } else {
+                label.string = `${val}`;
+            }
+        }
+
+        this.btn_go.active = status == 0;
+        this.btn_claim.active = status == 1;
+        this.btn_claimed.active = status == 2;
+
+        this.bg_unclaim.active = status != 2;
+        this.bg_claimed.active = status == 2;
+
+    }
+
+    handleBtnGoClick() {
+        const { task_type } = this._data;
+        switch (task_type) {
+            // 1 签到
+            // 2 完成指定数量的子游戏
+            // 3 子游戏游玩次数(需指定 game_id)
+            // 4 子游戏游玩时长(需指定 game_id)
+            // 5 获得 SC
+            case 1:
+                AppKernel.ui.open(UIViewID.CheckInView);
+                // 监听签到变化
+                break;
+            case 2:
+            case 3:
+            case 4:
+            case 5:
+                AppKernel.ui.close(UIViewID.SeasonPassView);
+                break;
+        }
+    }
+
+    async handleBtnClaimClick() {
+        const { id: task_id, reward } = this._data;
+        const res = await AppKernel.stores.seasonPassStore.reqSeasonPassTasksClaim(task_id);
+        if (res) AppKernel.ui.open(UIViewID.RewardView, { reward });
+    }
+
+    handleBtnClaimedClick() {
+
+    }
+
+
+
+}
+
+

+ 1 - 0
assets/scripts/modules/lobby/ui/SeasonPassView/Tasks/RewardItem.ts.meta

@@ -0,0 +1 @@
+{"ver":"4.0.24","importer":"typescript","imported":true,"uuid":"c59827dc-a68f-4f07-9ef0-aab684f35ed8","files":[],"subMetas":{},"userData":{}}

+ 5 - 8
assets/scripts/modules/lobby/ui/UserInfoView/UserInfoView.ts

@@ -115,18 +115,15 @@ export class UserInfoView extends UIView {
     this.updateUserInfo();
   }
 
-  protected onBeforeClose(_reason: UICloseReason): boolean | Promise<boolean> {
-    AppKernel.events.off('user:update', this.updateUserInfo, this);
-    AppKernel.events.off('open:ui-view', this.handleSubViewOpen, this);
-    AppKernel.events.off('close:ui-view', this.handleSubViewClose, this);
-    return true;
-  }
-
   protected onClose(_reason: UICloseReason): void | Promise<void> {
     this._googleWebBtn?.setActive(false);
   }
 
   protected onDestroy(): void {
+    AppKernel.events.off('user:update', this.updateUserInfo, this);
+    AppKernel.events.off('open:ui-view', this.handleSubViewOpen, this);
+    AppKernel.events.off('close:ui-view', this.handleSubViewClose, this);
+
     this._googleWebBtn?.clear();
     super.onDestroy();
   }
@@ -147,7 +144,7 @@ export class UserInfoView extends UIView {
     } = this._userInfo; // TODO: 获取用户信息
     console.log("updateUserInfo", this._userInfo);
 
-    if (FaceID >= 1) setSpriteFrame(this.avatar, "common/avatars/" + FaceID, "lobbyRes");
+    if (FaceID >= 1) setSpriteFrame(this.avatar, "common/avatars/" + FaceID);
     this.nickname.string = NickName;
     this.id.string = `ID:${GameID}`;
     this.level.string = `LV.${Level}`;

+ 1 - 0
assets/scripts/store/index.ts

@@ -5,4 +5,5 @@ export * from './payStore/PayStore'
 export * from './checkInStore/CheckInStore'
 export * from './vipStore/VipStore'
 export * from './withdrawStore/WithdrawStore'
+export * from './seasonPassStore/SeasonPassStore'
 export * from './handler'

+ 1 - 0
assets/scripts/store/seasonPassStore.meta

@@ -0,0 +1 @@
+{"ver":"1.2.0","importer":"directory","imported":true,"uuid":"992b1e32-74a3-462b-a0a9-e858dcf49a32","files":[],"subMetas":{},"userData":{}}

+ 57 - 0
assets/scripts/store/seasonPassStore/SeasonPassStore.ts

@@ -0,0 +1,57 @@
+import {
+    APP_SEASON_PASS_INFO,
+    APP_SEASON_PASS_PRIZE_CLAIM,
+    APP_SEASON_PASS_TASKS_CLAIM,
+} from '../../api';
+import { success } from '@scripts/api/ApiHelper';
+import { ApiEnvelope, Http } from '../../request';
+import { AppKernel } from '@scripts/app/AppKernel';
+
+class SeasonPassStore {
+    private _seasonPassData = {};
+
+    public get seasonPassData() { return this._seasonPassData; }
+
+
+    async reqSeasonPassInfo() {
+        const res = await Http.call(APP_SEASON_PASS_INFO);
+        if (success(res)) {
+            this._seasonPassData = res.data;
+            AppKernel.events.emit('seasonPass:update');
+            return true;
+        }
+        return false;
+    }
+
+
+    async reqSeasonPassTasksClaim(task_id: number) {
+        const params = {
+            task_id,
+        }
+        const res = await Http.call(APP_SEASON_PASS_TASKS_CLAIM, params);
+        if (success(res)) {
+            this.reqSeasonPassInfo();
+            return true;
+        }
+        return false;
+    }
+
+      async reqSeasonPassPrizeClaim(reward_id: number) {
+        const params = {
+            reward_id,
+        }
+        const res = await Http.call(APP_SEASON_PASS_PRIZE_CLAIM, params);
+        if (success(res)) {
+            this.reqSeasonPassInfo();
+            return true;
+        }
+        return false;
+    }
+
+    
+
+    clear() {
+        this._seasonPassData = null;
+    }
+}
+export const seasonPassStore = new SeasonPassStore();

+ 1 - 0
assets/scripts/store/seasonPassStore/SeasonPassStore.ts.meta

@@ -0,0 +1 @@
+{"ver":"4.0.24","importer":"typescript","imported":true,"uuid":"e1978ad8-6541-4378-a8c8-6554af626e73","files":[],"subMetas":{},"userData":{}}

+ 8 - 0
assets/scripts/store/seasonPassStore/data.ts

@@ -0,0 +1,8 @@
+export interface ICheckInConfig {
+    // DayNumber: string | number;
+    // RewardScore: string | number;
+    // SignInDay: string | number;
+    // RecordDay?: string;
+    // [key: string]: unknown;
+}
+

+ 1 - 0
assets/scripts/store/seasonPassStore/data.ts.meta

@@ -0,0 +1 @@
+{"ver":"4.0.24","importer":"typescript","imported":true,"uuid":"3f57ab97-8045-495c-aca4-da9062623831","files":[],"subMetas":{},"userData":{}}

Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.