From 16996b9805833786ad58187d4f0a3115f41215f6 Mon Sep 17 00:00:00 2001 From: panFD Date: Sun, 26 Jul 2026 12:52:58 +0800 Subject: [PATCH] =?UTF-8?q?refactor(mission):=20=E9=87=8D=E6=9E=84?= =?UTF-8?q?=E5=8D=A1=E7=89=8C=E7=B3=BB=E7=BB=9F=E4=B8=BA=E8=8B=B1=E9=9B=84?= =?UTF-8?q?=E5=8D=A1=E6=A7=BD=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 新增CHeroComp作为英雄卡槽专用组件,替换原CardComp 2. 调整mission.prefab布局与预制体引用,适配新卡槽组件 3. 优化MissionCardComp的卡槽缓存与布局逻辑 4. 更新所有相关注释与类型引用,统一代码语义 --- assets/resources/gui/element/cHero.prefab | 4788 +++++++++++++++++ .../resources/gui/element/cHero.prefab.meta | 13 + assets/resources/gui/element/mission.prefab | 63 +- assets/script/game/map/CHeroComp.ts | 424 ++ assets/script/game/map/CHeroComp.ts.meta | 9 + assets/script/game/map/MissionCardComp.ts | 43 +- 6 files changed, 5298 insertions(+), 42 deletions(-) create mode 100644 assets/resources/gui/element/cHero.prefab create mode 100644 assets/resources/gui/element/cHero.prefab.meta create mode 100644 assets/script/game/map/CHeroComp.ts create mode 100644 assets/script/game/map/CHeroComp.ts.meta diff --git a/assets/resources/gui/element/cHero.prefab b/assets/resources/gui/element/cHero.prefab new file mode 100644 index 00000000..6a9d0e7b --- /dev/null +++ b/assets/resources/gui/element/cHero.prefab @@ -0,0 +1,4788 @@ +[ + { + "__type__": "cc.Prefab", + "_name": "cHero", + "_objFlags": 0, + "__editorExtras__": {}, + "_native": "", + "data": { + "__id__": 1 + }, + "optimizationPolicy": 0, + "persistent": false + }, + { + "__type__": "cc.Node", + "_name": "cHero", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": null, + "_children": [ + { + "__id__": 2 + }, + { + "__id__": 20 + }, + { + "__id__": 40 + }, + { + "__id__": 86 + }, + { + "__id__": 118 + } + ], + "_active": true, + "_components": [ + { + "__id__": 147 + }, + { + "__id__": 149 + }, + { + "__id__": 151 + } + ], + "_prefab": { + "__id__": 247 + }, + "_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", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_prefab": { + "__id__": 3 + }, + "__editorExtras__": {} + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 2 + }, + "asset": { + "__uuid__": "555f7387-1025-41a8-a2a8-ff61c76004a3", + "__expectedType__": "cc.Prefab" + }, + "fileId": "50T0YGiGBH7qZZFeATiEP+", + "instance": { + "__id__": 4 + }, + "targetOverrides": null + }, + { + "__type__": "cc.PrefabInstance", + "fileId": "ddJY1fUgJFHKBICUhWrsdE", + "prefabRootNode": { + "__id__": 1 + }, + "mountedChildren": [], + "mountedComponents": [], + "propertyOverrides": [ + { + "__id__": 5 + }, + { + "__id__": 7 + }, + { + "__id__": 8 + }, + { + "__id__": 9 + }, + { + "__id__": 10 + }, + { + "__id__": 12 + }, + { + "__id__": 14 + }, + { + "__id__": 16 + }, + { + "__id__": 18 + } + ], + "removedComponents": [] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 6 + }, + "propertyPath": [ + "_name" + ], + "value": "popup" + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "50T0YGiGBH7qZZFeATiEP+" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 6 + }, + "propertyPath": [ + "_lpos" + ], + "value": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + } + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 6 + }, + "propertyPath": [ + "_lrot" + ], + "value": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + } + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 6 + }, + "propertyPath": [ + "_euler" + ], + "value": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + } + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 11 + }, + "propertyPath": [ + "_contentSize" + ], + "value": { + "__type__": "cc.Size", + "width": 230, + "height": 300 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "50XxsJbrFCN4H9VEVO1jhI" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 13 + }, + "propertyPath": [ + "_contentSize" + ], + "value": { + "__type__": "cc.Size", + "width": 230, + "height": 300 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "89vNfbOw5OYLiuCSle5Cni" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 15 + }, + "propertyPath": [ + "_contentSize" + ], + "value": { + "__type__": "cc.Size", + "width": 460, + "height": 600 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "3dNz0H16xGpJqDZ5588nMV" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 17 + }, + "propertyPath": [ + "_contentSize" + ], + "value": { + "__type__": "cc.Size", + "width": 428, + "height": 568 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "dbPtEc0lVC6b6/8Lozo2Vm" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 19 + }, + "propertyPath": [ + "_color" + ], + "value": { + "__type__": "cc.Color", + "r": 0, + "g": 0, + "b": 0, + "a": 255 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "fa5RaYmDVG06zPrC6FET3z" + ] + }, + { + "__type__": "cc.Node", + "_name": "name", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 1 + }, + "_children": [ + { + "__id__": 21 + }, + { + "__id__": 27 + } + ], + "_active": true, + "_components": [ + { + "__id__": 33 + }, + { + "__id__": 35 + }, + { + "__id__": 37 + } + ], + "_prefab": { + "__id__": 39 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 122.888, + "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": "name", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 20 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 22 + }, + { + "__id__": 24 + } + ], + "_prefab": { + "__id__": 26 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -64.2847453016989, + "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": 84, + "height": 54.4 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "9dgncJRHNM0oZi+Pb5hDPM" + }, + { + "__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": 0, + "_verticalAlign": 1, + "_actualFontSize": 20, + "_fontSize": 20, + "_fontFamily": "Arial", + "_lineHeight": 40, + "_overflow": 0, + "_enableWrapText": true, + "_font": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_isItalic": false, + "_isBold": true, + "_isUnderline": false, + "_underlineHeight": 2, + "_cacheMode": 0, + "_enableOutline": true, + "_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": "1dqRfyNidFnI0Rw533q1kb" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "64sBr99yBIPIbpxdil4ZY0", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.Node", + "_name": "lv", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 20 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 28 + }, + { + "__id__": 30 + } + ], + "_prefab": { + "__id__": 32 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 42, + "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__": 27 + }, + "_enabled": true, + "__prefab": { + "__id__": 29 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 44.5694906033978, + "height": 54.4 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "82vq9k1aFKYa5Ywz/gwbFX" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 27 + }, + "_enabled": true, + "__prefab": { + "__id__": 31 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_string": "Lv.1", + "_horizontalAlign": 1, + "_verticalAlign": 1, + "_actualFontSize": 20, + "_fontSize": 20, + "_fontFamily": "Arial", + "_lineHeight": 40, + "_overflow": 0, + "_enableWrapText": true, + "_font": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_isItalic": true, + "_isBold": false, + "_isUnderline": false, + "_underlineHeight": 2, + "_cacheMode": 0, + "_enableOutline": true, + "_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": "75POqLc7xOWralU/69FuiO" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "61QiOHUa9NSaXFmTwZIc/5", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 20 + }, + "_enabled": true, + "__prefab": { + "__id__": 34 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 128.5694906033978, + "height": 40 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "8alEuqZj5L44Z+jpZ+eQ5v" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 20 + }, + "_enabled": true, + "__prefab": { + "__id__": 36 + }, + "_alignFlags": 1, + "_target": null, + "_left": 0, + "_right": 0, + "_top": 7.111999999999995, + "_bottom": 0, + "_horizontalCenter": 0, + "_verticalCenter": 6.508, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 0, + "_originalHeight": 0, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "20RTjySLFFeZ7RCeMDjJfD" + }, + { + "__type__": "cc.Layout", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 20 + }, + "_enabled": true, + "__prefab": { + "__id__": 38 + }, + "_resizeMode": 1, + "_layoutType": 1, + "_cellSize": { + "__type__": "cc.Size", + "width": 40, + "height": 40 + }, + "_startAxis": 0, + "_paddingLeft": 0, + "_paddingRight": 0, + "_paddingTop": 0, + "_paddingBottom": 0, + "_spacingX": 0, + "_spacingY": 0, + "_verticalDirection": 1, + "_horizontalDirection": 0, + "_constraint": 0, + "_constraintNum": 2, + "_affectedByScale": false, + "_isAlign": false, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "30ha8PwmRA/Kd+SfwLUybx" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "73ee3BTuFBZbvFEdxo3R5P", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.Node", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_prefab": { + "__id__": 41 + }, + "__editorExtras__": {} + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 40 + }, + "asset": { + "__uuid__": "d19cde30-f5d0-47de-a0d5-3a272b696343", + "__expectedType__": "cc.Prefab" + }, + "fileId": "c46/YsCPVOJYA4mWEpNYRx", + "instance": { + "__id__": 42 + }, + "targetOverrides": null + }, + { + "__type__": "cc.PrefabInstance", + "fileId": "8amwNREnBNi5jgoZM6EcN7", + "prefabRootNode": { + "__id__": 1 + }, + "mountedChildren": [], + "mountedComponents": [ + { + "__id__": 43 + } + ], + "propertyOverrides": [ + { + "__id__": 47 + }, + { + "__id__": 49 + }, + { + "__id__": 50 + }, + { + "__id__": 51 + }, + { + "__id__": 52 + }, + { + "__id__": 54 + }, + { + "__id__": 55 + }, + { + "__id__": 57 + }, + { + "__id__": 59 + }, + { + "__id__": 61 + }, + { + "__id__": 63 + }, + { + "__id__": 65 + }, + { + "__id__": 67 + }, + { + "__id__": 69 + }, + { + "__id__": 71 + }, + { + "__id__": 73 + }, + { + "__id__": 75 + }, + { + "__id__": 77 + }, + { + "__id__": 79 + }, + { + "__id__": 81 + }, + { + "__id__": 83 + } + ], + "removedComponents": [ + { + "__id__": 85 + } + ] + }, + { + "__type__": "cc.MountedComponentsInfo", + "targetInfo": { + "__id__": 44 + }, + "components": [ + { + "__id__": 45 + } + ] + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "c46/YsCPVOJYA4mWEpNYRx" + ] + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": { + "mountedRoot": { + "__id__": 40 + } + }, + "node": { + "__id__": 40 + }, + "_enabled": true, + "__prefab": { + "__id__": 46 + }, + "_alignFlags": 17, + "_target": null, + "_left": 75, + "_right": 0, + "_top": 40.146, + "_bottom": 0, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 0, + "_originalHeight": 0, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "fb21lJWlJItbt2XhLMR/1s" + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 48 + }, + "propertyPath": [ + "_name" + ], + "value": "sbox" + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "c46/YsCPVOJYA4mWEpNYRx" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 48 + }, + "propertyPath": [ + "_lpos" + ], + "value": { + "__type__": "cc.Vec3", + "x": 0, + "y": 64.854, + "z": 0 + } + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 48 + }, + "propertyPath": [ + "_lrot" + ], + "value": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + } + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 48 + }, + "propertyPath": [ + "_euler" + ], + "value": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + } + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 53 + }, + "propertyPath": [ + "_spriteFrame" + ], + "value": { + "__uuid__": "2842dc10-d89e-4ff6-8a11-6d09bf48cf20@048d1", + "__expectedType__": "cc.SpriteFrame" + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "075wC9BqZNpKBHWkkHGa0w" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 53 + }, + "propertyPath": [ + "_atlas" + ], + "value": { + "__uuid__": "2842dc10-d89e-4ff6-8a11-6d09bf48cf20", + "__expectedType__": "cc.SpriteAtlas" + } + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 56 + }, + "propertyPath": [ + "_contentSize" + ], + "value": { + "__type__": "cc.Size", + "width": 90, + "height": 90 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "f9WzzmQplCw4od/9N1bGZ8" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 58 + }, + "propertyPath": [ + "_contentSize" + ], + "value": { + "__type__": "cc.Size", + "width": 90, + "height": 90 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "44Ed4eH0lI5Kssdq2dPzke" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 60 + }, + "propertyPath": [ + "_contentSize" + ], + "value": { + "__type__": "cc.Size", + "width": 370, + "height": 370 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "01RZgHEk5DOImBHnPTZbSl" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 62 + }, + "propertyPath": [ + "_contentSize" + ], + "value": { + "__type__": "cc.Size", + "width": 193, + "height": 193 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "7eXE020LJO2re5wfhWMR+x" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 64 + }, + "propertyPath": [ + "_contentSize" + ], + "value": { + "__type__": "cc.Size", + "width": 370, + "height": 370 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "cdEeG/ubFJgqKs1MdM6xd9" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 66 + }, + "propertyPath": [ + "_contentSize" + ], + "value": { + "__type__": "cc.Size", + "width": 193, + "height": 193 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "bdhTW5lJ9PJamgUN/UmnC2" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 68 + }, + "propertyPath": [ + "_contentSize" + ], + "value": { + "__type__": "cc.Size", + "width": 370, + "height": 370 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "01Tb8sF1pD1K401C16wfxs" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 70 + }, + "propertyPath": [ + "_contentSize" + ], + "value": { + "__type__": "cc.Size", + "width": 193, + "height": 193 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "31upVgp9hMgqBxdoieIwVm" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 72 + }, + "propertyPath": [ + "_contentSize" + ], + "value": { + "__type__": "cc.Size", + "width": 370, + "height": 370 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "c82typVIdBJJabkX/s0ZkZ" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 74 + }, + "propertyPath": [ + "_contentSize" + ], + "value": { + "__type__": "cc.Size", + "width": 193, + "height": 193 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "ce0/u2yctKCZkL+Ru0cbmo" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 76 + }, + "propertyPath": [ + "_contentSize" + ], + "value": { + "__type__": "cc.Size", + "width": 370, + "height": 370 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "68Zpxa86JHMbiKqxEUYo0V" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 78 + }, + "propertyPath": [ + "_contentSize" + ], + "value": { + "__type__": "cc.Size", + "width": 193, + "height": 193 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "4cdo17U+VOh4SgXfb/+Gk7" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 80 + }, + "propertyPath": [ + "_contentSize" + ], + "value": { + "__type__": "cc.Size", + "width": 100, + "height": 100 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "0elb3r0slJwbY2BNC1zTKn" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 82 + }, + "propertyPath": [ + "_active" + ], + "value": true + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "c7ymg5OshHabafeZJICJug" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 84 + }, + "propertyPath": [ + "_contentSize" + ], + "value": { + "__type__": "cc.Size", + "width": 88, + "height": 88 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "03nWLvwvFC5YKsJgnNXuKJ" + ] + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "2b0pxtPkdJgrKePAS8msRc" + ] + }, + { + "__type__": "cc.Node", + "_name": "info", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 1 + }, + "_children": [ + { + "__id__": 87 + }, + { + "__id__": 95 + }, + { + "__id__": 103 + } + ], + "_active": true, + "_components": [ + { + "__id__": 111 + }, + { + "__id__": 113 + }, + { + "__id__": 115 + } + ], + "_prefab": { + "__id__": 117 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -95, + "y": -29.540999999999997, + "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": "i1", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 86 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 88 + }, + { + "__id__": 90 + }, + { + "__id__": 92 + } + ], + "_prefab": { + "__id__": 94 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 23.333333333333336, + "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__": 87 + }, + "_enabled": true, + "__prefab": { + "__id__": 89 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 190, + "height": 23.333333333333332 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "69O8ConsBKvLQ5AKQ66wo0" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 87 + }, + "_enabled": true, + "__prefab": { + "__id__": 91 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_string": "词条3", + "_horizontalAlign": 0, + "_verticalAlign": 1, + "_actualFontSize": 18, + "_fontSize": 20, + "_fontFamily": "Arial", + "_lineHeight": 25, + "_overflow": 2, + "_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": 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": "b5sZHO3gNIW76AXUeqZYBn" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 87 + }, + "_enabled": true, + "__prefab": { + "__id__": 93 + }, + "_alignFlags": 40, + "_target": null, + "_left": 0, + "_right": 0, + "_top": 0, + "_bottom": 0, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 300, + "_originalHeight": 0, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "90OrNvrelLZbOIOrrDJnEv" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "31vWtf5dxJgr88LEoU1n3P", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.Node", + "_name": "i2", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 86 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 96 + }, + { + "__id__": 98 + }, + { + "__id__": 100 + } + ], + "_prefab": { + "__id__": 102 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 3.552713678800501e-15, + "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__": 95 + }, + "_enabled": true, + "__prefab": { + "__id__": 97 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 190, + "height": 23.333333333333332 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "2fZ5IbrfpGAZL8NHWcCmSI" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 95 + }, + "_enabled": true, + "__prefab": { + "__id__": 99 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_string": "词条2", + "_horizontalAlign": 0, + "_verticalAlign": 1, + "_actualFontSize": 18, + "_fontSize": 20, + "_fontFamily": "Arial", + "_lineHeight": 25, + "_overflow": 2, + "_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": 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": "dc6KYeWoJBr5NspO5kGx92" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 95 + }, + "_enabled": true, + "__prefab": { + "__id__": 101 + }, + "_alignFlags": 40, + "_target": null, + "_left": 0, + "_right": 0, + "_top": 0, + "_bottom": 0, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 300, + "_originalHeight": 0, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "ecZYYEuDRAh5fCYP3KMUKj" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "b6k/wLCIBPwb+CzEq7D/OD", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.Node", + "_name": "i3", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 86 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 104 + }, + { + "__id__": 106 + }, + { + "__id__": 108 + } + ], + "_prefab": { + "__id__": 110 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": -23.33333333333333, + "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__": 103 + }, + "_enabled": true, + "__prefab": { + "__id__": 105 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 190, + "height": 23.333333333333332 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "4bzdV65RFKkoWfWLPUitf0" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 103 + }, + "_enabled": true, + "__prefab": { + "__id__": 107 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_string": "词条3", + "_horizontalAlign": 0, + "_verticalAlign": 1, + "_actualFontSize": 18, + "_fontSize": 20, + "_fontFamily": "Arial", + "_lineHeight": 25, + "_overflow": 2, + "_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": 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": "f0oseF23FJJY7bo5zkXU/L" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 103 + }, + "_enabled": true, + "__prefab": { + "__id__": 109 + }, + "_alignFlags": 40, + "_target": null, + "_left": 0, + "_right": 0, + "_top": 0, + "_bottom": 0, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 300, + "_originalHeight": 0, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "7dc/Tc5s5N+42zkFkChZxc" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "897tyOuodBQJ2g1YcPjCYe", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 86 + }, + "_enabled": true, + "__prefab": { + "__id__": 112 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 190, + "height": 70 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "23zkFGCNdKFYEAZu1hO0ZD" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 86 + }, + "_enabled": true, + "__prefab": { + "__id__": 114 + }, + "_alignFlags": 45, + "_target": null, + "_left": 20, + "_right": 20, + "_top": 144.541, + "_bottom": 85.459, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 100, + "_originalHeight": 100, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "ea6zVnOhFA57hmQp7pFbkh" + }, + { + "__type__": "cc.Layout", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 86 + }, + "_enabled": true, + "__prefab": { + "__id__": 116 + }, + "_resizeMode": 1, + "_layoutType": 2, + "_cellSize": { + "__type__": "cc.Size", + "width": 40, + "height": 40 + }, + "_startAxis": 1, + "_paddingLeft": 0, + "_paddingRight": 0, + "_paddingTop": 0, + "_paddingBottom": 0, + "_spacingX": 0, + "_spacingY": 0, + "_verticalDirection": 1, + "_horizontalDirection": 0, + "_constraint": 0, + "_constraintNum": 2, + "_affectedByScale": false, + "_isAlign": false, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "39NZio6TNPjLLTUnq0ODme" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "894Jil2OhD84XdOP9fS7Ua", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.Node", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_prefab": { + "__id__": 119 + }, + "__editorExtras__": {} + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 118 + }, + "asset": { + "__uuid__": "506d0f89-1cf1-4c3b-be47-a3abaf3695e8", + "__expectedType__": "cc.Prefab" + }, + "fileId": "60RuUkpjBAGoLk3z4xlHcF", + "instance": { + "__id__": 120 + }, + "targetOverrides": null + }, + { + "__type__": "cc.PrefabInstance", + "fileId": "d3z/Xev1FBdqPkVQYK6dha", + "prefabRootNode": { + "__id__": 1 + }, + "mountedChildren": [], + "mountedComponents": [], + "propertyOverrides": [ + { + "__id__": 121 + }, + { + "__id__": 123 + }, + { + "__id__": 124 + }, + { + "__id__": 125 + }, + { + "__id__": 126 + }, + { + "__id__": 128 + }, + { + "__id__": 130 + }, + { + "__id__": 132 + }, + { + "__id__": 134 + }, + { + "__id__": 136 + }, + { + "__id__": 138 + }, + { + "__id__": 139 + }, + { + "__id__": 141 + }, + { + "__id__": 143 + }, + { + "__id__": 145 + } + ], + "removedComponents": [] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 122 + }, + "propertyPath": [ + "_name" + ], + "value": "button" + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "60RuUkpjBAGoLk3z4xlHcF" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 122 + }, + "propertyPath": [ + "_lpos" + ], + "value": { + "__type__": "cc.Vec3", + "x": 0, + "y": -95.715, + "z": 0 + } + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 122 + }, + "propertyPath": [ + "_lrot" + ], + "value": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + } + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 122 + }, + "propertyPath": [ + "_euler" + ], + "value": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + } + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 127 + }, + "propertyPath": [ + "_contentSize" + ], + "value": { + "__type__": "cc.Size", + "width": 130, + "height": 50 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "69vKLtZHNNMpMC4SmMmoDi" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 129 + }, + "propertyPath": [ + "_contentSize" + ], + "value": { + "__type__": "cc.Size", + "width": 130, + "height": 50 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "cdti5U6ZNG2Z/RykAJNVTw" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 131 + }, + "propertyPath": [ + "_contentSize" + ], + "value": { + "__type__": "cc.Size", + "width": 122, + "height": 38 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "3cTH6kgb9D1bt8syQyX+k8" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 133 + }, + "propertyPath": [ + "_lpos" + ], + "value": { + "__type__": "cc.Vec3", + "x": -55, + "y": 15.5, + "z": 0 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "3eGuUajkVIeK78uF29soeR" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 135 + }, + "propertyPath": [ + "_contentSize" + ], + "value": { + "__type__": "cc.Size", + "width": 130, + "height": 30 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "a2VyIJeeVKFodz6H9a3PKt" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 137 + }, + "propertyPath": [ + "_top" + ], + "value": 9.4875 + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "71o6/V/3VMMZ/CnSZBIkZ0" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 137 + }, + "propertyPath": [ + "_bottom" + ], + "value": 10.5125 + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 140 + }, + "propertyPath": [ + "_active" + ], + "value": false + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "28D4tFgVRPwbG9iXo3cRl7" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 142 + }, + "propertyPath": [ + "_lpos" + ], + "value": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "deRkP/BNlLX52OUGvpThIO" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 144 + }, + "propertyPath": [ + "_color" + ], + "value": { + "__type__": "cc.Color", + "r": 133, + "g": 208, + "b": 72, + "a": 255 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "e1PNQAe0ZJH5asasLtteLw" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 146 + }, + "propertyPath": [ + "_color" + ], + "value": { + "__type__": "cc.Color", + "r": 198, + "g": 239, + "b": 150, + "a": 255 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "72Qmr45pdBjaa4/XGRGS5u" + ] + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 148 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 230, + "height": 300 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "01picFBtJMhp/LBDdXi1y9" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 150 + }, + "_alignFlags": 40, + "_target": null, + "_left": 245, + "_right": 245, + "_top": 0, + "_bottom": 0, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 100, + "_originalHeight": 0, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "4aPeqTNK9Ga61Xv9j+yGXk" + }, + { + "__type__": "62e81FUcExM5audGcEtU5UX", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 152 + }, + "icon_node": { + "__id__": 153 + }, + "bg_node": { + "__id__": 161 + }, + "name_label": { + "__id__": 24 + }, + "fied1": { + "__id__": 90 + }, + "fied2": { + "__id__": 98 + }, + "fied3": { + "__id__": 106 + }, + "level_label": { + "__id__": 30 + }, + "buy_node": { + "__id__": 118 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "19pHi3FURKuprQR2H/ctYa" + }, + { + "__type__": "cc.Node", + "_name": "icon", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 40 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 154 + }, + { + "__id__": 156 + }, + { + "__id__": 158 + } + ], + "_prefab": { + "__id__": 160 + }, + "_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": 0.6, + "y": 0.6, + "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__": 153 + }, + "_enabled": true, + "__prefab": { + "__id__": 155 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 100, + "height": 100 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "0elb3r0slJwbY2BNC1zTKn" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 153 + }, + "_enabled": true, + "__prefab": { + "__id__": 157 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "2842dc10-d89e-4ff6-8a11-6d09bf48cf20@048d1", + "__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": { + "__uuid__": "2842dc10-d89e-4ff6-8a11-6d09bf48cf20", + "__expectedType__": "cc.SpriteAtlas" + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "075wC9BqZNpKBHWkkHGa0w" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 153 + }, + "_enabled": true, + "__prefab": { + "__id__": 159 + }, + "_alignFlags": 45, + "_target": null, + "_left": 15, + "_right": 15, + "_top": 15, + "_bottom": 15, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 78, + "_originalHeight": 78, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "979E8VFL1G3qbMjoTp5l0c" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "a33ReyWcpAoZY5ieotS6Ir", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.Node", + "_name": "bg", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 40 + }, + "_children": [ + { + "__id__": 162 + }, + { + "__id__": 178 + }, + { + "__id__": 194 + }, + { + "__id__": 210 + }, + { + "__id__": 226 + } + ], + "_active": true, + "_components": [ + { + "__id__": 242 + }, + { + "__id__": 244 + } + ], + "_prefab": { + "__id__": 246 + }, + "_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": "green", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 161 + }, + "_children": [ + { + "__id__": 163 + } + ], + "_active": true, + "_components": [ + { + "__id__": 171 + }, + { + "__id__": 173 + }, + { + "__id__": 175 + } + ], + "_prefab": { + "__id__": 177 + }, + "_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": 0.2, + "y": 0.2, + "z": 1 + }, + "_mobility": 0, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "SkillFrame_01_Border_Blue", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 162 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 164 + }, + { + "__id__": 166 + }, + { + "__id__": 168 + } + ], + "_prefab": { + "__id__": 170 + }, + "_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": 2, + "y": 2, + "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__": 163 + }, + "_enabled": true, + "__prefab": { + "__id__": 165 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 193, + "height": 193 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "7eXE020LJO2re5wfhWMR+x" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 163 + }, + "_enabled": true, + "__prefab": { + "__id__": 167 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73@d1286", + "__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": { + "__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73", + "__expectedType__": "cc.SpriteAtlas" + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "f0Vdz2o2lPFLwXlW5JPYW4" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 163 + }, + "_enabled": true, + "__prefab": { + "__id__": 169 + }, + "_alignFlags": 45, + "_target": null, + "_left": -8, + "_right": -8, + "_top": -8, + "_bottom": -8, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 56, + "_originalHeight": 58, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "5fCWyWmApMNqTCR3sFhtR8" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "7dxLMTd/xC/68jt7Lwr0wN", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 162 + }, + "_enabled": true, + "__prefab": { + "__id__": 172 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 370, + "height": 370 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "01RZgHEk5DOImBHnPTZbSl" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 162 + }, + "_enabled": true, + "__prefab": { + "__id__": 174 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 158, + "g": 255, + "b": 134, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73@d8db6", + "__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": { + "__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73", + "__expectedType__": "cc.SpriteAtlas" + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "83RO3P8ctM+bi+TCfBHkKM" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 162 + }, + "_enabled": true, + "__prefab": { + "__id__": 176 + }, + "_alignFlags": 45, + "_target": null, + "_left": 8, + "_right": 8, + "_top": 8, + "_bottom": 8, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 52, + "_originalHeight": 52, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "baf1d9tPZAd4fOS6WGAm8G" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "c8GUMPCaFLxq7iBjkJgK3j", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.Node", + "_name": "blue", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 161 + }, + "_children": [ + { + "__id__": 179 + } + ], + "_active": true, + "_components": [ + { + "__id__": 187 + }, + { + "__id__": 189 + }, + { + "__id__": 191 + } + ], + "_prefab": { + "__id__": 193 + }, + "_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": 0.2, + "y": 0.2, + "z": 1 + }, + "_mobility": 0, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "SkillFrame_01_Border_Blue", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 178 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 180 + }, + { + "__id__": 182 + }, + { + "__id__": 184 + } + ], + "_prefab": { + "__id__": 186 + }, + "_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": 2, + "y": 2, + "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__": 179 + }, + "_enabled": true, + "__prefab": { + "__id__": 181 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 193, + "height": 193 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "bdhTW5lJ9PJamgUN/UmnC2" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 179 + }, + "_enabled": true, + "__prefab": { + "__id__": 183 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73@654c0", + "__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": "74QdiEVndDl5Vqf5Hjj8qY" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 179 + }, + "_enabled": true, + "__prefab": { + "__id__": 185 + }, + "_alignFlags": 45, + "_target": null, + "_left": -8, + "_right": -8, + "_top": -8, + "_bottom": -8, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 56, + "_originalHeight": 58, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "17NmLP2VJDYqeNommRKja0" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "05/ViZ4x5CsKTMBvYgTNv7", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 178 + }, + "_enabled": true, + "__prefab": { + "__id__": 188 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 370, + "height": 370 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "cdEeG/ubFJgqKs1MdM6xd9" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 178 + }, + "_enabled": true, + "__prefab": { + "__id__": 190 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 92, + "g": 185, + "b": 247, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73@d8db6", + "__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": { + "__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73", + "__expectedType__": "cc.SpriteAtlas" + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "9aNUtJ9bNDS621z3LovfsY" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 178 + }, + "_enabled": true, + "__prefab": { + "__id__": 192 + }, + "_alignFlags": 45, + "_target": null, + "_left": 8, + "_right": 8, + "_top": 8, + "_bottom": 8, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 52, + "_originalHeight": 52, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "fbhcN/JhJD26edWcEf8KiQ" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "93fFoXu3BBYqu4RLG2YPon", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.Node", + "_name": "purple", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 161 + }, + "_children": [ + { + "__id__": 195 + } + ], + "_active": true, + "_components": [ + { + "__id__": 203 + }, + { + "__id__": 205 + }, + { + "__id__": 207 + } + ], + "_prefab": { + "__id__": 209 + }, + "_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": 0.2, + "y": 0.2, + "z": 1 + }, + "_mobility": 0, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "SkillFrame_01_Border_Blue", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 194 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 196 + }, + { + "__id__": 198 + }, + { + "__id__": 200 + } + ], + "_prefab": { + "__id__": 202 + }, + "_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": 2, + "y": 2, + "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__": 195 + }, + "_enabled": true, + "__prefab": { + "__id__": 197 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 193, + "height": 193 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "31upVgp9hMgqBxdoieIwVm" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 195 + }, + "_enabled": true, + "__prefab": { + "__id__": 199 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73@900a1", + "__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": { + "__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73", + "__expectedType__": "cc.SpriteAtlas" + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "41VXMESAJKg5kx7y+LyKEN" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 195 + }, + "_enabled": true, + "__prefab": { + "__id__": 201 + }, + "_alignFlags": 45, + "_target": null, + "_left": -8, + "_right": -8, + "_top": -8, + "_bottom": -8, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 56, + "_originalHeight": 58, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "72RgzpFspPSIvEm12Te+NC" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "28zhIq1rJFoqgXVfHbZVku", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 194 + }, + "_enabled": true, + "__prefab": { + "__id__": 204 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 370, + "height": 370 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "01Tb8sF1pD1K401C16wfxs" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 194 + }, + "_enabled": true, + "__prefab": { + "__id__": 206 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 228, + "g": 194, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73@d8db6", + "__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": { + "__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73", + "__expectedType__": "cc.SpriteAtlas" + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "05Zwe5oaRITayhS7nyUA3W" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 194 + }, + "_enabled": true, + "__prefab": { + "__id__": 208 + }, + "_alignFlags": 45, + "_target": null, + "_left": 8, + "_right": 8, + "_top": 8, + "_bottom": 8, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 52, + "_originalHeight": 52, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "f8m897RgFJ3Yfwjs+9LSxo" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "f815Ec4HdHl7lhEUTBr/l3", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.Node", + "_name": "red", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 161 + }, + "_children": [ + { + "__id__": 211 + } + ], + "_active": true, + "_components": [ + { + "__id__": 219 + }, + { + "__id__": 221 + }, + { + "__id__": 223 + } + ], + "_prefab": { + "__id__": 225 + }, + "_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": 0.2, + "y": 0.2, + "z": 1 + }, + "_mobility": 0, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "SkillFrame_01_Border_Blue", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 210 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 212 + }, + { + "__id__": 214 + }, + { + "__id__": 216 + } + ], + "_prefab": { + "__id__": 218 + }, + "_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": 2, + "y": 2, + "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__": 211 + }, + "_enabled": true, + "__prefab": { + "__id__": 213 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 193, + "height": 193 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "ce0/u2yctKCZkL+Ru0cbmo" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 211 + }, + "_enabled": true, + "__prefab": { + "__id__": 215 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73@4f590", + "__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": { + "__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73", + "__expectedType__": "cc.SpriteAtlas" + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "472fPUEeZJBZ0we0ZqBZLT" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 211 + }, + "_enabled": true, + "__prefab": { + "__id__": 217 + }, + "_alignFlags": 45, + "_target": null, + "_left": -8, + "_right": -8, + "_top": -8, + "_bottom": -8, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 56, + "_originalHeight": 58, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "9aKMLDvMxIdL5mGpxApN/a" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "ceKD1JLx5OXYWUaSeK4/8B", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 210 + }, + "_enabled": true, + "__prefab": { + "__id__": 220 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 370, + "height": 370 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "c82typVIdBJJabkX/s0ZkZ" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 210 + }, + "_enabled": true, + "__prefab": { + "__id__": 222 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 179, + "b": 179, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73@d8db6", + "__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": { + "__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73", + "__expectedType__": "cc.SpriteAtlas" + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "a35oaIyWZAyaqqaIo3ecgQ" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 210 + }, + "_enabled": true, + "__prefab": { + "__id__": 224 + }, + "_alignFlags": 45, + "_target": null, + "_left": 8, + "_right": 8, + "_top": 8, + "_bottom": 8, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 52, + "_originalHeight": 52, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "97QhKRqORBu7cZbfTOKHZx" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "51ns/anqVO87NRv6DMzJKj", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.Node", + "_name": "yellow", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 161 + }, + "_children": [ + { + "__id__": 227 + } + ], + "_active": true, + "_components": [ + { + "__id__": 235 + }, + { + "__id__": 237 + }, + { + "__id__": 239 + } + ], + "_prefab": { + "__id__": 241 + }, + "_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": 0.2, + "y": 0.2, + "z": 1 + }, + "_mobility": 0, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "SkillFrame_01_Border_Blue", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 226 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 228 + }, + { + "__id__": 230 + }, + { + "__id__": 232 + } + ], + "_prefab": { + "__id__": 234 + }, + "_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": 2, + "y": 2, + "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__": 227 + }, + "_enabled": true, + "__prefab": { + "__id__": 229 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 193, + "height": 193 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "4cdo17U+VOh4SgXfb/+Gk7" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 227 + }, + "_enabled": true, + "__prefab": { + "__id__": 231 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73@2eb28", + "__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": { + "__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73", + "__expectedType__": "cc.SpriteAtlas" + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "74wQe518NJtomw3BaPS3RF" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 227 + }, + "_enabled": true, + "__prefab": { + "__id__": 233 + }, + "_alignFlags": 45, + "_target": null, + "_left": -8, + "_right": -8, + "_top": -8, + "_bottom": -8, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 56, + "_originalHeight": 58, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "54DttIreFHwYJkJN4N0RTP" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "f0arVt0ElB87nq5CoNVAt4", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 226 + }, + "_enabled": true, + "__prefab": { + "__id__": 236 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 370, + "height": 370 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "68Zpxa86JHMbiKqxEUYo0V" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 226 + }, + "_enabled": true, + "__prefab": { + "__id__": 238 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 246, + "b": 139, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73@d8db6", + "__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": { + "__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73", + "__expectedType__": "cc.SpriteAtlas" + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "a3uQv7YKlBh7VPyZ5JRsEQ" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 226 + }, + "_enabled": true, + "__prefab": { + "__id__": 240 + }, + "_alignFlags": 45, + "_target": null, + "_left": 8, + "_right": 8, + "_top": 8, + "_bottom": 8, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 52, + "_originalHeight": 52, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "2ftKNnmZdJtKhaRtZLBILA" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "d3r4ZGziNEz77IzWW7ndja", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 161 + }, + "_enabled": true, + "__prefab": { + "__id__": 243 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 90, + "height": 90 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "44Ed4eH0lI5Kssdq2dPzke" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 161 + }, + "_enabled": true, + "__prefab": { + "__id__": 245 + }, + "_alignFlags": 45, + "_target": null, + "_left": 0, + "_right": 0, + "_top": 0, + "_bottom": 0, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 80, + "_originalHeight": 80, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "18zuChgCtJMJcsGZMZXNa3" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "c8niXKCPZJkZO13m9+xJNN", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "5dVotvOAFMoaprbNZVAkgY", + "instance": null, + "targetOverrides": [ + { + "__id__": 248 + }, + { + "__id__": 250 + } + ], + "nestedPrefabInstanceRoots": [ + { + "__id__": 118 + }, + { + "__id__": 40 + }, + { + "__id__": 2 + } + ] + }, + { + "__type__": "cc.TargetOverrideInfo", + "source": { + "__id__": 151 + }, + "sourceInfo": null, + "propertyPath": [ + "icon_node" + ], + "target": { + "__id__": 40 + }, + "targetInfo": { + "__id__": 249 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "a33ReyWcpAoZY5ieotS6Ir" + ] + }, + { + "__type__": "cc.TargetOverrideInfo", + "source": { + "__id__": 151 + }, + "sourceInfo": null, + "propertyPath": [ + "bg_node" + ], + "target": { + "__id__": 40 + }, + "targetInfo": { + "__id__": 251 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "c8niXKCPZJkZO13m9+xJNN" + ] + } +] \ No newline at end of file diff --git a/assets/resources/gui/element/cHero.prefab.meta b/assets/resources/gui/element/cHero.prefab.meta new file mode 100644 index 00000000..9b3104eb --- /dev/null +++ b/assets/resources/gui/element/cHero.prefab.meta @@ -0,0 +1,13 @@ +{ + "ver": "1.1.50", + "importer": "prefab", + "imported": true, + "uuid": "f2f9a3e0-d0f5-46f4-84bd-dd54c2248470", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": { + "syncNodeName": "cHero" + } +} diff --git a/assets/resources/gui/element/mission.prefab b/assets/resources/gui/element/mission.prefab index 591c3ffc..308bafad 100644 --- a/assets/resources/gui/element/mission.prefab +++ b/assets/resources/gui/element/mission.prefab @@ -5906,7 +5906,7 @@ }, { "__type__": "cc.Node", - "_name": "cards", + "_name": "cbox", "_objFlags": 0, "__editorExtras__": {}, "_parent": { @@ -5931,7 +5931,7 @@ "_lpos": { "__type__": "cc.Vec3", "x": 0, - "y": 296.948, + "y": 280, "z": 0 }, "_lrot": { @@ -5971,8 +5971,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 519.4, - "height": 300 + "width": 720, + "height": 340 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -5983,7 +5983,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "d52ar8fGRCcJCkEGKYqLmS" + "fileId": "78ZkzaYgNLrq5b2cza8aKb" }, { "__type__": "cc.Widget", @@ -5997,14 +5997,14 @@ "__prefab": { "__id__": 352 }, - "_alignFlags": 42, + "_alignFlags": 45, "_target": null, - "_left": 100.30000000000001, - "_right": 100.30000000000001, - "_top": -491.51300000000003, - "_bottom": 491.51300000000003, + "_left": 0, + "_right": 0, + "_top": 0, + "_bottom": 110, "_horizontalCenter": 0, - "_verticalCenter": 71.94799999999998, + "_verticalCenter": 0, "_isAbsLeft": true, "_isAbsRight": true, "_isAbsTop": true, @@ -6012,14 +6012,14 @@ "_isAbsHorizontalCenter": true, "_isAbsVerticalCenter": true, "_originalWidth": 100, - "_originalHeight": 300, + "_originalHeight": 100, "_alignMode": 2, "_lockFlags": 0, "_id": "" }, { "__type__": "cc.CompPrefabInfo", - "fileId": "4dDc0+apdNPrjk0bxsb5yf" + "fileId": "6d6l1qXbRM3alP2Uq/Ylu4" }, { "__type__": "cc.Layout", @@ -6029,11 +6029,11 @@ "node": { "__id__": 348 }, - "_enabled": false, + "_enabled": true, "__prefab": { "__id__": 354 }, - "_resizeMode": 1, + "_resizeMode": 0, "_layoutType": 1, "_cellSize": { "__type__": "cc.Size", @@ -6041,11 +6041,11 @@ "height": 40 }, "_startAxis": 0, - "_paddingLeft": 0, - "_paddingRight": 0, + "_paddingLeft": 10, + "_paddingRight": 10, "_paddingTop": 0, "_paddingBottom": 0, - "_spacingX": 4.7, + "_spacingX": 5, "_spacingY": 0, "_verticalDirection": 1, "_horizontalDirection": 0, @@ -6057,7 +6057,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "81yCxsR/BPCro5/jgovbJu" + "fileId": "986NWAVihCn4rQg8WZ0eck" }, { "__type__": "cc.PrefabInfo", @@ -6067,7 +6067,7 @@ "asset": { "__id__": 0 }, - "fileId": "f2mrMK3fBJT4tB+8JEKln0", + "fileId": "52iIpQHPNPd56azk49eqsK", "instance": null, "targetOverrides": null, "nestedPrefabInstanceRoots": null @@ -18390,7 +18390,7 @@ "__id__": 348 }, "cardPrefab": { - "__uuid__": "8aaff904-8c27-4173-9716-7161893b336e", + "__uuid__": "f2f9a3e0-d0f5-46f4-84bd-dd54c2248470", "__expectedType__": "cc.Prefab" }, "cards_chou": { @@ -18405,8 +18405,12 @@ "showHeros": { "__id__": 924 }, - "herosPanNode": null, - "herosBoxNode": null, + "herosPanNode": { + "__id__": 227 + }, + "herosBoxNode": { + "__id__": 247 + }, "heroPrefab": null, "showEquips": { "__id__": 953 @@ -18424,9 +18428,16 @@ "showSkills": { "__id__": 985 }, - "skillPanNode": null, - "skillBoxNode": null, - "skillPrefab": null, + "skillPanNode": { + "__id__": 621 + }, + "skillBoxNode": { + "__id__": 662 + }, + "skillPrefab": { + "__uuid__": "78a5b2d1-a34b-4190-895d-7d0aa22037cc", + "__expectedType__": "cc.Prefab" + }, "showShop": { "__id__": 1014 }, diff --git a/assets/script/game/map/CHeroComp.ts b/assets/script/game/map/CHeroComp.ts new file mode 100644 index 00000000..b651c9f7 --- /dev/null +++ b/assets/script/game/map/CHeroComp.ts @@ -0,0 +1,424 @@ +/** + * @file CHeroComp.ts + * @description 英雄卡池单个卡槽组件(UI 视图层 + 购买/召唤逻辑) + * + * 职责: + * 1. 渲染单个英雄卡的显示信息(名称、等级、描述、图标、费用), + * 展示方式与 SCardComp 一致(图集静态图标 + ★等级 + 描述词条)。 + * 同时支持动态升级卡(SpecialUpgrade + target_hero_eid)按英雄卡样式渲染。 + * 2. 处理购买点击 → UseHeroCard 上限校验(guard) → 扣费 → 派发 CallHero 召唤英雄。 + * 特殊卡(升级/刷新)则派发 UseSpecialCard。 + * 3. 使用成功后派发 CardUsed 事件,通知 MissionCardComp 刷新英雄卡池。 + * + * 与 SCardComp 的差异: + * - 数据源为 HeroInfo(heroSet),而非 SkillCardList / SkillSet。 + * - 购买前需通过 GameEvent.UseHeroCard 做英雄数量上限校验。 + * - 英雄卡效果事件为 GameEvent.CallHero,而非 UseSkillCard。 + */ +import { mLogger } from "../common/Logger"; +import { _decorator, Node, Sprite, Label, NodeEventType, Vec3 } from "cc"; +import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS"; +import { CCComp } from "../../../../extensions/oops-plugin-framework/assets/module/common/CCComp"; +import { CardConfig, CardType } from "../common/config/CardSet"; +import { HeroInfo } from "../common/config/heroSet"; +import { oops } from "db://oops-framework/core/Oops"; +import { GameEvent } from "../common/config/GameEvent"; +import { smc } from "../common/SingletonModuleComp"; +import { HeroAttrsComp } from "../hero/HeroAttrsComp"; +import { FieldSkillType } from "../common/config/SkillSet"; +import { FieldSkillHelper } from "../hero/FieldSkillHelper"; +import { MissionEconomy } from "./MissionEconomy"; + +const { ccclass, property } = _decorator; + +/** + * CHeroComp —— 英雄卡池单个英雄卡项 + * + * 由 MissionCardComp.cacheCardComps() 实例化。 + * 以图标 + 名称 + 描述词条 + 购买按钮的形式呈现。 + */ +@ccclass('CHeroComp') +@ecs.register('CHeroComp', false) +export class CHeroComp extends CCComp { + private debugMode: boolean = true; + + // ======================== 编辑器绑定节点 ======================== + + /** 英雄图标节点 */ + @property({ type: Node }) + private icon_node: Node = null; + + /** 背景节点 */ + @property({ type: Node }) + private bg_node: Node = null; + + /** 英雄名称 */ + @property(Label) + private name_label: Label = null; + + /** 描述词条 1 */ + @property(Label) + private fied1: Label = null; + /** 描述词条 2 */ + @property(Label) + private fied2: Label = null; + /** 描述词条 3 */ + @property(Label) + private fied3: Label = null; + + /** 等级标签 */ + @property(Label) + private level_label: Label = null; + + /** 购买按钮节点 */ + @property({ type: Node }) + private buy_node: Node = null; + + // ======================== 运行时状态 ======================== + + /** 当前槽位承载的卡牌配置,null 表示空槽 */ + private cardData: CardConfig | null = null; + /** 是否已购买 */ + private isPurchased: boolean = false; + /** 是否已缓存基准 Y/Z 坐标(首次 setSlotPosition 时确定) */ + private hasFixedBasePosition: boolean = false; + /** 槽位基准 Y 坐标 */ + private fixedBaseY: number = 0; + /** 槽位基准 Z 坐标 */ + private fixedBaseZ: number = 0; + /** 静止位置(由 MissionCardComp 布局决定) */ + private restPosition: Vec3 = new Vec3(); + + // ======================== 生命周期 ======================== + + onLoad() { + mLogger.log(this.debugMode, "CHeroComp", "onLoad bindings", { + nodeName: this.node?.name, + nodeUuid: this.node?.uuid, + hasCardData: !!this.cardData, + cardUuid: this.cardData?.uuid ?? null, + icon_node: !!this.icon_node, + bg_node: !!this.bg_node, + name_label: !!this.name_label, + level_label: !!this.level_label, + fied1: !!this.fied1, + fied2: !!this.fied2, + fied3: !!this.fied3, + buy_node: !!this.buy_node + }); + this.buy_node?.on(NodeEventType.TOUCH_END, this.onBuyClick, this); + + // 补偿首次渲染:addComponent 当帧 onLoad 尚未触发, + // 若 MissionCardComp 在 onLoad 前已 applyCardData,此处绑定就绪后重刷一次 + if (this.cardData) { + this.updateUI(); + } + } + + onDestroy() { + super.onDestroy(); + if (this.buy_node && this.buy_node.isValid) { + this.buy_node.off(NodeEventType.TOUCH_END, this.onBuyClick, this); + } + } + + // ======================== 数据初始化 ======================== + + /** + * 初始化英雄卡数据并渲染 UI + * + * @param data 卡牌配置,传 null 时清空显示 + */ + applyCardData(data: CardConfig | null): void { + mLogger.log(this.debugMode, "CHeroComp", "applyCardData", { + nodeName: this.node?.name, + nodeUuid: this.node?.uuid, + uuid: data?.uuid ?? null, + type: data?.type ?? null, + name: data?.name ?? null, + card_lv: data?.card_lv ?? null, + hero_lv: data?.hero_lv ?? null, + cost: data?.cost ?? null, + icon: data?.icon ?? null, + nodeActiveBefore: this.node?.active + }); + this.cardData = data; + this.isPurchased = false; + if (data) { + this.node.active = true; + this.updateUI(); + } else { + this.applyEmptyUI(); + } + } + + /** 清空 UI 显示 */ + private applyEmptyUI() { + if (this.name_label) this.name_label.string = ""; + if (this.level_label) this.level_label.string = ""; + const fieldLabels = [this.fied1, this.fied2, this.fied3]; + for (const label of fieldLabels) { + if (label) { + label.string = ""; + label.node.active = false; + } + } + if (this.icon_node) { + const sprite = this.icon_node.getComponent(Sprite) || this.icon_node.getComponentInChildren(Sprite); + if (sprite) sprite.spriteFrame = null; + } + if (this.buy_node) { + this.buy_node.active = false; + } + this.node.active = false; + } + + // ======================== UI 渲染 ======================== + + updateUI() { + if (!this.cardData) { + mLogger.log(this.debugMode, "CHeroComp", "updateUI skip: no cardData", { nodeName: this.node?.name }); + return; + } + + // 动态升级卡(SpecialUpgrade + target_hero_eid)按英雄卡样式渲染: + // 通过 eid 反查场上实体得到 hero_uuid;实体不存在时降级为本卡 uuid + const isUpgradeCard = this.cardData.type === CardType.SpecialUpgrade && !!this.cardData.target_hero_eid; + const renderUuid = isUpgradeCard + ? (this.queryHeroUuidByEid(this.cardData.target_hero_eid as number) ?? this.cardData.uuid) + : this.cardData.uuid; + const hero = HeroInfo[renderUuid]; + + mLogger.log(this.debugMode, "CHeroComp", "updateUI resolve", { + nodeName: this.node?.name, + uuid: this.cardData.uuid, + type: this.cardData.type, + isUpgradeCard, + renderUuid, + heroFound: !!hero, + heroName: hero?.name ?? null, + heroPath: hero?.path ?? null, + heroInfo: hero?.info ?? null + }); + + // 名称 + if (this.name_label) { + const finalName = hero?.name || this.cardData.name || ""; + this.name_label.string = finalName; + mLogger.log(this.debugMode, "CHeroComp", "name_label assigned", { + nodeName: this.node?.name, + finalName, + labelStringAfter: this.name_label.string, + labelNodeActive: this.name_label.node?.active, + labelNodeParentActive: this.name_label.node?.parent?.active, + labelNodeParentName: this.name_label.node?.parent?.name + }); + } + + // 等级标签(★ 表示卡牌等级;升级卡显示英雄目标等级) + if (this.level_label) { + if (isUpgradeCard) { + const heroLv = Math.max(1, this.cardData.hero_lv ?? 1); + this.level_label.string = heroLv > 1 ? `Lv.${heroLv - 1} -> Lv.${heroLv}` : `Lv.${heroLv}`; + } else { + const lv = this.cardData.card_lv ?? 1; + this.level_label.string = lv >= 2 ? "★".repeat(lv - 1) : ""; + } + } + + // 描述词条(最多显示 3 条,对应 fied1/fied2/fied3) + const fieldLabels = [this.fied1, this.fied2, this.fied3]; + const desc = hero?.info || this.cardData.info || ""; + for (let i = 0; i < fieldLabels.length; i++) { + if (!fieldLabels[i]) continue; + fieldLabels[i].string = i === 0 ? desc : ""; + fieldLabels[i].node.active = i === 0 && !!desc; + } + + // 图标 + if (this.icon_node) { + const iconId = this.getIconId(renderUuid); + if (iconId) { + this.updateIcon(this.icon_node, iconId); + } + } + + // 购买按钮费用显示 + if (this.buy_node) { + this.buy_node.active = true; + const costLabel = this.buy_node.getChildByName("num")?.getComponent(Label) + || this.buy_node.getComponentInChildren(Label); + if (costLabel) { + costLabel.string = `${this.cardData.cost ?? 0}`; + } + } + } + + /** + * 通过 eid 反查场上英雄实体的 hero_uuid。 + * 用于动态升级卡渲染:升级卡绑定的是 eid,但显示需要 HeroInfo[uuid]。 + * @returns 找到则返回 hero_uuid,找不到(实体已销毁等)返回 null + */ + private queryHeroUuidByEid(eid: number): number | null { + if (!eid) return null; + const entity = ecs.getEntityByEid(eid); + if (!entity) return null; + const model = entity.get(HeroAttrsComp); + if (!model) return null; + return model.hero_uuid ?? null; + } + + /** 获取英雄图标 id:优先卡牌自定义 icon,其次英雄 path,兜底 uuid */ + private getIconId(renderUuid: number): string { + if (!this.cardData) return ""; + if (this.cardData.icon) return this.cardData.icon; + const hero = HeroInfo[renderUuid]; + return hero?.path || `${renderUuid}`; + } + + /** 更新图标精灵 */ + private updateIcon(node: Node, iconId: string) { + if (!node || !iconId) return; + const sprite = node.getComponent(Sprite) || node.getComponentInChildren(Sprite); + const frame = smc.uiconsAtlas ? smc.uiconsAtlas.getSpriteFrame(iconId) : null; + mLogger.log(this.debugMode, "CHeroComp", "updateIcon", { + nodeName: this.node?.name, + iconId, + spriteFound: !!sprite, + atlasReady: !!smc.uiconsAtlas, + frameFound: !!frame + }); + if (!sprite) return; + if (smc.uiconsAtlas) { + sprite.spriteFrame = frame || null; + } + } + + // ======================== 购买逻辑 ======================== + + /** + * 购买点击处理: + * 1. 英雄卡先通过 UseHeroCard 事件做数量上限校验(guard 模式,可被取消)。 + * 2. 扣除金币(失败则提示并中止)。 + * 3. 按卡牌类型分发效果:英雄卡 → CallHero 召唤英雄;特殊卡 → UseSpecialCard。 + * 4. 派发 CardUsed 通知 MissionCardComp 刷新英雄卡池。 + * 5. 标记已购买,隐藏购买按钮。 + */ + private onBuyClick() { + if (!this.cardData || this.isPurchased) return; + + oops.audio.playEffect("music/button"); + + // 英雄卡数量上限校验:guard 模式,MissionCardComp 可设 cancel=true 阻止使用 + if (this.cardData.type === CardType.Hero) { + const guard = { + cancel: false, + reason: "", + uuid: this.cardData.uuid, + hero_lv: this.cardData.hero_lv ?? 1, + card_lv: this.cardData.base_pool_lv ?? this.cardData.pool_lv ?? 1 + }; + oops.message.dispatchEvent(GameEvent.UseHeroCard, guard); + if (guard.cancel) return; + } + + // 扣费(英雄卡享受驻场"购买优惠"折扣) + let cost = this.cardData.cost ?? 0; + if (this.cardData.type === CardType.Hero) { + const discount = FieldSkillHelper.getFieldSkillTotalValue(FieldSkillType.BuyDiscount); + cost = Math.max(0, cost - discount); + } + const success = MissionEconomy.spendCoin(Math.floor(cost)); + if (!success) { + oops.message.dispatchEvent(GameEvent.ShowSmallTip, "buy_coin"); + mLogger.log(this.debugMode, "CHeroComp", "purchase failed: not enough coin", { + uuid: this.cardData.uuid, + cost + }); + return; + } + + smc.vmdata.scores.refresh_hit_count++; + + const used = this.cardData; + + // 按卡牌类型分发效果事件 + switch (used.type) { + case CardType.Hero: + oops.message.dispatchEvent(GameEvent.CallHero, used); + break; + case CardType.SpecialUpgrade: + case CardType.SpecialRefresh: + oops.message.dispatchEvent(GameEvent.UseSpecialCard, used); + break; + } + + // 标记已购买 + this.isPurchased = true; + if (this.buy_node) { + this.buy_node.active = false; + } + + // 通知 MissionCardComp:本槽位卡牌已使用,刷新英雄卡池 + oops.message.dispatchEvent(GameEvent.CardUsed, this); + + mLogger.log(this.debugMode, "CHeroComp", "hero card purchased", { + uuid: used.uuid, + type: used.type, + cost + }); + } + + /** 标记为已购买状态 */ + setPurchased(): void { + this.isPurchased = true; + if (this.buy_node) { + this.buy_node.active = false; + } + } + + /** + * 接收 MissionCardComp 分发的卡牌并刷新显示。 + * @param data 卡牌配置,null 时清空显示 + * @returns 是否成功接收(true = 接收并刷新 UI) + */ + applyDrawCard(data: CardConfig | null): boolean { + this.applyCardData(data); + return !!data; + } + + /** + * 设置槽位的水平位置(由 MissionCardComp 布局计算后调用)。 + * 首次调用时缓存基准 Y/Z,后续仅更新 X。 + * @param x 目标水平坐标 + */ + setSlotPosition(x: number) { + const current = this.node.position; + if (!this.hasFixedBasePosition) { + this.fixedBaseY = current.y; + this.fixedBaseZ = current.z; + this.hasFixedBasePosition = true; + } + this.restPosition = new Vec3(x, this.fixedBaseY, this.fixedBaseZ); + this.node.setPosition(this.restPosition); + } + + /** + * 系统清槽:任务开始/结束时强制重置。 + * 清空数据与 UI 并隐藏节点。 + */ + clearBySystem() { + this.cardData = null; + this.isPurchased = false; + this.node.setPosition(this.restPosition); + this.applyEmptyUI(); + this.node.active = false; + } + + /** ECS 组件移除时销毁节点 */ + reset() { + if (this.node && this.node.isValid) { + this.node.destroy(); + } + } +} diff --git a/assets/script/game/map/CHeroComp.ts.meta b/assets/script/game/map/CHeroComp.ts.meta new file mode 100644 index 00000000..4ab92615 --- /dev/null +++ b/assets/script/game/map/CHeroComp.ts.meta @@ -0,0 +1,9 @@ +{ + "ver": "4.0.24", + "importer": "typescript", + "imported": true, + "uuid": "62e81154-704c-4ce5-ab9d-19c12d539517", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/assets/script/game/map/MissionCardComp.ts b/assets/script/game/map/MissionCardComp.ts index 8b549f5a..334293e0 100644 --- a/assets/script/game/map/MissionCardComp.ts +++ b/assets/script/game/map/MissionCardComp.ts @@ -3,7 +3,7 @@ * @description 卡牌系统核心控制器(战斗 UI 层 + 业务逻辑层) * * 职责: - * 1. **卡牌分发管理** —— 从卡池抽取 3 张卡,分发到 3 个 CardComp 槽位。 + * 1. **卡牌分发管理** —— 从卡池抽取 3 张卡,分发到 3 个 CHeroComp 槽位。 * 抽卡规则:场上已有英雄时按权重混合"对应英雄的升级卡" + "其他英雄卡" + "刷新卡"; * 场上无英雄时仅抽取英雄卡和刷新卡。 * 2. **金币费用管理** —— 抽卡费用(refreshCost)的扣除。 @@ -15,11 +15,11 @@ * 6. **准备/战斗阶段切换** —— 控制卡牌面板的 展开/收起 动画。 * * 关键设计: - * - 3 个 CardComp 由 cardPrefab 动态实例化生成,通过 cacheCardComps() 映射为有序数组 cardComps[], + * - 3 个 CHeroComp 由 cardPrefab 动态实例化生成,通过 cacheCardComps() 映射为有序数组 cardComps[], * 之后所有分发、清空操作均通过此数组进行。 * - buildDrawCards() 动态合并升级卡池和基础卡池后抽取 3 张,不足时循环补齐。 * - 英雄上限校验(onUseHeroCard)采用 guard/cancel 模式: - * CardComp 发出 UseHeroCard 事件并传入 guard 对象, + * CHeroComp 发出 UseHeroCard 事件并传入 guard 对象, * 本组件可通过 guard.cancel=true 阻止使用。 * * 历史: @@ -28,7 +28,7 @@ * - 英雄升级仅通过升级卡(SpecialUpgrade)触发,按 UUID 精确升级场上对应英雄。 * * 依赖: - * - CardComp —— 单卡槽位 + * - CHeroComp —— 单卡槽位 * - HInfoComp —— 英雄信息面板 * - CardSet 模块 —— 卡池配置、抽卡规则、特殊卡数据 * - HeroAttrsComp —— 英雄属性(升级) @@ -43,7 +43,7 @@ import { CardConfig, CardPoolList, CardType, drawCardsByRule, SpecialRefreshCard import { drawSkillCards } from "../common/config/SCardSet"; import { drawEquipCards } from "../common/config/EquipSet"; import { drawItemCards } from "../common/config/ICardSet"; -import { CardComp } from "./CardComp"; +import { CHeroComp } from "./CHeroComp"; import { SCardComp } from "./SCardComp"; import { EquipListComp } from "./EquipListComp"; import { oops } from "db://oops-framework/core/Oops"; @@ -188,8 +188,8 @@ export class MissionCardComp extends CCComp { // ======================== 运行时状态 ======================== - /** 三个槽位对应的 CardComp 控制器缓存(有序数组) */ - private cardComps: CardComp[] = []; + /** 三个槽位对应的 CHeroComp 控制器缓存(有序数组) */ + private cardComps: CHeroComp[] = []; /** 技能卡槽控制器缓存 */ private skillCardComps: SCardComp[] = []; /** 是否已召唤过英雄(用于控制其他面板按钮是否可点击) */ @@ -237,7 +237,7 @@ export class MissionCardComp extends CCComp { /** * 组件加载: * 1. 绑定生命周期事件和按钮交互事件。 - * 2. 缓存 3 个 CardComp 子控制器引用。 + * 2. 缓存 3 个 CHeroComp 子控制器引用。 * 3. 计算并设置槽位水平布局。 * 4. 初始化卡牌面板缩放参数。 * 5. 初始化面板轮播布局。 @@ -767,7 +767,7 @@ export class MissionCardComp extends CCComp { } /** - * 使用英雄卡的 guard 校验(由 CardComp 通过 UseHeroCard 事件调用): + * 使用英雄卡的 guard 校验(由 CHeroComp 通过 UseHeroCard 事件调用): * - 当前英雄数 < 上限 → 允许使用。 * - 已满 → 阻止使用(cancel=true),弹 toast。 * @@ -823,7 +823,7 @@ export class MissionCardComp extends CCComp { /** * 单张卡牌被成功使用后的整池刷新回调: - * - payload 为该卡槽组件实例(CardComp 或 SCardComp)。 + * - payload 为该卡槽组件实例(CHeroComp 或 SCardComp)。 * - 命中英雄卡槽 → 重新构建 3 张英雄池卡牌并分发到所有英雄槽。 * - 命中技能卡槽 → 重新构建 3 张技能卡并分发到所有技能槽。 * - 未命中任何槽位 → 忽略。 @@ -831,7 +831,7 @@ export class MissionCardComp extends CCComp { * Why: 购买一张卡后立即刷新整个卡池(不扣金币),让玩家持续从新池中挑选; * 英雄卡池与技能卡池遵循同一逻辑。 * SpecialRefresh 自身效果(onUseSpecialCard 中的 tryRefreshHeroCards) - * 已是整池刷新,因此 CardComp 对其不派发 CardUsed,避免双重刷新。 + * 已是整池刷新,因此 CHeroComp 对其不派发 CardUsed,避免双重刷新。 */ private onCardUsed(event: string, args: any) { const source = args; @@ -1175,8 +1175,19 @@ export class MissionCardComp extends CCComp { this.populateShopItems(); } - /** 将 cardPrefab 实例化为 3 个卡槽并映射为 CardComp,形成固定顺序控制数组 */ + /** 将 cardPrefab 实例化为 3 个卡槽并映射为 CHeroComp,形成固定顺序控制数组(幂等:已缓存则不重复实例化) */ private cacheCardComps() { + // 幂等保护:卡槽已存在且节点有效时,仅刷新 skillCardComps 缓存,不重复实例化英雄卡槽 + const hasValidHeroComps = this.cardComps.length === 3 + && this.cardComps.every(c => c && c.node && c.node.isValid); + if (hasValidHeroComps) { + const skillNodes = [this.skill_card1, this.skill_card2, this.skill_card3]; + this.skillCardComps = skillNodes + .map(node => node?.getComponent(SCardComp)) + .filter((comp): comp is SCardComp => !!comp); + return; + } + // 清理旧卡槽(如果存在) for (const comp of this.cardComps) { if (comp && comp.node && comp.node.isValid) { @@ -1190,7 +1201,7 @@ export class MissionCardComp extends CCComp { for (let i = 0; i < 3; i++) { const node = instantiate(this.cardPrefab); this.cards_node.addChild(node); - const comp = node.getComponent(CardComp) || node.addComponent(CardComp); + const comp = node.getComponent(CHeroComp) || node.addComponent(CHeroComp); this.cardComps.push(comp); mLogger.log(this.debugMode, "MissionCardComp", "cacheCardComps instantiate", { index: i, @@ -1524,7 +1535,7 @@ export class MissionCardComp extends CCComp { return undefined; } - /** 全量分发给 3 槽;每个槽位是否接收由 CardComp 自己判断(锁定可跳过) */ + /** 全量分发给 3 槽;每个槽位是否接收由 CHeroComp 自己判断(锁定可跳过) */ private dispatchCardsToSlots(cards: CardConfig[]) { if (!this.cardComps) return; for (let i = 0; i < this.cardComps.length; i++) { @@ -1851,8 +1862,8 @@ export class MissionCardComp extends CCComp { this.resetButtonScale(this.cards_chou); // 关键:在 reset/销毁 时将 Map 置空,彻底切断引用 - this.cardComps = [] as any; - this.skillCardComps = [] as any; + this.cardComps = []; + this.skillCardComps = []; this.purchasedEquipUuids.clear(); this.purchasedItemUuids.clear();