diff --git a/AGENTS.md b/AGENTS.md index af1c43d..56b1e18 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -40,62 +40,78 @@ Git 历史采用 Conventional Commits,且摘要多为中文,例如 `feat: # Memory Context -# $CMEM mp-xieyingeng 2026-05-13 9:03am GMT+8 +# [mp-xieyingeng] recent context, 2026-05-14 4:59pm GMT+8 -Legend: 🎯session 🔴bugfix 🟣feature 🔄refactor ✅change 🔵discovery ⚖️decision +Legend: 🎯session 🔴bugfix 🟣feature 🔄refactor ✅change 🔵discovery ⚖️decision 🚨security_alert 🔐security_note Format: ID TIME TYPE TITLE Fetch details: get_observations([IDs]) | Search: mem-search skill -Stats: 47 obs (10,663t read) | 538,681t work | 98% savings +Stats: 50 obs (12,200t read) | 1,692,994t work | 99% savings -### Apr 24, 2026 -101 8:46a 🟣 Live label display format updated to X/Y format -114 6:40p 🟣 Dynamic Input Layout Initialization in PageLevel Prefab -115 6:41p 🟣 Dynamic Punch Block Layout for PageLevel.prefab -116 " 🔵 Layout Component Configuration for Input and Punch Blocks -119 6:42p 🟣 Dynamic Input Blocks and Punch Layout System Implemented -121 " 🟣 PageLevel Prefab Updated with punchLayout Property -122 " 🔄 Cleanup After Dynamic Block Refactoring -124 " ✅ TypeScript Compilation Check in Progress -126 6:43p ✅ TypeScript Compilation Check Extended -127 " 🔄 Complete Diff of PageLevel.ts Dynamic Block System -128 " 🔵 PageLevel.prefab Changes Not Persisted -129 6:44p 🟣 PageLevel Prefab Correctly Updated with punchLayout -130 " ✅ TypeScript Compilation Blocked - Permission Required -133 6:45p 🔄 Extracted getPunchBlockLabel Helper Method -134 " 🔄 Template Node Hiding Logic Improved -136 6:48p ⚖️ TypeScript diagnostics disabled, using IDE/linter instead -138 " 🔄 PageLevel 输入方式从单框改为逐字格子 -139 " 🔄 谐音梗展示从 Label 改为动态 Block 节点 -140 " ✅ PageLevel.prefab 布局位置微调 -165 8:08p 🟣 PageLevel input layout simplified to single-character boxes with auto-distribution -167 8:09p 🔵 PageLevel.ts input block structure and callback stubs discovered -168 " 🟣 Auto-distribute characters across input boxes and auto-submit on completion implemented -169 " 🔴 PageLevel.ts node cleanup now calls removeFromParent before destroy -170 8:10p 🔄 PageLevel.ts full diff: single EditBox replaced with per-character block system -171 " 🔴 distributeInputText() wrapped in try/finally to guarantee flag reset -179 8:23p ✅ Game011_3.ttf font relocated from resources/ to dedicated fonts/ bundle directory -180 " 🟣 PageLoading.ts now loads fonts as a dynamic bundle after level data, before UI -181 " 🔄 AssetManager import switched to type-only import in PageLoading.ts -182 8:31p 🟣 PageLevel input UX improvement: full-string editing support -183 " 🟣 PageLevel input UX: full-string editing implemented -186 8:34p 🔴 PageLevel: clear input text on wrong answer -187 8:35p 🟣 PageLevel: delay pass modal to show punchline -189 8:36p 🔄 PageLevel: level completion reporting made fire-and-forget -191 8:45p 🔴 PageLevel: punchline block cleanup improved -192 8:46p 🟣 PageLevel.ts TitleLevel Label variable reserved -193 8:47p 🔵 PageLevel.ts level number tracking mechanism discovered -195 " 🟣 PageLevel.ts TitleLevel dynamic label update implemented -196 8:53p 🔵 PageLevel punchline not updated from enterLevel API -198 " 🔴 LevelDataManager updateLevelDetails now includes punchline -199 " 🔴 PageLevel punchline flow and empty state layout fixed -200 8:54p 🔴 LevelDataManager preserves existing punchline when enter returns null -203 9:06p 🟣 PageLevel.ts 新增图片描述标签绑定字段 -205 9:07p 🟣 PageLevel.ts 图片描述标签字段对接完成 -206 9:09p ✅ PageLevel.ts 回退图片描述标签字段命名 -208 9:11p 🟣 LevelDataManager 增加图片描述字段存储 -214 9:40p 🟣 拼图游戏关卡内 Punch Layout 显隐控制 -216 " 🟣 PageLevel.ts punchline 显隐控制逻辑对接完成 +### Apr 26, 2026 +S1309 移除 PageLevel.ts 进入关卡时弹出体力扣减 toast (Apr 26 at 5:16 PM) +### Apr 27, 2026 +1346 9:21a 🔴 移除进入游戏后的体力扣减 toast 提示 +1347 " 🔴 移除进入游戏后的体力扣减 toast 提示 +1348 " 🟣 首页添加体力值显示功能 +S1308 移除进入游戏关卡时弹出体力扣减的 toast 提示 (Apr 27 at 9:21 AM) +S1310 移除进入游戏体力扣减 toast 并在首页添加体力显示 (Apr 27 at 9:22 AM) +S1311 移除体力扣减 toast 并完善首页体验 (Apr 27 at 9:23 AM) +1349 9:25a ✅ PageHome.ts 添加 ToastManager 导入 +1350 " ✅ PK按钮点击改为提示"功能开发中" +S1313 Implement object-fit: cover image scaling in Cocos Creator to prevent downloaded images from being distorted (Apr 27 at 9:26 AM) +1351 9:32a 🟣 Stamina animation system for level entry +1352 " 🔵 Cocos Creator game project structure discovered +1354 " 🟣 StarGame 按钮点击动画需求 +1356 " 🔵 体力系统架构发现 +1353 9:33a 🔵 StaminaManager API confirmed for stamina operations +1355 9:37a 🔵 项目结构和现有代码发现 +1357 9:38a 🔵 EnterLevelData 结构分析 +1359 9:39a 🟣 Stamina animation system implemented for game entry flow +1358 9:41a ⚖️ 体力值飞行动画实现计划制定完成 +1362 9:45a 🟣 Image Cover Mode Scaling in Cocos Creator +S1312 Fix image distortion in PageLevel.ts by implementing object-fit: cover behavior for downloaded images (Apr 27 at 9:45 AM) +1360 " ✅ Cocos Creator animation imports added to PageHome.ts +1361 " ✅ Animation constants added to PageHome class +1363 " ✅ Start game button integrated with stamina check and animation flow +1364 " 🟣 Stamina consumption animation fully implemented in PageHome +S1314 Implement stamina consumption animation in Cocos Creator game - when clicking StarGame button, IconLive node flies to button with floating "-1" text, then navigates to level (Apr 27 at 9:45 AM) +1365 9:46a 🔴 Animation completes but navigation to PageLevel fails +S1315 为 PageLevel.ts 的 mainImage 和 mainImage2 节点实现 CSS cover 模式图片缩放 (Apr 27 at 9:46 AM) +1366 9:50a 🔴 Cocos Creator tween chain broken by premature node destroy +1367 9:55a 🔴 Navigation still failing after first tween chain fix - further debugging needed +1368 " 🔴 Decoupled fly animation from float text timing using setTimeout +1369 9:56a 🔴 Cocos Creator tween chain broken by any node state change mid-animation +1370 9:59a 🟣 CSS cover-style image scaling for PageLevel images +1371 10:01a ✅ PageLevel.ts imports extended for cover-style image scaling +1372 " 🟣 CSS cover-mode image scaling implemented for PageLevel images +S1316 Debug cover mode image overflow in PageLevel.ts - image exceeds container bounds despite Mask applied (Apr 27 at 10:02 AM) +1373 10:02a 🔴 Cover mode image overflows container bounds +1374 10:06a 🔵 GRAPHICS_RECT vs GRAPHICS_STENCIL for Mask in Cocos Creator +1375 10:08a 🔴 Mask.Type.RECT does not exist in Cocos Creator API +1376 " 🔵 MaskType enum found in Cocos Creator 3.8 engine declarations +1378 " 🔵 MaskType enum values confirmed - GRAPHICS_RECT exists +1377 10:09a 🔵 MaskType enum definition found at line 46015 +1379 10:10a 🔴 Reverted Mask.Type to GRAPHICS_RECT +S1317 Implement CSS cover-mode image scaling for PageLevel.ts mainImage nodes (Apr 27 at 10:10 AM) +### Apr 29, 2026 +1481 6:33p 🟣 Implementing rounded corner images in PageLevel.ts +1482 " 🔵 RoundedRectMask component already exists for image corner rounding +1485 6:34p 🟣 Implemented rounded corners for PageLevel main images +1484 " 🔄 RoundedRectMask component improved with quality standards +1487 6:37p 🔵 TypeScript verification confirms no errors in new rounded corners implementation +### May 12, 2026 +1542 4:39p 🟣 CommonModal prefab adds conditional dual-button support +1543 " 🔵 CommonModal prefab contains both button node variants +1544 4:40p 🟣 CommonModal prefab upgraded with dual-button support +1545 4:41p 🟣 CommonModal prefab restructured with dual-button ActionDouble container +1546 " 🔵 BaseModal provides modal animation infrastructure +1547 4:43p 🟣 CommonModal.ts upgraded with dual-button support and backward compatibility +1548 4:44p 🟣 CommonModal dual-button implementation completed +1549 " ✅ CommonModal dual-button feature ready for testing +1550 4:45p 🟣 CommonModal dual-button feature completed and validated +1551 4:46p 🔄 CommonModal API refactoring: remove buttonHint, clean button logic +1552 4:47p 🔄 CommonModal dual-button refactor complete with cleaner API -Access 539k tokens of past work via get_observations([IDs]) or mem-search skill. +Access 1693k tokens of past work via get_observations([IDs]) or mem-search skill. diff --git a/assets/prefabs/PagePKDetail.prefab b/assets/prefabs/PagePKDetail.prefab index 14270ef..dd5a635 100644 --- a/assets/prefabs/PagePKDetail.prefab +++ b/assets/prefabs/PagePKDetail.prefab @@ -25,26 +25,26 @@ "__id__": 10 }, { - "__id__": 24 + "__id__": 36 }, { - "__id__": 86 + "__id__": 98 }, { - "__id__": 204 + "__id__": 216 } ], "_active": true, "_components": [ { - "__id__": 220 + "__id__": 232 }, { - "__id__": 222 + "__id__": 234 } ], "_prefab": { - "__id__": 224 + "__id__": 236 }, "_lpos": { "__type__": "cc.Vec3", @@ -243,22 +243,25 @@ "_children": [ { "__id__": 11 + }, + { + "__id__": 17 } ], "_active": true, "_components": [ { - "__id__": 17 + "__id__": 29 }, { - "__id__": 19 + "__id__": 31 }, { - "__id__": 21 + "__id__": 33 } ], "_prefab": { - "__id__": 23 + "__id__": 35 }, "_lpos": { "__type__": "cc.Vec3", @@ -451,6 +454,308 @@ "targetOverrides": null, "nestedPrefabInstanceRoots": null }, + { + "__type__": "cc.Node", + "_name": "capsure", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 10 + }, + "_children": [ + { + "__id__": 18 + } + ], + "_active": true, + "_components": [ + { + "__id__": 24 + }, + { + "__id__": 26 + } + ], + "_prefab": { + "__id__": 28 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 239.224, + "y": 14.778, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 0.3, + "y": 0.3, + "z": 1 + }, + "_mobility": 0, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "ParticipateLabel", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 17 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 19 + }, + { + "__id__": 21 + } + ], + "_prefab": { + "__id__": 23 + }, + "_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__": 18 + }, + "_enabled": true, + "__prefab": { + "__id__": 20 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 322.3828125, + "height": 88.2 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "27SBkArq1He6NBiw1HFlPQ" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 18 + }, + "_enabled": true, + "__prefab": { + "__id__": 22 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 124, + "g": 56, + "b": 35, + "a": 255 + }, + "_string": "666人参与", + "_horizontalAlign": 1, + "_verticalAlign": 1, + "_actualFontSize": 70, + "_fontSize": 70, + "_fontFamily": "Arial", + "_lineHeight": 70, + "_overflow": 0, + "_enableWrapText": true, + "_font": { + "__uuid__": "fb4acba6-6bc7-4eb3-be34-8f2ac9823a80", + "__expectedType__": "cc.TTFFont" + }, + "_isSystemFontUsed": false, + "_spacingX": 0, + "_isItalic": false, + "_isBold": true, + "_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": "55iJnCcChMcbVNN9vGp2N7" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "efmJgEsnhJJ6KZvXDPAvzn", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 17 + }, + "_enabled": true, + "__prefab": { + "__id__": 25 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 468, + "height": 163 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "24Ck51tNtHLIVVgiw4H336" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 17 + }, + "_enabled": true, + "__prefab": { + "__id__": 27 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 228, + "b": 189, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "754d81bb-f9d1-440c-9e35-206886101438@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": "73Te8mSAdLSpViJJAStWxo" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "79/LhBRM9H/oRdeuwOlK11", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, { "__type__": "cc.UITransform", "_name": "", @@ -461,7 +766,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 18 + "__id__": 30 }, "_contentSize": { "__type__": "cc.Size", @@ -489,7 +794,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 20 + "__id__": 32 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -534,7 +839,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 22 + "__id__": 34 }, "_alignFlags": 17, "_target": null, @@ -583,29 +888,29 @@ }, "_children": [ { - "__id__": 25 + "__id__": 37 }, { - "__id__": 31 + "__id__": 43 }, { - "__id__": 45 + "__id__": 57 }, { - "__id__": 51 + "__id__": 63 } ], "_active": true, "_components": [ { - "__id__": 81 + "__id__": 93 }, { - "__id__": 83 + "__id__": 95 } ], "_prefab": { - "__id__": 85 + "__id__": 97 }, "_lpos": { "__type__": "cc.Vec3", @@ -642,20 +947,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 24 + "__id__": 36 }, "_children": [], "_active": true, "_components": [ { - "__id__": 26 + "__id__": 38 }, { - "__id__": 28 + "__id__": 40 } ], "_prefab": { - "__id__": 30 + "__id__": 42 }, "_lpos": { "__type__": "cc.Vec3", @@ -692,11 +997,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 25 + "__id__": 37 }, "_enabled": true, "__prefab": { - "__id__": 27 + "__id__": 39 }, "_contentSize": { "__type__": "cc.Size", @@ -720,11 +1025,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 25 + "__id__": 37 }, "_enabled": true, "__prefab": { - "__id__": 29 + "__id__": 41 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -778,27 +1083,27 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 24 + "__id__": 36 }, "_children": [ { - "__id__": 32 + "__id__": 44 } ], "_active": true, "_components": [ { - "__id__": 38 + "__id__": 50 }, { - "__id__": 40 + "__id__": 52 }, { - "__id__": 42 + "__id__": 54 } ], "_prefab": { - "__id__": 44 + "__id__": 56 }, "_lpos": { "__type__": "cc.Vec3", @@ -835,20 +1140,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 31 + "__id__": 43 }, "_children": [], "_active": true, "_components": [ { - "__id__": 33 + "__id__": 45 }, { - "__id__": 35 + "__id__": 47 } ], "_prefab": { - "__id__": 37 + "__id__": 49 }, "_lpos": { "__type__": "cc.Vec3", @@ -885,11 +1190,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 32 + "__id__": 44 }, "_enabled": true, "__prefab": { - "__id__": 34 + "__id__": 46 }, "_contentSize": { "__type__": "cc.Size", @@ -913,11 +1218,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 32 + "__id__": 44 }, "_enabled": true, "__prefab": { - "__id__": 36 + "__id__": 48 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -971,11 +1276,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 31 + "__id__": 43 }, "_enabled": true, "__prefab": { - "__id__": 39 + "__id__": 51 }, "_contentSize": { "__type__": "cc.Size", @@ -999,11 +1304,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 31 + "__id__": 43 }, "_enabled": true, "__prefab": { - "__id__": 41 + "__id__": 53 }, "_type": 1, "_inverted": false, @@ -1021,11 +1326,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 31 + "__id__": 43 }, "_enabled": true, "__prefab": { - "__id__": 43 + "__id__": 55 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -1080,20 +1385,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 24 + "__id__": 36 }, "_children": [], "_active": true, "_components": [ { - "__id__": 46 + "__id__": 58 }, { - "__id__": 48 + "__id__": 60 } ], "_prefab": { - "__id__": 50 + "__id__": 62 }, "_lpos": { "__type__": "cc.Vec3", @@ -1130,11 +1435,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 45 + "__id__": 57 }, "_enabled": true, "__prefab": { - "__id__": 47 + "__id__": 59 }, "_contentSize": { "__type__": "cc.Size", @@ -1158,11 +1463,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 45 + "__id__": 57 }, "_enabled": true, "__prefab": { - "__id__": 49 + "__id__": 61 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -1242,33 +1547,33 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 24 + "__id__": 36 }, "_children": [ - { - "__id__": 52 - }, - { - "__id__": 58 - }, { "__id__": 64 }, { "__id__": 70 + }, + { + "__id__": 76 + }, + { + "__id__": 82 } ], "_active": true, "_components": [ { - "__id__": 76 + "__id__": 88 }, { - "__id__": 78 + "__id__": 90 } ], "_prefab": { - "__id__": 80 + "__id__": 92 }, "_lpos": { "__type__": "cc.Vec3", @@ -1305,20 +1610,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 51 + "__id__": 63 }, "_children": [], "_active": true, "_components": [ { - "__id__": 53 + "__id__": 65 }, { - "__id__": 55 + "__id__": 67 } ], "_prefab": { - "__id__": 57 + "__id__": 69 }, "_lpos": { "__type__": "cc.Vec3", @@ -1355,11 +1660,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 52 + "__id__": 64 }, "_enabled": true, "__prefab": { - "__id__": 54 + "__id__": 66 }, "_contentSize": { "__type__": "cc.Size", @@ -1383,11 +1688,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 52 + "__id__": 64 }, "_enabled": true, "__prefab": { - "__id__": 56 + "__id__": 68 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -1441,20 +1746,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 51 + "__id__": 63 }, "_children": [], "_active": true, "_components": [ { - "__id__": 59 + "__id__": 71 }, { - "__id__": 61 + "__id__": 73 } ], "_prefab": { - "__id__": 63 + "__id__": 75 }, "_lpos": { "__type__": "cc.Vec3", @@ -1491,11 +1796,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 58 + "__id__": 70 }, "_enabled": true, "__prefab": { - "__id__": 60 + "__id__": 72 }, "_contentSize": { "__type__": "cc.Size", @@ -1519,11 +1824,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 58 + "__id__": 70 }, "_enabled": true, "__prefab": { - "__id__": 62 + "__id__": 74 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -1603,20 +1908,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 51 + "__id__": 63 }, "_children": [], "_active": true, "_components": [ { - "__id__": 65 + "__id__": 77 }, { - "__id__": 67 + "__id__": 79 } ], "_prefab": { - "__id__": 69 + "__id__": 81 }, "_lpos": { "__type__": "cc.Vec3", @@ -1653,11 +1958,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 64 + "__id__": 76 }, "_enabled": true, "__prefab": { - "__id__": 66 + "__id__": 78 }, "_contentSize": { "__type__": "cc.Size", @@ -1681,11 +1986,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 64 + "__id__": 76 }, "_enabled": true, "__prefab": { - "__id__": 68 + "__id__": 80 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -1739,20 +2044,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 51 + "__id__": 63 }, "_children": [], "_active": true, "_components": [ { - "__id__": 71 + "__id__": 83 }, { - "__id__": 73 + "__id__": 85 } ], "_prefab": { - "__id__": 75 + "__id__": 87 }, "_lpos": { "__type__": "cc.Vec3", @@ -1789,11 +2094,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 70 + "__id__": 82 }, "_enabled": true, "__prefab": { - "__id__": 72 + "__id__": 84 }, "_contentSize": { "__type__": "cc.Size", @@ -1817,11 +2122,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 70 + "__id__": 82 }, "_enabled": true, "__prefab": { - "__id__": 74 + "__id__": 86 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -1901,11 +2206,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 51 + "__id__": 63 }, "_enabled": true, "__prefab": { - "__id__": 77 + "__id__": 89 }, "_contentSize": { "__type__": "cc.Size", @@ -1929,11 +2234,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 51 + "__id__": 63 }, "_enabled": true, "__prefab": { - "__id__": 79 + "__id__": 91 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -1987,11 +2292,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 24 + "__id__": 36 }, "_enabled": true, "__prefab": { - "__id__": 82 + "__id__": 94 }, "_contentSize": { "__type__": "cc.Size", @@ -2015,11 +2320,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 24 + "__id__": 36 }, "_enabled": true, "__prefab": { - "__id__": 84 + "__id__": 96 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -2077,26 +2382,26 @@ }, "_children": [ { - "__id__": 87 + "__id__": 99 }, { - "__id__": 105 + "__id__": 117 }, { - "__id__": 195 + "__id__": 207 } ], "_active": true, "_components": [ { - "__id__": 201 + "__id__": 213 }, { - "__id__": 102 + "__id__": 114 } ], "_prefab": { - "__id__": 203 + "__id__": 215 }, "_lpos": { "__type__": "cc.Vec3", @@ -2133,30 +2438,30 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 86 + "__id__": 98 }, "_children": [ { - "__id__": 88 + "__id__": 100 } ], "_active": true, "_components": [ { - "__id__": 94 + "__id__": 106 }, { - "__id__": 96 + "__id__": 108 }, { - "__id__": 98 + "__id__": 110 }, { - "__id__": 100 + "__id__": 112 } ], "_prefab": { - "__id__": 194 + "__id__": 206 }, "_lpos": { "__type__": "cc.Vec3", @@ -2193,20 +2498,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 87 + "__id__": 99 }, "_children": [], "_active": true, "_components": [ { - "__id__": 89 + "__id__": 101 }, { - "__id__": 91 + "__id__": 103 } ], "_prefab": { - "__id__": 93 + "__id__": 105 }, "_lpos": { "__type__": "cc.Vec3", @@ -2243,11 +2548,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 88 + "__id__": 100 }, "_enabled": true, "__prefab": { - "__id__": 90 + "__id__": 102 }, "_contentSize": { "__type__": "cc.Size", @@ -2271,11 +2576,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 88 + "__id__": 100 }, "_enabled": true, "__prefab": { - "__id__": 92 + "__id__": 104 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -2329,11 +2634,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 87 + "__id__": 99 }, "_enabled": true, "__prefab": { - "__id__": 95 + "__id__": 107 }, "_contentSize": { "__type__": "cc.Size", @@ -2357,11 +2662,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 87 + "__id__": 99 }, "_enabled": true, "__prefab": { - "__id__": 97 + "__id__": 109 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -2402,11 +2707,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 87 + "__id__": 99 }, "_enabled": true, "__prefab": { - "__id__": 99 + "__id__": 111 }, "_alignFlags": 37, "_target": null, @@ -2438,17 +2743,17 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 87 + "__id__": 99 }, "_enabled": true, "__prefab": { - "__id__": 101 + "__id__": 113 }, "_scrollView": { - "__id__": 102 + "__id__": 114 }, "_handle": { - "__id__": 91 + "__id__": 103 }, "_direction": 1, "_enableAutoHide": false, @@ -2465,11 +2770,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 86 + "__id__": 98 }, "_enabled": true, "__prefab": { - "__id__": 103 + "__id__": 115 }, "bounceDuration": 0.23, "brake": 0.75, @@ -2480,11 +2785,11 @@ "cancelInnerEvents": true, "scrollEvents": [], "_content": { - "__id__": 104 + "__id__": 116 }, "_horizontalScrollBar": null, "_verticalScrollBar": { - "__id__": 100 + "__id__": 112 }, "_id": "" }, @@ -2498,21 +2803,21 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 105 + "__id__": 117 }, "_children": [ { - "__id__": 113 + "__id__": 125 } ], "_active": true, "_components": [ { - "__id__": 191 + "__id__": 203 } ], "_prefab": { - "__id__": 193 + "__id__": 205 }, "_lpos": { "__type__": "cc.Vec3", @@ -2549,27 +2854,27 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 86 + "__id__": 98 }, "_children": [ { - "__id__": 104 + "__id__": 116 } ], "_active": true, "_components": [ { - "__id__": 106 + "__id__": 118 }, { - "__id__": 108 + "__id__": 120 }, { - "__id__": 110 + "__id__": 122 } ], "_prefab": { - "__id__": 112 + "__id__": 124 }, "_lpos": { "__type__": "cc.Vec3", @@ -2606,11 +2911,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 105 + "__id__": 117 }, "_enabled": true, "__prefab": { - "__id__": 107 + "__id__": 119 }, "_contentSize": { "__type__": "cc.Size", @@ -2634,11 +2939,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 105 + "__id__": 117 }, "_enabled": true, "__prefab": { - "__id__": 109 + "__id__": 121 }, "_type": 0, "_inverted": false, @@ -2656,11 +2961,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 105 + "__id__": 117 }, "_enabled": true, "__prefab": { - "__id__": 111 + "__id__": 123 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -2715,15 +3020,9 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 104 + "__id__": 116 }, "_children": [ - { - "__id__": 114 - }, - { - "__id__": 120 - }, { "__id__": 126 }, @@ -2734,23 +3033,29 @@ "__id__": 138 }, { - "__id__": 152 + "__id__": 144 }, { - "__id__": 180 + "__id__": 150 + }, + { + "__id__": 164 + }, + { + "__id__": 192 } ], "_active": true, "_components": [ { - "__id__": 186 + "__id__": 198 }, { - "__id__": 188 + "__id__": 200 } ], "_prefab": { - "__id__": 190 + "__id__": 202 }, "_lpos": { "__type__": "cc.Vec3", @@ -2787,20 +3092,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 113 + "__id__": 125 }, "_children": [], "_active": false, "_components": [ { - "__id__": 115 + "__id__": 127 }, { - "__id__": 117 + "__id__": 129 } ], "_prefab": { - "__id__": 119 + "__id__": 131 }, "_lpos": { "__type__": "cc.Vec3", @@ -2837,11 +3142,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 114 + "__id__": 126 }, "_enabled": true, "__prefab": { - "__id__": 116 + "__id__": 128 }, "_contentSize": { "__type__": "cc.Size", @@ -2865,11 +3170,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 114 + "__id__": 126 }, "_enabled": true, "__prefab": { - "__id__": 118 + "__id__": 130 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -2923,20 +3228,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 113 + "__id__": 125 }, "_children": [], "_active": false, "_components": [ { - "__id__": 121 + "__id__": 133 }, { - "__id__": 123 + "__id__": 135 } ], "_prefab": { - "__id__": 125 + "__id__": 137 }, "_lpos": { "__type__": "cc.Vec3", @@ -2973,11 +3278,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 120 + "__id__": 132 }, "_enabled": true, "__prefab": { - "__id__": 122 + "__id__": 134 }, "_contentSize": { "__type__": "cc.Size", @@ -3001,11 +3306,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 120 + "__id__": 132 }, "_enabled": true, "__prefab": { - "__id__": 124 + "__id__": 136 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -3059,20 +3364,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 113 + "__id__": 125 }, "_children": [], "_active": true, "_components": [ { - "__id__": 127 + "__id__": 139 }, { - "__id__": 129 + "__id__": 141 } ], "_prefab": { - "__id__": 131 + "__id__": 143 }, "_lpos": { "__type__": "cc.Vec3", @@ -3109,11 +3414,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 126 + "__id__": 138 }, "_enabled": true, "__prefab": { - "__id__": 128 + "__id__": 140 }, "_contentSize": { "__type__": "cc.Size", @@ -3137,11 +3442,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 126 + "__id__": 138 }, "_enabled": true, "__prefab": { - "__id__": 130 + "__id__": 142 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -3218,20 +3523,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 113 + "__id__": 125 }, "_children": [], "_active": true, "_components": [ { - "__id__": 133 + "__id__": 145 }, { - "__id__": 135 + "__id__": 147 } ], "_prefab": { - "__id__": 137 + "__id__": 149 }, "_lpos": { "__type__": "cc.Vec3", @@ -3268,11 +3573,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 132 + "__id__": 144 }, "_enabled": true, "__prefab": { - "__id__": 134 + "__id__": 146 }, "_contentSize": { "__type__": "cc.Size", @@ -3296,11 +3601,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 132 + "__id__": 144 }, "_enabled": true, "__prefab": { - "__id__": 136 + "__id__": 148 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -3354,27 +3659,27 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 113 + "__id__": 125 }, "_children": [ { - "__id__": 139 + "__id__": 151 } ], "_active": true, "_components": [ { - "__id__": 145 + "__id__": 157 }, { - "__id__": 147 + "__id__": 159 }, { - "__id__": 149 + "__id__": 161 } ], "_prefab": { - "__id__": 151 + "__id__": 163 }, "_lpos": { "__type__": "cc.Vec3", @@ -3411,20 +3716,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 138 + "__id__": 150 }, "_children": [], "_active": true, "_components": [ { - "__id__": 140 + "__id__": 152 }, { - "__id__": 142 + "__id__": 154 } ], "_prefab": { - "__id__": 144 + "__id__": 156 }, "_lpos": { "__type__": "cc.Vec3", @@ -3461,11 +3766,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 139 + "__id__": 151 }, "_enabled": true, "__prefab": { - "__id__": 141 + "__id__": 153 }, "_contentSize": { "__type__": "cc.Size", @@ -3489,11 +3794,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 139 + "__id__": 151 }, "_enabled": true, "__prefab": { - "__id__": 143 + "__id__": 155 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -3547,11 +3852,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 138 + "__id__": 150 }, "_enabled": true, "__prefab": { - "__id__": 146 + "__id__": 158 }, "_contentSize": { "__type__": "cc.Size", @@ -3575,11 +3880,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 138 + "__id__": 150 }, "_enabled": true, "__prefab": { - "__id__": 148 + "__id__": 160 }, "_type": 1, "_inverted": false, @@ -3597,11 +3902,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 138 + "__id__": 150 }, "_enabled": true, "__prefab": { - "__id__": 150 + "__id__": 162 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -3656,30 +3961,30 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 113 + "__id__": 125 }, "_children": [ - { - "__id__": 153 - }, - { - "__id__": 159 - }, { "__id__": 165 }, { "__id__": 171 + }, + { + "__id__": 177 + }, + { + "__id__": 183 } ], "_active": true, "_components": [ { - "__id__": 177 + "__id__": 189 } ], "_prefab": { - "__id__": 179 + "__id__": 191 }, "_lpos": { "__type__": "cc.Vec3", @@ -3716,20 +4021,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 152 + "__id__": 164 }, "_children": [], "_active": true, "_components": [ { - "__id__": 154 + "__id__": 166 }, { - "__id__": 156 + "__id__": 168 } ], "_prefab": { - "__id__": 158 + "__id__": 170 }, "_lpos": { "__type__": "cc.Vec3", @@ -3766,11 +4071,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 153 + "__id__": 165 }, "_enabled": true, "__prefab": { - "__id__": 155 + "__id__": 167 }, "_contentSize": { "__type__": "cc.Size", @@ -3794,11 +4099,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 153 + "__id__": 165 }, "_enabled": true, "__prefab": { - "__id__": 157 + "__id__": 169 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -3852,20 +4157,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 152 + "__id__": 164 }, "_children": [], "_active": true, "_components": [ { - "__id__": 160 + "__id__": 172 }, { - "__id__": 162 + "__id__": 174 } ], "_prefab": { - "__id__": 164 + "__id__": 176 }, "_lpos": { "__type__": "cc.Vec3", @@ -3902,11 +4207,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 159 + "__id__": 171 }, "_enabled": true, "__prefab": { - "__id__": 161 + "__id__": 173 }, "_contentSize": { "__type__": "cc.Size", @@ -3930,11 +4235,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 159 + "__id__": 171 }, "_enabled": true, "__prefab": { - "__id__": 163 + "__id__": 175 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -4014,20 +4319,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 152 + "__id__": 164 }, "_children": [], "_active": true, "_components": [ { - "__id__": 166 + "__id__": 178 }, { - "__id__": 168 + "__id__": 180 } ], "_prefab": { - "__id__": 170 + "__id__": 182 }, "_lpos": { "__type__": "cc.Vec3", @@ -4064,11 +4369,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 165 + "__id__": 177 }, "_enabled": true, "__prefab": { - "__id__": 167 + "__id__": 179 }, "_contentSize": { "__type__": "cc.Size", @@ -4092,11 +4397,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 165 + "__id__": 177 }, "_enabled": true, "__prefab": { - "__id__": 169 + "__id__": 181 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -4150,20 +4455,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 152 + "__id__": 164 }, "_children": [], "_active": true, "_components": [ { - "__id__": 172 + "__id__": 184 }, { - "__id__": 174 + "__id__": 186 } ], "_prefab": { - "__id__": 176 + "__id__": 188 }, "_lpos": { "__type__": "cc.Vec3", @@ -4200,11 +4505,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 171 + "__id__": 183 }, "_enabled": true, "__prefab": { - "__id__": 173 + "__id__": 185 }, "_contentSize": { "__type__": "cc.Size", @@ -4228,11 +4533,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 171 + "__id__": 183 }, "_enabled": true, "__prefab": { - "__id__": 175 + "__id__": 187 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -4312,11 +4617,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 152 + "__id__": 164 }, "_enabled": true, "__prefab": { - "__id__": 178 + "__id__": 190 }, "_contentSize": { "__type__": "cc.Size", @@ -4353,20 +4658,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 113 + "__id__": 125 }, "_children": [], "_active": true, "_components": [ { - "__id__": 181 + "__id__": 193 }, { - "__id__": 183 + "__id__": 195 } ], "_prefab": { - "__id__": 185 + "__id__": 197 }, "_lpos": { "__type__": "cc.Vec3", @@ -4403,11 +4708,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 180 + "__id__": 192 }, "_enabled": true, "__prefab": { - "__id__": 182 + "__id__": 194 }, "_contentSize": { "__type__": "cc.Size", @@ -4431,11 +4736,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 180 + "__id__": 192 }, "_enabled": true, "__prefab": { - "__id__": 184 + "__id__": 196 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -4515,11 +4820,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 113 + "__id__": 125 }, "_enabled": true, "__prefab": { - "__id__": 187 + "__id__": 199 }, "_contentSize": { "__type__": "cc.Size", @@ -4543,11 +4848,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 113 + "__id__": 125 }, "_enabled": true, "__prefab": { - "__id__": 189 + "__id__": 201 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -4601,11 +4906,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 104 + "__id__": 116 }, "_enabled": true, "__prefab": { - "__id__": 192 + "__id__": 204 }, "_contentSize": { "__type__": "cc.Size", @@ -4655,20 +4960,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 86 + "__id__": 98 }, "_children": [], "_active": true, "_components": [ { - "__id__": 196 + "__id__": 208 }, { - "__id__": 198 + "__id__": 210 } ], "_prefab": { - "__id__": 200 + "__id__": 212 }, "_lpos": { "__type__": "cc.Vec3", @@ -4705,11 +5010,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 195 + "__id__": 207 }, "_enabled": true, "__prefab": { - "__id__": 197 + "__id__": 209 }, "_contentSize": { "__type__": "cc.Size", @@ -4733,11 +5038,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 195 + "__id__": 207 }, "_enabled": true, "__prefab": { - "__id__": 199 + "__id__": 211 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -4791,11 +5096,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 86 + "__id__": 98 }, "_enabled": true, "__prefab": { - "__id__": 202 + "__id__": 214 }, "_contentSize": { "__type__": "cc.Size", @@ -4836,26 +5141,26 @@ }, "_children": [ { - "__id__": 205 + "__id__": 217 } ], "_active": true, "_components": [ { - "__id__": 211 + "__id__": 223 }, { - "__id__": 213 + "__id__": 225 }, { - "__id__": 215 + "__id__": 227 }, { - "__id__": 217 + "__id__": 229 } ], "_prefab": { - "__id__": 219 + "__id__": 231 }, "_lpos": { "__type__": "cc.Vec3", @@ -4892,20 +5197,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 204 + "__id__": 216 }, "_children": [], "_active": true, "_components": [ { - "__id__": 206 + "__id__": 218 }, { - "__id__": 208 + "__id__": 220 } ], "_prefab": { - "__id__": 210 + "__id__": 222 }, "_lpos": { "__type__": "cc.Vec3", @@ -4942,11 +5247,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 205 + "__id__": 217 }, "_enabled": true, "__prefab": { - "__id__": 207 + "__id__": 219 }, "_contentSize": { "__type__": "cc.Size", @@ -4970,11 +5275,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 205 + "__id__": 217 }, "_enabled": true, "__prefab": { - "__id__": 209 + "__id__": 221 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -5054,11 +5359,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 204 + "__id__": 216 }, "_enabled": true, "__prefab": { - "__id__": 212 + "__id__": 224 }, "_contentSize": { "__type__": "cc.Size", @@ -5082,11 +5387,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 204 + "__id__": 216 }, "_enabled": true, "__prefab": { - "__id__": 214 + "__id__": 226 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -5127,11 +5432,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 204 + "__id__": 216 }, "_enabled": true, "__prefab": { - "__id__": 216 + "__id__": 228 }, "_alignFlags": 20, "_target": null, @@ -5163,11 +5468,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 204 + "__id__": 216 }, "_enabled": true, "__prefab": { - "__id__": 218 + "__id__": 230 }, "clickEvents": [], "_interactable": true, @@ -5236,7 +5541,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 221 + "__id__": 233 }, "_contentSize": { "__type__": "cc.Size", @@ -5264,7 +5569,10 @@ }, "_enabled": true, "__prefab": { - "__id__": 223 + "__id__": 235 + }, + "participateLabel": { + "__id__": 21 }, "_id": "" }, diff --git a/assets/prefabs/PagePKDetail.ts b/assets/prefabs/PagePKDetail.ts index 2f276af..cf15f73 100644 --- a/assets/prefabs/PagePKDetail.ts +++ b/assets/prefabs/PagePKDetail.ts @@ -4,7 +4,7 @@ import { ViewManager } from 'db://assets/scripts/core/ViewManager'; import { CreatedShareItem, ShareDetailData, ShareParticipantRankSummary } from 'db://assets/scripts/types/ApiTypes'; import { ShareManager } from 'db://assets/scripts/utils/ShareManager'; import { ToastManager } from 'db://assets/scripts/utils/ToastManager'; -const { ccclass } = _decorator; +const { ccclass, property } = _decorator; interface PagePKDetailParams { share?: CreatedShareItem | null; @@ -18,6 +18,9 @@ export class PagePKDetail extends BaseView { private static readonly RANK_ITEM_BOTTOM_PADDING = 16; private static readonly RANK_ITEM_SPACING = 16; + @property({ type: Label, tooltip: '参与人数文案,例如:66 人参与' }) + participateLabel: Label | null = null; + private _backButton: Node | null = null; private _titleLabel: Label | null = null; private _championPanel: Node | null = null; @@ -54,6 +57,7 @@ export class PagePKDetail extends BaseView { this._titleLabel = this._titleLabel ?? this.node.getChildByName('Title')?.getChildByName('Label')?.getComponent(Label) ?? null; + this.participateLabel = this.participateLabel ?? this._findLabelIn(this.node, 'ParticipateLabel'); this._championPanel = this._championPanel ?? this.node.getChildByName('ChampionPanel'); const rankList = this.node.getChildByName('RankList'); @@ -72,6 +76,9 @@ export class PagePKDetail extends BaseView { if (!this._rankListItemTemplate) { console.warn('[PagePKDetail] 未找到 RankListItem 模板节点'); } + if (!this.participateLabel) { + console.warn('[PagePKDetail] 未找到 ParticipateLabel 节点'); + } } private _bindEvents(): void { @@ -138,6 +145,7 @@ export class PagePKDetail extends BaseView { private _renderShareSummary(share: CreatedShareItem | null, version: number): void { this._clearRankItems(); this._setLabel(this._titleLabel, share?.title || '挑战详情'); + this._renderParticipateCount(share); this._renderChampion(share ? this._getFirstParticipant(share) : null, share, version); this._layoutRankContent(0); this._scrollRankListToTop(); @@ -151,10 +159,16 @@ export class PagePKDetail extends BaseView { const restRankings = rankings.filter((participant) => participant !== champion); this._setLabel(this._titleLabel, detail.title || '挑战详情'); + this._renderParticipateCount(detail); this._renderChampion(champion, detail, version); this._renderRankList(restRankings, version); } + private _renderParticipateCount(shareInfo: CreatedShareItem | ShareDetailData | null): void { + const participantCount = Math.max(0, shareInfo?.participantCount ?? 0); + this._setLabel(this.participateLabel, `${participantCount} 人参与`); + } + private _normalizeRankings(rankings: ShareParticipantRankSummary[]): ShareParticipantRankSummary[] { return rankings .map((participant, index) => ({