diff --git a/assets/resources/gui/element/MSkillBox.prefab b/assets/resources/gui/element/MSkillBox.prefab index 2b897293..def1f2b1 100644 --- a/assets/resources/gui/element/MSkillBox.prefab +++ b/assets/resources/gui/element/MSkillBox.prefab @@ -25,26 +25,26 @@ "__id__": 10 }, { - "__id__": 197 + "__id__": 131 } ], "_active": true, "_components": [ { - "__id__": 235 + "__id__": 175 }, { - "__id__": 237 + "__id__": 177 }, { - "__id__": 239 + "__id__": 179 }, { - "__id__": 241 + "__id__": 181 } ], "_prefab": { - "__id__": 243 + "__id__": 183 }, "_lpos": { "__type__": "cc.Vec3", @@ -266,38 +266,29 @@ "__id__": 11 }, { - "__id__": 33 + "__id__": 48 }, { - "__id__": 55 - }, - { - "__id__": 77 - }, - { - "__id__": 114 - }, - { - "__id__": 151 + "__id__": 85 } ], "_active": true, "_components": [ { - "__id__": 188 + "__id__": 122 }, { - "__id__": 190 + "__id__": 124 }, { - "__id__": 192 + "__id__": 126 }, { - "__id__": 194 + "__id__": 128 } ], "_prefab": { - "__id__": 196 + "__id__": 130 }, "_lpos": { "__type__": "cc.Vec3", @@ -330,22 +321,55 @@ }, { "__type__": "cc.Node", - "_name": "cb1", "_objFlags": 0, - "__editorExtras__": {}, "_parent": { "__id__": 10 }, - "_children": [ + "_prefab": { + "__id__": 12 + }, + "__editorExtras__": {} + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 11 + }, + "asset": { + "__uuid__": "8aaff904-8c27-4173-9716-7161893b336e", + "__expectedType__": "cc.Prefab" + }, + "fileId": "24rlgXRJ9AHLGpMW+aYyEx", + "instance": { + "__id__": 13 + }, + "targetOverrides": null + }, + { + "__type__": "cc.PrefabInstance", + "fileId": "72UNg2+UNBeJvrTfdm+/Yx", + "prefabRootNode": { + "__id__": 1 + }, + "mountedChildren": [], + "mountedComponents": [ { - "__id__": 12 + "__id__": 14 + } + ], + "propertyOverrides": [ + { + "__id__": 18 }, { "__id__": 20 - } - ], - "_active": true, - "_components": [ + }, + { + "__id__": 22 + }, + { + "__id__": 24 + }, { "__id__": 26 }, @@ -354,442 +378,70 @@ }, { "__id__": 30 - } - ], - "_prefab": { - "__id__": 32 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": -248.00000000000028, - "y": 133.749, - "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": "Group 66", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 11 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 13 }, { - "__id__": 15 + "__id__": 32 }, { - "__id__": 17 + "__id__": 34 + }, + { + "__id__": 36 + }, + { + "__id__": 38 + }, + { + "__id__": 40 + }, + { + "__id__": 42 + }, + { + "__id__": 44 + }, + { + "__id__": 46 } ], - "_prefab": { - "__id__": 19 - }, - "_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": "" + "removedComponents": [] }, { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 12 + "__type__": "cc.MountedComponentsInfo", + "targetInfo": { + "__id__": 15 }, - "_enabled": true, - "__prefab": { - "__id__": 14 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 194, - "height": 260 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "" + "components": [ + { + "__id__": 16 + } + ] }, { - "__type__": "cc.CompPrefabInfo", - "fileId": "f9mh89TJVGhplAKmUP4hHG" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 12 - }, - "_enabled": true, - "__prefab": { - "__id__": 16 - }, - "_customMaterial": null, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 238, - "g": 236, - "b": 236, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "6165ffc9-a838-4a33-b569-bdbaaab0e6b4@96e5b", - "__expectedType__": "cc.SpriteFrame" - }, - "_type": 1, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": true, - "_atlas": { - "__uuid__": "6165ffc9-a838-4a33-b569-bdbaaab0e6b4", - "__expectedType__": "cc.SpriteAtlas" - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "f8Vfb3J+VH1KIu1UTe+7M+" + "__type__": "cc.TargetInfo", + "localID": [ + "24rlgXRJ9AHLGpMW+aYyEx" + ] }, { "__type__": "cc.Widget", "_name": "", "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 12 - }, - "_enabled": true, - "__prefab": { - "__id__": 18 - }, - "_alignFlags": 45, - "_target": null, - "_left": 3, - "_right": 3, - "_top": 5, - "_bottom": 5, - "_horizontalCenter": 0, - "_verticalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 181, - "_originalHeight": 202, - "_alignMode": 2, - "_lockFlags": 0, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "73L4m10F9BnL8bNt+MArs2" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "06W0E2E85HsYUgPhQWVB0o", - "instance": null, - "targetOverrides": null, - "nestedPrefabInstanceRoots": null - }, - { - "__type__": "cc.Node", - "_name": "swirl", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 11 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 21 - }, - { - "__id__": 23 + "__editorExtras__": { + "mountedRoot": { + "__id__": 11 } - ], - "_prefab": { - "__id__": 25 }, - "_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.5, - "y": 1.5, - "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__": 20 - }, - "_enabled": true, - "__prefab": { - "__id__": 22 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 56, - "height": 54 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "7b+AncNEpL/49rClAke7Pa" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 20 - }, - "_enabled": true, - "__prefab": { - "__id__": 24 - }, - "_customMaterial": null, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 141, - "g": 141, - "b": 141, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73@23c2c", - "__expectedType__": "cc.SpriteFrame" - }, - "_type": 0, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": true, - "_atlas": { - "__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73", - "__expectedType__": "cc.SpriteAtlas" - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "c4xdEJKmRAs662aoWAizqG" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "d4dzyIHhdHNaiG/6SW51QX", - "instance": null, - "targetOverrides": null, - "nestedPrefabInstanceRoots": null - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, "node": { "__id__": 11 }, "_enabled": true, "__prefab": { - "__id__": 27 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 200, - "height": 270 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "c9NDQ6//9F3bdNhtsOvfNl" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 11 - }, - "_enabled": true, - "__prefab": { - "__id__": 29 - }, - "_customMaterial": null, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": null, - "_type": 1, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "cf8VqcfZZD+rdJcqdSTLMA" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 11 - }, - "_enabled": true, - "__prefab": { - "__id__": 31 + "__id__": 17 }, "_alignFlags": 8, "_target": null, - "_left": 12, + "_left": 20, "_right": 0, "_top": 0, "_bottom": 0, @@ -809,479 +461,429 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "14X2I3+WRKsaMOfNPlNAEd" + "fileId": "22UmviVmxCXqOTdnDKM6Kv" }, { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 19 }, - "asset": { - "__id__": 0 + "propertyPath": [ + "_name" + ], + "value": "card" + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "24rlgXRJ9AHLGpMW+aYyEx" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 21 }, - "fileId": "49AoRJ8ntCFJQrAhLyVyRa", - "instance": null, - "targetOverrides": null, - "nestedPrefabInstanceRoots": null + "propertyPath": [ + "_lpos" + ], + "value": { + "__type__": "cc.Vec3", + "x": -235.00000000000028, + "y": 133.749, + "z": 0 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "24rlgXRJ9AHLGpMW+aYyEx" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 23 + }, + "propertyPath": [ + "_lrot" + ], + "value": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "24rlgXRJ9AHLGpMW+aYyEx" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 25 + }, + "propertyPath": [ + "_euler" + ], + "value": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "24rlgXRJ9AHLGpMW+aYyEx" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 27 + }, + "propertyPath": [ + "_active" + ], + "value": true + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "24rlgXRJ9AHLGpMW+aYyEx" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 29 + }, + "propertyPath": [ + "_contentSize" + ], + "value": { + "__type__": "cc.Size", + "width": 299, + "height": 299 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "326cum+qdAqaeo0dGt01yD" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 31 + }, + "propertyPath": [ + "_contentSize" + ], + "value": { + "__type__": "cc.Size", + "width": 210, + "height": 270 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "b6/HPesdpG8ZsWB4vg6xf2" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 33 + }, + "propertyPath": [ + "_lpos" + ], + "value": { + "__type__": "cc.Vec3", + "x": 84, + "y": 114, + "z": 0 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "cfMbf11IxHErK52FqmJHts" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 35 + }, + "propertyPath": [ + "_lpos" + ], + "value": { + "__type__": "cc.Vec3", + "x": -84, + "y": 114, + "z": 0 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "2b5S+tVLtA5Ykc/qVoMdAC" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 37 + }, + "propertyPath": [ + "_contentSize" + ], + "value": { + "__type__": "cc.Size", + "width": 210, + "height": 270 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "99yf9rnjlM147Oc5ugZxZA" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 39 + }, + "propertyPath": [ + "_lpos" + ], + "value": { + "__type__": "cc.Vec3", + "x": 0, + "y": 50, + "z": 0 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "5cWLGvgr1MdLSDfUJV31tJ" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 41 + }, + "propertyPath": [ + "_lpos" + ], + "value": { + "__type__": "cc.Vec3", + "x": -61.79599999999999, + "y": -114.26499999999999, + "z": 0 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "09D4k31MNCHqoa2DlasmKq" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 43 + }, + "propertyPath": [ + "_lpos" + ], + "value": { + "__type__": "cc.Vec3", + "x": 60.925, + "y": -114.26499999999999, + "z": 0 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "67WoSYD3dDaYE3iUhnDhbu" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 45 + }, + "propertyPath": [ + "_lpos" + ], + "value": { + "__type__": "cc.Vec3", + "x": 0, + "y": -41.72399999999999, + "z": 0 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "c6fA+I52NLy7nwIG/TAXFX" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 47 + }, + "propertyPath": [ + "_contentSize" + ], + "value": { + "__type__": "cc.Size", + "width": 180, + "height": 140 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "aePszddr1FjZ9yJvRxiJCh" + ] }, { "__type__": "cc.Node", - "_name": "cb2", "_objFlags": 0, - "__editorExtras__": {}, "_parent": { "__id__": 10 }, - "_children": [ - { - "__id__": 34 - }, - { - "__id__": 42 - } - ], - "_active": true, - "_components": [ - { - "__id__": 48 - }, - { - "__id__": 50 - }, - { - "__id__": 52 - } - ], "_prefab": { - "__id__": 54 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 133.749, - "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": "Group 66", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 33 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 35 - }, - { - "__id__": 37 - }, - { - "__id__": 39 - } - ], - "_prefab": { - "__id__": 41 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_mobility": 0, - "_layer": 1073741824, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 34 - }, - "_enabled": true, - "__prefab": { - "__id__": 36 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 194, - "height": 260 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "d2Hfqq11RD54DcP+U5kOS9" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 34 - }, - "_enabled": true, - "__prefab": { - "__id__": 38 - }, - "_customMaterial": null, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 238, - "g": 236, - "b": 236, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "6165ffc9-a838-4a33-b569-bdbaaab0e6b4@96e5b", - "__expectedType__": "cc.SpriteFrame" - }, - "_type": 1, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": true, - "_atlas": { - "__uuid__": "6165ffc9-a838-4a33-b569-bdbaaab0e6b4", - "__expectedType__": "cc.SpriteAtlas" - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "205114f0JPVLsrmjCxjj17" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 34 - }, - "_enabled": true, - "__prefab": { - "__id__": 40 - }, - "_alignFlags": 45, - "_target": null, - "_left": 3, - "_right": 3, - "_top": 5, - "_bottom": 5, - "_horizontalCenter": 0, - "_verticalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 181, - "_originalHeight": 202, - "_alignMode": 2, - "_lockFlags": 0, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "e21gev+btEK7HPAktFrpg6" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "36X6GtCxxHIK4av/uTxYfc", - "instance": null, - "targetOverrides": null, - "nestedPrefabInstanceRoots": null - }, - { - "__type__": "cc.Node", - "_name": "swirl", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 33 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 43 - }, - { - "__id__": 45 - } - ], - "_prefab": { - "__id__": 47 - }, - "_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.5, - "y": 1.5, - "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__": 42 - }, - "_enabled": true, - "__prefab": { - "__id__": 44 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 56, - "height": 54 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "7fVF+lsfdIjo2y1zqYlwFr" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 42 - }, - "_enabled": true, - "__prefab": { - "__id__": 46 - }, - "_customMaterial": null, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 141, - "g": 141, - "b": 141, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73@23c2c", - "__expectedType__": "cc.SpriteFrame" - }, - "_type": 0, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": true, - "_atlas": { - "__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73", - "__expectedType__": "cc.SpriteAtlas" - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "ddSZ8BLEhNKYTStsMxzyS6" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "f3zxlJbxlPfZ3BIyme5tYr", - "instance": null, - "targetOverrides": null, - "nestedPrefabInstanceRoots": null - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 33 - }, - "_enabled": true, - "__prefab": { "__id__": 49 }, - "_contentSize": { - "__type__": "cc.Size", - "width": 200, - "height": 270 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "" + "__editorExtras__": {} }, { - "__type__": "cc.CompPrefabInfo", - "fileId": "62N6ArW8FAdL5gsL43bzDu" + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 48 + }, + "asset": { + "__uuid__": "8aaff904-8c27-4173-9716-7161893b336e", + "__expectedType__": "cc.Prefab" + }, + "fileId": "24rlgXRJ9AHLGpMW+aYyEx", + "instance": { + "__id__": 50 + }, + "targetOverrides": null }, { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 33 + "__type__": "cc.PrefabInstance", + "fileId": "66Fl2nnklKhaQ4sPYEiTFR", + "prefabRootNode": { + "__id__": 1 }, - "_enabled": true, - "__prefab": { - "__id__": 51 - }, - "_customMaterial": null, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": null, - "_type": 1, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": true, - "_atlas": null, - "_id": "" + "mountedChildren": [], + "mountedComponents": [ + { + "__id__": 51 + } + ], + "propertyOverrides": [ + { + "__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": [] }, { - "__type__": "cc.CompPrefabInfo", - "fileId": "94ABD/xGNMXpNN41H/nhUE" + "__type__": "cc.MountedComponentsInfo", + "targetInfo": { + "__id__": 52 + }, + "components": [ + { + "__id__": 53 + } + ] + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "24rlgXRJ9AHLGpMW+aYyEx" + ] }, { "__type__": "cc.Widget", "_name": "", "_objFlags": 0, - "__editorExtras__": {}, + "__editorExtras__": { + "mountedRoot": { + "__id__": 48 + } + }, "node": { - "__id__": 33 + "__id__": 48 }, "_enabled": true, "__prefab": { - "__id__": 53 + "__id__": 54 }, "_alignFlags": 16, "_target": null, @@ -1305,516 +907,309 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "bdZWcAY5lEZIo9OclBgdKP" + "fileId": "ef7SYeYNFJlL4VdyFmD8yx" }, { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "7ciNQpgllCrYC4l47SHsQz", - "instance": null, - "targetOverrides": null, - "nestedPrefabInstanceRoots": null - }, - { - "__type__": "cc.Node", - "_name": "cb3", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 10 - }, - "_children": [ - { - "__id__": 56 - }, - { - "__id__": 64 - } - ], - "_active": true, - "_components": [ - { - "__id__": 70 - }, - { - "__id__": 72 - }, - { - "__id__": 74 - } - ], - "_prefab": { - "__id__": 76 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 248.00000000000028, - "y": 133.749, - "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": "Group 66", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 55 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 57 - }, - { - "__id__": 59 - }, - { - "__id__": 61 - } - ], - "_prefab": { - "__id__": 63 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_mobility": 0, - "_layer": 1073741824, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { "__id__": 56 }, - "_enabled": true, - "__prefab": { + "propertyPath": [ + "_name" + ], + "value": "card" + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "24rlgXRJ9AHLGpMW+aYyEx" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { "__id__": 58 }, - "_contentSize": { - "__type__": "cc.Size", - "width": 194, - "height": 260 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "975XuziQ9ESrbDBWvJylkw" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 56 - }, - "_enabled": true, - "__prefab": { - "__id__": 60 - }, - "_customMaterial": null, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 238, - "g": 236, - "b": 236, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "6165ffc9-a838-4a33-b569-bdbaaab0e6b4@96e5b", - "__expectedType__": "cc.SpriteFrame" - }, - "_type": 1, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": true, - "_atlas": { - "__uuid__": "6165ffc9-a838-4a33-b569-bdbaaab0e6b4", - "__expectedType__": "cc.SpriteAtlas" - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "4dn1k8KM9KzbxAsOPQkSf0" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 56 - }, - "_enabled": true, - "__prefab": { - "__id__": 62 - }, - "_alignFlags": 45, - "_target": null, - "_left": 3, - "_right": 3, - "_top": 5, - "_bottom": 5, - "_horizontalCenter": 0, - "_verticalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 181, - "_originalHeight": 202, - "_alignMode": 2, - "_lockFlags": 0, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "9fRUuGXDVB8LU4yvcnx5c0" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "b4HjelDnhHlrsIzTCt3hCf", - "instance": null, - "targetOverrides": null, - "nestedPrefabInstanceRoots": null - }, - { - "__type__": "cc.Node", - "_name": "swirl", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 55 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 65 - }, - { - "__id__": 67 - } + "propertyPath": [ + "_lpos" ], - "_prefab": { - "__id__": 69 - }, - "_lpos": { + "value": { "__type__": "cc.Vec3", "x": 0, - "y": 0, + "y": 133.749, "z": 0 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "24rlgXRJ9AHLGpMW+aYyEx" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 60 }, - "_lrot": { + "propertyPath": [ + "_lrot" + ], + "value": { "__type__": "cc.Quat", "x": 0, "y": 0, "z": 0, "w": 1 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "24rlgXRJ9AHLGpMW+aYyEx" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 62 }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1.5, - "y": 1.5, - "z": 1 - }, - "_mobility": 0, - "_layer": 1073741824, - "_euler": { + "propertyPath": [ + "_euler" + ], + "value": { "__type__": "cc.Vec3", "x": 0, "y": 0, "z": 0 - }, - "_id": "" + } }, { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { + "__type__": "cc.TargetInfo", + "localID": [ + "24rlgXRJ9AHLGpMW+aYyEx" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { "__id__": 64 }, - "_enabled": true, - "__prefab": { + "propertyPath": [ + "_active" + ], + "value": true + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "24rlgXRJ9AHLGpMW+aYyEx" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { "__id__": 66 }, - "_contentSize": { + "propertyPath": [ + "_contentSize" + ], + "value": { "__type__": "cc.Size", - "width": 56, - "height": 54 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "" + "width": 299, + "height": 299 + } }, { - "__type__": "cc.CompPrefabInfo", - "fileId": "ab1FNKRDZEcotIBaZImxDo" + "__type__": "cc.TargetInfo", + "localID": [ + "326cum+qdAqaeo0dGt01yD" + ] }, { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 64 - }, - "_enabled": true, - "__prefab": { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { "__id__": 68 }, - "_customMaterial": null, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 141, - "g": 141, - "b": 141, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73@23c2c", - "__expectedType__": "cc.SpriteFrame" - }, - "_type": 0, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": true, - "_atlas": { - "__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73", - "__expectedType__": "cc.SpriteAtlas" - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "d2fHU6/sVP17xoVFz+HNb8" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "a4OYL5uPFHS5KZZSRBxv3G", - "instance": null, - "targetOverrides": null, - "nestedPrefabInstanceRoots": null - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 55 - }, - "_enabled": true, - "__prefab": { - "__id__": 71 - }, - "_contentSize": { + "propertyPath": [ + "_contentSize" + ], + "value": { "__type__": "cc.Size", - "width": 200, + "width": 210, "height": 270 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "" + } }, { - "__type__": "cc.CompPrefabInfo", - "fileId": "c5CFSm1KVGnoavdoFtIf5V" + "__type__": "cc.TargetInfo", + "localID": [ + "b6/HPesdpG8ZsWB4vg6xf2" + ] }, { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 55 + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 70 }, - "_enabled": true, - "__prefab": { - "__id__": 73 + "propertyPath": [ + "_lpos" + ], + "value": { + "__type__": "cc.Vec3", + "x": 43.28199999999998, + "y": 113.357, + "z": 0 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "cfMbf11IxHErK52FqmJHts" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 72 }, - "_customMaterial": null, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 + "propertyPath": [ + "_lpos" + ], + "value": { + "__type__": "cc.Vec3", + "x": -42.61099999999999, + "y": 114.03800000000001, + "z": 0 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "2b5S+tVLtA5Ykc/qVoMdAC" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 74 }, - "_spriteFrame": null, - "_type": 1, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", + "propertyPath": [ + "_contentSize" + ], + "value": { + "__type__": "cc.Size", + "width": 210, + "height": 270 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "99yf9rnjlM147Oc5ugZxZA" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 76 + }, + "propertyPath": [ + "_lpos" + ], + "value": { + "__type__": "cc.Vec3", "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": true, - "_atlas": null, - "_id": "" + "y": 50, + "z": 0 + } }, { - "__type__": "cc.CompPrefabInfo", - "fileId": "3bM90Z/cBIiZ4rBm+VNom1" + "__type__": "cc.TargetInfo", + "localID": [ + "5cWLGvgr1MdLSDfUJV31tJ" + ] }, { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 55 + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 78 }, - "_enabled": true, - "__prefab": { - "__id__": 75 - }, - "_alignFlags": 32, - "_target": null, - "_left": 0, - "_right": 12, - "_top": 0, - "_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": "" + "propertyPath": [ + "_lpos" + ], + "value": { + "__type__": "cc.Vec3", + "x": -61.79599999999999, + "y": -114.26499999999999, + "z": 0 + } }, { - "__type__": "cc.CompPrefabInfo", - "fileId": "83hIo7gEtH47Tdw8iYA55x" + "__type__": "cc.TargetInfo", + "localID": [ + "09D4k31MNCHqoa2DlasmKq" + ] }, { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 80 }, - "asset": { - "__id__": 0 + "propertyPath": [ + "_lpos" + ], + "value": { + "__type__": "cc.Vec3", + "x": 60.925, + "y": -114.26499999999999, + "z": 0 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "67WoSYD3dDaYE3iUhnDhbu" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 82 }, - "fileId": "10y3Adrs5OEZp3h6ymqMZ7", - "instance": null, - "targetOverrides": null, - "nestedPrefabInstanceRoots": null + "propertyPath": [ + "_lpos" + ], + "value": { + "__type__": "cc.Vec3", + "x": 0, + "y": -41.72399999999999, + "z": 0 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "c6fA+I52NLy7nwIG/TAXFX" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 84 + }, + "propertyPath": [ + "_contentSize" + ], + "value": { + "__type__": "cc.Size", + "width": 180, + "height": 140 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "aePszddr1FjZ9yJvRxiJCh" + ] }, { "__type__": "cc.Node", @@ -1823,14 +1218,14 @@ "__id__": 10 }, "_prefab": { - "__id__": 78 + "__id__": 86 }, "__editorExtras__": {} }, { "__type__": "cc.PrefabInfo", "root": { - "__id__": 77 + "__id__": 85 }, "asset": { "__uuid__": "8aaff904-8c27-4173-9716-7161893b336e", @@ -1838,35 +1233,23 @@ }, "fileId": "24rlgXRJ9AHLGpMW+aYyEx", "instance": { - "__id__": 79 + "__id__": 87 }, "targetOverrides": null }, { "__type__": "cc.PrefabInstance", - "fileId": "72UNg2+UNBeJvrTfdm+/Yx", + "fileId": "e4Apdhi/NHbYptWYZ8Uh9h", "prefabRootNode": { "__id__": 1 }, "mountedChildren": [], "mountedComponents": [ { - "__id__": 80 + "__id__": 88 } ], "propertyOverrides": [ - { - "__id__": 84 - }, - { - "__id__": 86 - }, - { - "__id__": 88 - }, - { - "__id__": 90 - }, { "__id__": 92 }, @@ -1899,119 +1282,32 @@ }, { "__id__": 112 + }, + { + "__id__": 114 + }, + { + "__id__": 116 + }, + { + "__id__": 118 + }, + { + "__id__": 120 } ], "removedComponents": [] }, { "__type__": "cc.MountedComponentsInfo", - "targetInfo": { - "__id__": 81 - }, - "components": [ - { - "__id__": 82 - } - ] - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "24rlgXRJ9AHLGpMW+aYyEx" - ] - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": { - "mountedRoot": { - "__id__": 77 - } - }, - "node": { - "__id__": 77 - }, - "_enabled": true, - "__prefab": { - "__id__": 83 - }, - "_alignFlags": 8, - "_target": null, - "_left": 10, - "_right": 0, - "_top": 0, - "_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": "22UmviVmxCXqOTdnDKM6Kv" - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 85 - }, - "propertyPath": [ - "_name" - ], - "value": "card" - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "24rlgXRJ9AHLGpMW+aYyEx" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 87 - }, - "propertyPath": [ - "_lpos" - ], - "value": { - "__type__": "cc.Vec3", - "x": -245.00000000000028, - "y": 133.749, - "z": 0 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "24rlgXRJ9AHLGpMW+aYyEx" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", "targetInfo": { "__id__": 89 }, - "propertyPath": [ - "_lrot" - ], - "value": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - } + "components": [ + { + "__id__": 90 + } + ] }, { "__type__": "cc.TargetInfo", @@ -2020,818 +1316,25 @@ ] }, { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": { + "mountedRoot": { + "__id__": 85 + } + }, + "node": { + "__id__": 85 + }, + "_enabled": true, + "__prefab": { "__id__": 91 }, - "propertyPath": [ - "_euler" - ], - "value": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "24rlgXRJ9AHLGpMW+aYyEx" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 93 - }, - "propertyPath": [ - "_active" - ], - "value": true - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "24rlgXRJ9AHLGpMW+aYyEx" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 95 - }, - "propertyPath": [ - "_contentSize" - ], - "value": { - "__type__": "cc.Size", - "width": 299, - "height": 299 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "326cum+qdAqaeo0dGt01yD" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 97 - }, - "propertyPath": [ - "_contentSize" - ], - "value": { - "__type__": "cc.Size", - "width": 210, - "height": 270 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "b6/HPesdpG8ZsWB4vg6xf2" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 99 - }, - "propertyPath": [ - "_lpos" - ], - "value": { - "__type__": "cc.Vec3", - "x": 43.28199999999998, - "y": 113.357, - "z": 0 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "cfMbf11IxHErK52FqmJHts" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 101 - }, - "propertyPath": [ - "_lpos" - ], - "value": { - "__type__": "cc.Vec3", - "x": -42.61099999999999, - "y": 114.03800000000001, - "z": 0 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "2b5S+tVLtA5Ykc/qVoMdAC" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 103 - }, - "propertyPath": [ - "_contentSize" - ], - "value": { - "__type__": "cc.Size", - "width": 210, - "height": 270 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "99yf9rnjlM147Oc5ugZxZA" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 105 - }, - "propertyPath": [ - "_lpos" - ], - "value": { - "__type__": "cc.Vec3", - "x": 0, - "y": 50, - "z": 0 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "5cWLGvgr1MdLSDfUJV31tJ" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 107 - }, - "propertyPath": [ - "_lpos" - ], - "value": { - "__type__": "cc.Vec3", - "x": -61.79599999999999, - "y": -114.26499999999999, - "z": 0 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "09D4k31MNCHqoa2DlasmKq" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 109 - }, - "propertyPath": [ - "_lpos" - ], - "value": { - "__type__": "cc.Vec3", - "x": 60.925, - "y": -114.26499999999999, - "z": 0 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "67WoSYD3dDaYE3iUhnDhbu" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 111 - }, - "propertyPath": [ - "_lpos" - ], - "value": { - "__type__": "cc.Vec3", - "x": 0, - "y": -41.72399999999999, - "z": 0 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "c6fA+I52NLy7nwIG/TAXFX" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 113 - }, - "propertyPath": [ - "_contentSize" - ], - "value": { - "__type__": "cc.Size", - "width": 180, - "height": 140 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "aePszddr1FjZ9yJvRxiJCh" - ] - }, - { - "__type__": "cc.Node", - "_objFlags": 0, - "_parent": { - "__id__": 10 - }, - "_prefab": { - "__id__": 115 - }, - "__editorExtras__": {} - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 114 - }, - "asset": { - "__uuid__": "8aaff904-8c27-4173-9716-7161893b336e", - "__expectedType__": "cc.Prefab" - }, - "fileId": "24rlgXRJ9AHLGpMW+aYyEx", - "instance": { - "__id__": 116 - }, - "targetOverrides": null - }, - { - "__type__": "cc.PrefabInstance", - "fileId": "66Fl2nnklKhaQ4sPYEiTFR", - "prefabRootNode": { - "__id__": 1 - }, - "mountedChildren": [], - "mountedComponents": [ - { - "__id__": 117 - } - ], - "propertyOverrides": [ - { - "__id__": 121 - }, - { - "__id__": 123 - }, - { - "__id__": 125 - }, - { - "__id__": 127 - }, - { - "__id__": 129 - }, - { - "__id__": 131 - }, - { - "__id__": 133 - }, - { - "__id__": 135 - }, - { - "__id__": 137 - }, - { - "__id__": 139 - }, - { - "__id__": 141 - }, - { - "__id__": 143 - }, - { - "__id__": 145 - }, - { - "__id__": 147 - }, - { - "__id__": 149 - } - ], - "removedComponents": [] - }, - { - "__type__": "cc.MountedComponentsInfo", - "targetInfo": { - "__id__": 118 - }, - "components": [ - { - "__id__": 119 - } - ] - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "24rlgXRJ9AHLGpMW+aYyEx" - ] - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": { - "mountedRoot": { - "__id__": 114 - } - }, - "node": { - "__id__": 114 - }, - "_enabled": true, - "__prefab": { - "__id__": 120 - }, - "_alignFlags": 16, - "_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": 0, - "_originalHeight": 0, - "_alignMode": 2, - "_lockFlags": 0, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "ef7SYeYNFJlL4VdyFmD8yx" - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 122 - }, - "propertyPath": [ - "_name" - ], - "value": "card" - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "24rlgXRJ9AHLGpMW+aYyEx" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 124 - }, - "propertyPath": [ - "_lpos" - ], - "value": { - "__type__": "cc.Vec3", - "x": 0, - "y": 133.749, - "z": 0 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "24rlgXRJ9AHLGpMW+aYyEx" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 126 - }, - "propertyPath": [ - "_lrot" - ], - "value": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "24rlgXRJ9AHLGpMW+aYyEx" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 128 - }, - "propertyPath": [ - "_euler" - ], - "value": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "24rlgXRJ9AHLGpMW+aYyEx" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 130 - }, - "propertyPath": [ - "_active" - ], - "value": true - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "24rlgXRJ9AHLGpMW+aYyEx" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 132 - }, - "propertyPath": [ - "_contentSize" - ], - "value": { - "__type__": "cc.Size", - "width": 299, - "height": 299 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "326cum+qdAqaeo0dGt01yD" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 134 - }, - "propertyPath": [ - "_contentSize" - ], - "value": { - "__type__": "cc.Size", - "width": 210, - "height": 270 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "b6/HPesdpG8ZsWB4vg6xf2" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 136 - }, - "propertyPath": [ - "_lpos" - ], - "value": { - "__type__": "cc.Vec3", - "x": 43.28199999999998, - "y": 113.357, - "z": 0 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "cfMbf11IxHErK52FqmJHts" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 138 - }, - "propertyPath": [ - "_lpos" - ], - "value": { - "__type__": "cc.Vec3", - "x": -42.61099999999999, - "y": 114.03800000000001, - "z": 0 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "2b5S+tVLtA5Ykc/qVoMdAC" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 140 - }, - "propertyPath": [ - "_contentSize" - ], - "value": { - "__type__": "cc.Size", - "width": 210, - "height": 270 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "99yf9rnjlM147Oc5ugZxZA" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 142 - }, - "propertyPath": [ - "_lpos" - ], - "value": { - "__type__": "cc.Vec3", - "x": 0, - "y": 50, - "z": 0 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "5cWLGvgr1MdLSDfUJV31tJ" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 144 - }, - "propertyPath": [ - "_lpos" - ], - "value": { - "__type__": "cc.Vec3", - "x": -61.79599999999999, - "y": -114.26499999999999, - "z": 0 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "09D4k31MNCHqoa2DlasmKq" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 146 - }, - "propertyPath": [ - "_lpos" - ], - "value": { - "__type__": "cc.Vec3", - "x": 60.925, - "y": -114.26499999999999, - "z": 0 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "67WoSYD3dDaYE3iUhnDhbu" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 148 - }, - "propertyPath": [ - "_lpos" - ], - "value": { - "__type__": "cc.Vec3", - "x": 0, - "y": -41.72399999999999, - "z": 0 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "c6fA+I52NLy7nwIG/TAXFX" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 150 - }, - "propertyPath": [ - "_contentSize" - ], - "value": { - "__type__": "cc.Size", - "width": 180, - "height": 140 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "aePszddr1FjZ9yJvRxiJCh" - ] - }, - { - "__type__": "cc.Node", - "_objFlags": 0, - "_parent": { - "__id__": 10 - }, - "_prefab": { - "__id__": 152 - }, - "__editorExtras__": {} - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 151 - }, - "asset": { - "__uuid__": "8aaff904-8c27-4173-9716-7161893b336e", - "__expectedType__": "cc.Prefab" - }, - "fileId": "24rlgXRJ9AHLGpMW+aYyEx", - "instance": { - "__id__": 153 - }, - "targetOverrides": null - }, - { - "__type__": "cc.PrefabInstance", - "fileId": "e4Apdhi/NHbYptWYZ8Uh9h", - "prefabRootNode": { - "__id__": 1 - }, - "mountedChildren": [], - "mountedComponents": [ - { - "__id__": 154 - } - ], - "propertyOverrides": [ - { - "__id__": 158 - }, - { - "__id__": 160 - }, - { - "__id__": 162 - }, - { - "__id__": 164 - }, - { - "__id__": 166 - }, - { - "__id__": 168 - }, - { - "__id__": 170 - }, - { - "__id__": 172 - }, - { - "__id__": 174 - }, - { - "__id__": 176 - }, - { - "__id__": 178 - }, - { - "__id__": 180 - }, - { - "__id__": 182 - }, - { - "__id__": 184 - }, - { - "__id__": 186 - } - ], - "removedComponents": [] - }, - { - "__type__": "cc.MountedComponentsInfo", - "targetInfo": { - "__id__": 155 - }, - "components": [ - { - "__id__": 156 - } - ] - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "24rlgXRJ9AHLGpMW+aYyEx" - ] - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": { - "mountedRoot": { - "__id__": 151 - } - }, - "node": { - "__id__": 151 - }, - "_enabled": true, - "__prefab": { - "__id__": 157 - }, "_alignFlags": 32, "_target": null, "_left": 0, - "_right": 10, + "_right": 20, "_top": 0, "_bottom": 0, "_horizontalCenter": 0, @@ -2855,7 +1358,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 159 + "__id__": 93 }, "propertyPath": [ "_name" @@ -2871,14 +1374,14 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 161 + "__id__": 95 }, "propertyPath": [ "_lpos" ], "value": { "__type__": "cc.Vec3", - "x": 245.00000000000028, + "x": 235.00000000000028, "y": 133.749, "z": 0 } @@ -2892,7 +1395,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 163 + "__id__": 97 }, "propertyPath": [ "_lrot" @@ -2914,7 +1417,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 165 + "__id__": 99 }, "propertyPath": [ "_euler" @@ -2935,7 +1438,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 167 + "__id__": 101 }, "propertyPath": [ "_active" @@ -2951,7 +1454,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 169 + "__id__": 103 }, "propertyPath": [ "_contentSize" @@ -2971,7 +1474,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 171 + "__id__": 105 }, "propertyPath": [ "_contentSize" @@ -2991,7 +1494,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 173 + "__id__": 107 }, "propertyPath": [ "_contentSize" @@ -3011,7 +1514,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 175 + "__id__": 109 }, "propertyPath": [ "_lpos" @@ -3032,15 +1535,15 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 177 + "__id__": 111 }, "propertyPath": [ "_lpos" ], "value": { "__type__": "cc.Vec3", - "x": 43.28199999999998, - "y": 113.357, + "x": 84, + "y": 114, "z": 0 } }, @@ -3053,7 +1556,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 179 + "__id__": 113 }, "propertyPath": [ "_lpos" @@ -3074,7 +1577,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 181 + "__id__": 115 }, "propertyPath": [ "_lpos" @@ -3095,7 +1598,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 183 + "__id__": 117 }, "propertyPath": [ "_lpos" @@ -3116,15 +1619,15 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 185 + "__id__": 119 }, "propertyPath": [ "_lpos" ], "value": { "__type__": "cc.Vec3", - "x": -42.61099999999999, - "y": 114.03800000000001, + "x": -84, + "y": 114, "z": 0 } }, @@ -3137,7 +1640,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 187 + "__id__": 121 }, "propertyPath": [ "_contentSize" @@ -3164,7 +1667,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 189 + "__id__": 123 }, "_contentSize": { "__type__": "cc.Size", @@ -3192,7 +1695,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 191 + "__id__": 125 }, "_alignFlags": 42, "_target": null, @@ -3228,7 +1731,7 @@ }, "_enabled": false, "__prefab": { - "__id__": 193 + "__id__": 127 }, "_resizeMode": 1, "_layoutType": 1, @@ -3266,7 +1769,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 195 + "__id__": 129 }, "_id": "" }, @@ -3297,26 +1800,26 @@ }, "_children": [ { - "__id__": 198 + "__id__": 132 }, { - "__id__": 213 + "__id__": 153 } ], "_active": true, "_components": [ { - "__id__": 228 + "__id__": 168 }, { - "__id__": 230 + "__id__": 170 }, { - "__id__": 232 + "__id__": 172 } ], "_prefab": { - "__id__": 234 + "__id__": 174 }, "_lpos": { "__type__": "cc.Vec3", @@ -3349,31 +1852,34 @@ }, { "__type__": "cc.Node", - "_name": "btn", + "_name": "re", "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 197 + "__id__": 131 }, "_children": [ { - "__id__": 199 + "__id__": 133 + }, + { + "__id__": 139 } ], "_active": true, "_components": [ { - "__id__": 205 + "__id__": 145 }, { - "__id__": 207 + "__id__": 147 }, { - "__id__": 209 + "__id__": 149 } ], "_prefab": { - "__id__": 212 + "__id__": 152 }, "_lpos": { "__type__": "cc.Vec3", @@ -3410,20 +1916,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 198 + "__id__": 132 }, "_children": [], "_active": true, "_components": [ { - "__id__": 200 + "__id__": 134 }, { - "__id__": 202 + "__id__": 136 } ], "_prefab": { - "__id__": 204 + "__id__": 138 }, "_lpos": { "__type__": "cc.Vec3", @@ -3460,386 +1966,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 199 + "__id__": 133 }, "_enabled": true, "__prefab": { - "__id__": 201 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 84, - "height": 54.4 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "ecMoQ7YIhEA7EWi/ZRfJin" - }, - { - "__type__": "cc.Label", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 199 - }, - "_enabled": true, - "__prefab": { - "__id__": 203 - }, - "_customMaterial": null, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_string": "隐藏", - "_horizontalAlign": 1, - "_verticalAlign": 1, - "_actualFontSize": 40, - "_fontSize": 40, - "_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": true, - "_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": "f4nbchybtChICjvb69ieFB" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "96n7jh/2tN7LWjXUFLwylX", - "instance": null, - "targetOverrides": null, - "nestedPrefabInstanceRoots": null - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 198 - }, - "_enabled": true, - "__prefab": { - "__id__": 206 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 240, - "height": 100 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "2chcn/enNK5rV4+DqBrQ+G" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 198 - }, - "_enabled": true, - "__prefab": { - "__id__": 208 - }, - "_customMaterial": null, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "6165ffc9-a838-4a33-b569-bdbaaab0e6b4@e9165", - "__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__": "6165ffc9-a838-4a33-b569-bdbaaab0e6b4", - "__expectedType__": "cc.SpriteAtlas" - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "ecKJ5WNwtCdKsLWPGpvUel" - }, - { - "__type__": "cc.Button", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 198 - }, - "_enabled": true, - "__prefab": { - "__id__": 210 - }, - "clickEvents": [ - { - "__id__": 211 - } - ], - "_interactable": true, - "_transition": 3, - "_normalColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_hoverColor": { - "__type__": "cc.Color", - "r": 211, - "g": 211, - "b": 211, - "a": 255 - }, - "_pressedColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_disabledColor": { - "__type__": "cc.Color", - "r": 124, - "g": 124, - "b": 124, - "a": 255 - }, - "_normalSprite": null, - "_hoverSprite": null, - "_pressedSprite": null, - "_disabledSprite": null, - "_duration": 0.1, - "_zoomScale": 1.2, - "_target": null, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "eeFQvDN9pBDZmryv0HWNZN" - }, - { - "__type__": "cc.ClickEvent", - "target": { - "__id__": 1 - }, - "component": "", - "_componentId": "463c7iN7clDbLBuuJ6fqWQv", - "handler": "victory_end", - "customEventData": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "eb9HxnlFRFgroTfwxK82l+", - "instance": null, - "targetOverrides": null, - "nestedPrefabInstanceRoots": null - }, - { - "__type__": "cc.Node", - "_name": "btn", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 197 - }, - "_children": [ - { - "__id__": 214 - } - ], - "_active": true, - "_components": [ - { - "__id__": 220 - }, - { - "__id__": 222 - }, - { - "__id__": 224 - } - ], - "_prefab": { - "__id__": 227 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 135, - "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": "Label", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 213 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 215 - }, - { - "__id__": 217 - } - ], - "_prefab": { - "__id__": 219 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 5, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_mobility": 0, - "_layer": 1073741824, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 214 - }, - "_enabled": true, - "__prefab": { - "__id__": 216 + "__id__": 135 }, "_contentSize": { "__type__": "cc.Size", @@ -3863,11 +1994,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 214 + "__id__": 133 }, "_enabled": true, "__prefab": { - "__id__": 218 + "__id__": 137 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -3938,17 +2069,176 @@ "targetOverrides": null, "nestedPrefabInstanceRoots": null }, + { + "__type__": "cc.Node", + "_name": "num", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 132 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 140 + }, + { + "__id__": 142 + } + ], + "_prefab": { + "__id__": 144 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 67.671, + "y": 4.061, + "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__": 213 + "__id__": 139 }, "_enabled": true, "__prefab": { - "__id__": 221 + "__id__": 141 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 20.6845703125, + "height": 54.4 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "890zfSR45NGYn2AClSWarf" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 139 + }, + "_enabled": true, + "__prefab": { + "__id__": 143 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_string": "3", + "_horizontalAlign": 1, + "_verticalAlign": 1, + "_actualFontSize": 30, + "_fontSize": 30, + "_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": "72k7aInqlMw4mcYa8LgdXj" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "e78qXXnxJLXZV2+Vt8nxhi", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 132 + }, + "_enabled": true, + "__prefab": { + "__id__": 146 }, "_contentSize": { "__type__": "cc.Size", @@ -3972,11 +2262,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 213 + "__id__": 132 }, "_enabled": true, "__prefab": { - "__id__": 223 + "__id__": 148 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -4020,15 +2310,15 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 213 + "__id__": 132 }, "_enabled": true, "__prefab": { - "__id__": 225 + "__id__": 150 }, "clickEvents": [ { - "__id__": 226 + "__id__": 151 } ], "_interactable": true, @@ -4097,17 +2387,392 @@ "targetOverrides": null, "nestedPrefabInstanceRoots": null }, + { + "__type__": "cc.Node", + "_name": "ad", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 131 + }, + "_children": [ + { + "__id__": 154 + } + ], + "_active": true, + "_components": [ + { + "__id__": 160 + }, + { + "__id__": 162 + }, + { + "__id__": 164 + } + ], + "_prefab": { + "__id__": 167 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 135, + "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": "Label", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 153 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 155 + }, + { + "__id__": 157 + } + ], + "_prefab": { + "__id__": 159 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 5, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, { "__type__": "cc.UITransform", "_name": "", "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 197 + "__id__": 154 }, "_enabled": true, "__prefab": { - "__id__": 229 + "__id__": 156 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 84, + "height": 54.4 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "b6GRyd3adFep+80fU+qfJy" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 154 + }, + "_enabled": true, + "__prefab": { + "__id__": 158 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_string": "刷新", + "_horizontalAlign": 1, + "_verticalAlign": 1, + "_actualFontSize": 40, + "_fontSize": 40, + "_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": true, + "_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": "5fYv6x6tpBV7Oek0zNYkgV" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "93K3f2w1pIiroHXsWS5PqG", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 153 + }, + "_enabled": true, + "__prefab": { + "__id__": 161 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 240, + "height": 100 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "c1G+RO5oJInIhVEwlToRYJ" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 153 + }, + "_enabled": true, + "__prefab": { + "__id__": 163 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "6165ffc9-a838-4a33-b569-bdbaaab0e6b4@e9165", + "__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__": "6165ffc9-a838-4a33-b569-bdbaaab0e6b4", + "__expectedType__": "cc.SpriteAtlas" + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "62vScXNPJCX7u/t8qhbgsS" + }, + { + "__type__": "cc.Button", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 153 + }, + "_enabled": true, + "__prefab": { + "__id__": 165 + }, + "clickEvents": [ + { + "__id__": 166 + } + ], + "_interactable": true, + "_transition": 3, + "_normalColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_hoverColor": { + "__type__": "cc.Color", + "r": 211, + "g": 211, + "b": 211, + "a": 255 + }, + "_pressedColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_disabledColor": { + "__type__": "cc.Color", + "r": 124, + "g": 124, + "b": 124, + "a": 255 + }, + "_normalSprite": null, + "_hoverSprite": null, + "_pressedSprite": null, + "_disabledSprite": null, + "_duration": 0.1, + "_zoomScale": 1.2, + "_target": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "10ud17/0tBgKdVlL4shUTv" + }, + { + "__type__": "cc.ClickEvent", + "target": { + "__id__": 1 + }, + "component": "", + "_componentId": "463c7iN7clDbLBuuJ6fqWQv", + "handler": "victory_end", + "customEventData": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "03pYamcgREYZ5alOLhlvP3", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 131 + }, + "_enabled": true, + "__prefab": { + "__id__": 169 }, "_contentSize": { "__type__": "cc.Size", @@ -4131,11 +2796,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 197 + "__id__": 131 }, "_enabled": true, "__prefab": { - "__id__": 231 + "__id__": 171 }, "_resizeMode": 1, "_layoutType": 1, @@ -4169,11 +2834,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 197 + "__id__": 131 }, "_enabled": true, "__prefab": { - "__id__": 233 + "__id__": 173 }, "_alignFlags": 4, "_target": null, @@ -4222,7 +2887,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 236 + "__id__": 176 }, "_contentSize": { "__type__": "cc.Size", @@ -4250,7 +2915,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 238 + "__id__": 178 }, "_alignFlags": 45, "_target": null, @@ -4277,46 +2942,40 @@ "fileId": "20N3saNnNERbP8SNI6KMUs" }, { - "__type__": "cc.Sprite", + "__type__": "85b24f6HyJBGrOmgul5dRLh", "_name": "", "_objFlags": 0, "__editorExtras__": {}, "node": { "__id__": 1 }, - "_enabled": false, + "_enabled": true, "__prefab": { - "__id__": 240 + "__id__": 180 }, - "_customMaterial": null, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 + "card1": { + "__id__": 11 }, - "_spriteFrame": null, - "_type": 0, - "_fillType": 0, - "_sizeMode": 1, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 + "card2": { + "__id__": 48 + }, + "card3": { + "__id__": 85 + }, + "refreshBtn": { + "__id__": 132 + }, + "adRefreshBtn": { + "__id__": 153 + }, + "refreshCountLabel": { + "__id__": 142 }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, "_id": "" }, { "__type__": "cc.CompPrefabInfo", - "fileId": "97QogrZqZBD6vbgxl4uAX6" + "fileId": "3eEXZZeMJExoKLpjpFECeL" }, { "__type__": "cc.BlockInputEvents", @@ -4328,7 +2987,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 242 + "__id__": 182 }, "_id": "" }, @@ -4349,13 +3008,13 @@ "targetOverrides": null, "nestedPrefabInstanceRoots": [ { - "__id__": 151 + "__id__": 85 }, { - "__id__": 114 + "__id__": 48 }, { - "__id__": 77 + "__id__": 11 } ] } diff --git a/assets/script/game/common/SingletonModuleComp.ts b/assets/script/game/common/SingletonModuleComp.ts index 02ec9163..56e9b337 100644 --- a/assets/script/game/common/SingletonModuleComp.ts +++ b/assets/script/game/common/SingletonModuleComp.ts @@ -73,6 +73,9 @@ export class SingletonModuleComp extends ecs.Comp { max_mission: 4,//最大关卡 coin: 0, time: 15 * 60,//游戏时间 + // 技能三选一弹窗:刷新次数(跨波次保留,广告可叠加) + skill_box_refresh_remain: 1, // 初始赠送的刷新次数 + skill_box_ad_refresh_remain: 0, // 看广告累计的额外次数 }, scores: { score: 0, // 基础得分 diff --git a/assets/script/game/common/config/CardSet.ts b/assets/script/game/common/config/CardSet.ts index 9d0d6046..cbd08fcf 100644 --- a/assets/script/game/common/config/CardSet.ts +++ b/assets/script/game/common/config/CardSet.ts @@ -2,9 +2,10 @@ import * as exp from "constants" import { HeroInfo, HeroList, HType } from "./heroSet" import { FightSet } from "./GameSet" import { oops } from "db://oops-framework/core/Oops" +import { SkillOverrides } from "./SkillSet" class I18nString { - constructor(private key: string, private params?: any[]) {} + constructor(private key: string, private params?: any[]) { } private getTranslated(): string { let str = oops.language.getLangByID(this.key) || this.key; if (this.params && this.params.length > 0) { @@ -52,9 +53,9 @@ export interface CardConfig { kind: CKind pool_lv: CardLV hero_lv?: number - card_lv?:number + card_lv?: number base_pool_lv?: number - + // 技能卡扩展属性 name?: string // 卡牌名称 info?: string // 卡牌描述信息 @@ -62,6 +63,25 @@ export interface CardConfig { t_times?: number // 触发次数 t_inv?: number // 触发间隔(秒) } + +/** + * 技能卡池专用卡牌配置(MSkillBoxComp 三选一弹窗使用) + * + * 在普通 CardConfig 基础上扩展: + * - s_uuid : 实际生效的 SkillSet 条目 uuid + * - t_num : 触发次数(可选,默认从 SkillSet 读取) + * - overrides : 参数覆盖,参考 heroSet 中触发技能的 overrides 字段格式 + * + * uuid 范围 9000+ 用于和普通 CardPoolList 区分,MissSkillsComp 据此识别。 + */ +export interface SkillBoxCardConfig extends CardConfig { + /** 实际生效的 SkillSet 技能 uuid */ + s_uuid: number + /** 触发次数(可选,默认 1) */ + t_num?: number + /** 技能参数覆盖,参考 SkillOverrides */ + overrides?: SkillOverrides +} export const CardsUpSet: Record = { 1: 50, 2: 100, @@ -88,28 +108,28 @@ export const CardPoolList: CardConfig[] = []; HeroList.forEach(uuid => { const hero = HeroInfo[uuid]; if (!hero) return; - + const basePoolLv = hero.pool_lv || 1; const baseHeroLv = hero.lv || 1; const baseCost = 5; const baseWeight = 25; - + // 生成从 basePoolLv 到 CARD_POOL_MAX_LEVEL 的卡牌 for (let pLv = basePoolLv; pLv <= CARD_POOL_MAX_LEVEL; pLv++) { const offset = pLv - basePoolLv; const targetHeroLv = baseHeroLv + offset; - + // 英雄的最高等级 是MERGE_MAX-1 if (targetHeroLv > FightSet.MERGE_MAX - 1) { break; } - + // cost = baseCost * 3^(lv-1): Lv1=5, Lv2=15, Lv3=45 let cost = baseCost; if (targetHeroLv > 1) { cost = baseCost * Math.pow(FightSet.MERGE_NEED, targetHeroLv - 1); } - + CardPoolList.push({ uuid: hero.uuid, type: CardType.Hero, @@ -164,22 +184,27 @@ export interface SpecialRefreshCardConfig extends CardConfig { export const SpecialUpgradeCardList: Record = { - 7001: { uuid: 7001,type: CardType.SpecialUpgrade,cost: 10,weight: 16,pool_lv: CardLV.LV1,kind:CKind.Card,name:t("scard_name_7001"),info:t("scard_info_7001"), + 7001: { + uuid: 7001, type: CardType.SpecialUpgrade, cost: 10, weight: 16, pool_lv: CardLV.LV1, kind: CKind.Card, name: t("scard_name_7001"), info: t("scard_info_7001"), currentLv: 1, targetLv: 2, }, - 7002: { uuid: 7002,type: CardType.SpecialUpgrade,cost: 28,weight: 14,pool_lv: CardLV.LV2,kind:CKind.Card,name:t("scard_name_7002"),info:t("scard_info_7002"), + 7002: { + uuid: 7002, type: CardType.SpecialUpgrade, cost: 28, weight: 14, pool_lv: CardLV.LV2, kind: CKind.Card, name: t("scard_name_7002"), info: t("scard_info_7002"), currentLv: 2, targetLv: 3, }, } export const SpecialRefreshCardList: Record = { - 7101: { uuid: 7101,type: CardType.SpecialRefresh,cost: 3,weight: 14,pool_lv: CardLV.LV1,kind:CKind.Card,name:t("scard_name_7101"),info:t("scard_info_7101"), + 7101: { + uuid: 7101, type: CardType.SpecialRefresh, cost: 3, weight: 14, pool_lv: CardLV.LV1, kind: CKind.Card, name: t("scard_name_7101"), info: t("scard_info_7101"), refreshLv: 0, refreshHeroType: SpecialRefreshHeroType.Melee, }, - 7102: { uuid: 7102,type: CardType.SpecialRefresh,cost: 3,weight: 14,pool_lv: CardLV.LV1,kind:CKind.Card,name:t("scard_name_7102"),info:t("scard_info_7102"), + 7102: { + uuid: 7102, type: CardType.SpecialRefresh, cost: 3, weight: 14, pool_lv: CardLV.LV1, kind: CKind.Card, name: t("scard_name_7102"), info: t("scard_info_7102"), refreshLv: 0, refreshHeroType: SpecialRefreshHeroType.Ranged, }, - 7103: { uuid: 7103,type: CardType.SpecialRefresh,cost: 4,weight: 12,pool_lv: CardLV.LV2,kind:CKind.Card,name:t("scard_name_7103"),info:t("scard_info_7103"), + 7103: { + uuid: 7103, type: CardType.SpecialRefresh, cost: 4, weight: 12, pool_lv: CardLV.LV2, kind: CKind.Card, name: t("scard_name_7103"), info: t("scard_info_7103"), refreshLv: 3, refreshHeroType: SpecialRefreshHeroType.Any, }, } @@ -290,3 +315,172 @@ export const drawCardsByRule = ( const picked = pickCards(pool, count) return picked } + +/** + * 固定波次弹出技能三选一弹窗(MissionCardComp 触发) + * 5 个波次:1 / 5 / 10 / 15 / 20 + */ +export const SKILL_BOX_TRIGGER_WAVES: readonly number[] = [1, 5, 10, 15, 20] as const + +/** + * 技能卡池(MSkillBoxComp 三选一) + * + * 5 个硬编码独立池,key 对应触发波次,value 是该波次可刷出的 SkillBoxCardConfig 列表。 + * 每条配置: + * - uuid 唯一且 >= 9000,用于 MissSkillsComp 识别 + * - s_uuid 指向 SkillSet 中实际生效的技能 + * - overrides 参考 heroSet 触发技能格式,对技能参数做具体覆盖 + * - cost 强制 0(免费领取) + * - is_inst / t_times / t_inv 控制技能使用后行为 + */ +export const SkillBoxPool: Record = { + // 第 1 波:基础技能(伤害/治疗/护盾基础数值) + 1: [ + { + uuid: 9001, type: CardType.Skill, cost: 0, weight: 0, pool_lv: CardLV.LV1, kind: CKind.Skill, card_lv: 1, + name: t("skillbox_name_9001"), info: t("skillbox_info_9001"), + is_inst: true, t_times: 1, t_inv: 0, + s_uuid: 6401, t_num: 1, overrides: { ap: 120 } + }, + { + uuid: 9002, type: CardType.Skill, cost: 0, weight: 0, pool_lv: CardLV.LV1, kind: CKind.Skill, card_lv: 1, + name: t("skillbox_name_9002"), info: t("skillbox_info_9002"), + is_inst: true, t_times: 1, t_inv: 0, + s_uuid: 6402, t_num: 1, overrides: { ap: 150 } + }, + { + uuid: 9003, type: CardType.Skill, cost: 0, weight: 0, pool_lv: CardLV.LV1, kind: CKind.Skill, card_lv: 1, + name: t("skillbox_name_9003"), info: t("skillbox_info_9003"), + is_inst: true, t_times: 1, t_inv: 0, + s_uuid: 6403, t_num: 1, overrides: { ap: 100, hit_count: 2 } + }, + { + uuid: 9004, type: CardType.Skill, cost: 0, weight: 0, pool_lv: CardLV.LV1, kind: CKind.Skill, card_lv: 1, + name: t("skillbox_name_9004"), info: t("skillbox_info_9004"), + is_inst: true, t_times: 1, t_inv: 0, + s_uuid: 6404, t_num: 1, overrides: { ap: 110 } + }, + ], + // 第 5 波:中级技能(伤害提升,带附加效果) + 5: [ + { + uuid: 9005, type: CardType.Skill, cost: 0, weight: 0, pool_lv: CardLV.LV2, kind: CKind.Skill, card_lv: 1, + name: t("skillbox_name_9005"), info: t("skillbox_info_9005"), + is_inst: true, t_times: 1, t_inv: 0, + s_uuid: 6405, t_num: 1, overrides: { ap: 130, crt: 10 } + }, + { + uuid: 9006, type: CardType.Skill, cost: 0, weight: 0, pool_lv: CardLV.LV2, kind: CKind.Skill, card_lv: 1, + name: t("skillbox_name_9006"), info: t("skillbox_info_9006"), + is_inst: true, t_times: 1, t_inv: 0, + s_uuid: 6406, t_num: 1, overrides: { ap: 140, hit_count: 2 } + }, + { + uuid: 9007, type: CardType.Skill, cost: 0, weight: 0, pool_lv: CardLV.LV2, kind: CKind.Skill, card_lv: 1, + name: t("skillbox_name_9007"), info: t("skillbox_info_9007"), + is_inst: true, t_times: 1, t_inv: 0, + s_uuid: 6304, t_num: 1, overrides: { ap: 160 } + }, + { + uuid: 9008, type: CardType.Skill, cost: 0, weight: 0, pool_lv: CardLV.LV2, kind: CKind.Skill, card_lv: 1, + name: t("skillbox_name_9008"), info: t("skillbox_info_9008"), + is_inst: false, t_times: 3, t_inv: 2, + s_uuid: 6401, t_num: 3, overrides: { ap: 100 } + }, + ], + // 第 10 波:高级技能(高伤害/多段/持续) + 10: [ + { + uuid: 9009, type: CardType.Skill, cost: 0, weight: 0, pool_lv: CardLV.LV3, kind: CKind.Skill, card_lv: 1, + name: t("skillbox_name_9009"), info: t("skillbox_info_9009"), + is_inst: true, t_times: 1, t_inv: 0, + s_uuid: 6305, t_num: 1, overrides: { ap: 200 } + }, + { + uuid: 9010, type: CardType.Skill, cost: 0, weight: 0, pool_lv: CardLV.LV3, kind: CKind.Skill, card_lv: 1, + name: t("skillbox_name_9010"), info: t("skillbox_info_9010"), + is_inst: true, t_times: 1, t_inv: 0, + s_uuid: 6405, t_num: 1, overrides: { ap: 220, hit_count: 3, crt: 15 } + }, + { + uuid: 9011, type: CardType.Skill, cost: 0, weight: 0, pool_lv: CardLV.LV3, kind: CKind.Skill, card_lv: 1, + name: t("skillbox_name_9011"), info: t("skillbox_info_9011"), + is_inst: false, t_times: 4, t_inv: 1.5, + s_uuid: 6402, t_num: 4, overrides: { ap: 130, frz: 10 } + }, + { + uuid: 9012, type: CardType.Skill, cost: 0, weight: 0, pool_lv: CardLV.LV3, kind: CKind.Skill, card_lv: 1, + name: t("skillbox_name_9012"), info: t("skillbox_info_9012"), + is_inst: true, t_times: 1, t_inv: 0, + s_uuid: 6406, t_num: 1, overrides: { ap: 240, bck: 20 } + }, + ], + // 第 15 波:精英技能(高额暴击/多段) + 15: [ + { + uuid: 9013, type: CardType.Skill, cost: 0, weight: 0, pool_lv: CardLV.LV3, kind: CKind.Skill, card_lv: 2, + name: t("skillbox_name_9013"), info: t("skillbox_info_9013"), + is_inst: true, t_times: 1, t_inv: 0, + s_uuid: 6304, t_num: 1, overrides: { ap: 280, hit_count: 3 } + }, + { + uuid: 9014, type: CardType.Skill, cost: 0, weight: 0, pool_lv: CardLV.LV3, kind: CKind.Skill, card_lv: 2, + name: t("skillbox_name_9014"), info: t("skillbox_info_9014"), + is_inst: true, t_times: 1, t_inv: 0, + s_uuid: 6305, t_num: 1, overrides: { ap: 320, crt: 25 } + }, + { + uuid: 9015, type: CardType.Skill, cost: 0, weight: 0, pool_lv: CardLV.LV3, kind: CKind.Skill, card_lv: 2, + name: t("skillbox_name_9015"), info: t("skillbox_info_9015"), + is_inst: false, t_times: 5, t_inv: 1.2, + s_uuid: 6406, t_num: 5, overrides: { ap: 200, hit_count: 2, bck: 30 } + }, + ], + // 第 20 波:终极技能(全屏/极限数值) + 20: [ + { + uuid: 9016, type: CardType.Skill, cost: 0, weight: 0, pool_lv: CardLV.LV3, kind: CKind.Skill, card_lv: 3, + name: t("skillbox_name_9016"), info: t("skillbox_info_9016"), + is_inst: true, t_times: 1, t_inv: 0, + s_uuid: 6304, t_num: 1, overrides: { ap: 400, hit_count: 4, crt: 30 } + }, + { + uuid: 9017, type: CardType.Skill, cost: 0, weight: 0, pool_lv: CardLV.LV3, kind: CKind.Skill, card_lv: 3, + name: t("skillbox_name_9017"), info: t("skillbox_info_9017"), + is_inst: true, t_times: 1, t_inv: 0, + s_uuid: 6305, t_num: 1, overrides: { ap: 500, crt: 40, frz: 20 } + }, + { + uuid: 9018, type: CardType.Skill, cost: 0, weight: 0, pool_lv: CardLV.LV3, kind: CKind.Skill, card_lv: 3, + name: t("skillbox_name_9018"), info: t("skillbox_info_9018"), + is_inst: true, t_times: 1, t_inv: 0, + s_uuid: 6406, t_num: 1, overrides: { ap: 600, hit_count: 5, bck: 50 } + }, + ], +} + +/** + * 从指定波次的技能池中抽取 N 张卡(加权随机,去重,不足循环补齐) + * + * @param wave 触发波次(1/5/10/15/20),若该波次无池则返回空数组 + * @param count 期望返回卡牌数(默认 3) + * @returns 抽中的 SkillBoxCardConfig 列表(长度 = count) + */ +export function getSkillBoxCards(wave: number, count: number = 3): SkillBoxCardConfig[] { + const pool = SkillBoxPool[wave] || []; + if (pool.length === 0) return []; + const result: SkillBoxCardConfig[] = []; + const usedIndexes = new Set(); + for (let i = 0; i < count; i++) { + const available: number[] = []; + for (let j = 0; j < pool.length; j++) { + if (!usedIndexes.has(j)) available.push(j); + } + // 池内卡片不足时,允许重复 + const candidates = available.length > 0 ? available : Array.from({ length: pool.length }, (_, k) => k); + const pick = candidates[Math.floor(Math.random() * candidates.length)]; + usedIndexes.add(pick); + result.push(pool[pick]); + } + return result; +} diff --git a/assets/script/game/common/config/GameUIConfig.ts b/assets/script/game/common/config/GameUIConfig.ts index 8037b5c2..0176b224 100644 --- a/assets/script/game/common/config/GameUIConfig.ts +++ b/assets/script/game/common/config/GameUIConfig.ts @@ -39,5 +39,5 @@ export var UIConfigData: { [key: number]: UIConfig } = { // [UIID.Talents]: { layer: LayerType.UI, prefab: "gui/element/talents" }, [UIID.Mission]: { layer: LayerType.UI, prefab: "gui/element/mission" }, [UIID.HInfo]: { layer: LayerType.UI, prefab: "gui/element/hnode" }, - [UIID.SkillBox]: { layer: LayerType.UI, prefab: "gui/element/skillbox" }, + [UIID.SkillBox]: { layer: LayerType.UI, prefab: "gui/element/MSkillBox" }, } \ No newline at end of file diff --git a/assets/script/game/map/MSkillBoxComp.ts b/assets/script/game/map/MSkillBoxComp.ts new file mode 100644 index 00000000..f3326c46 --- /dev/null +++ b/assets/script/game/map/MSkillBoxComp.ts @@ -0,0 +1,266 @@ +/** + * @file MSkillBoxComp.ts + * @description 固定波次触发的「技能卡三选一」弹窗组件(UI 视图层 + 流程控制) + * + * 职责: + * 1. 由 MissionCardComp 在 NewWave 事件且当前波次 ∈ {1, 5, 10, 15, 20} 时 + * 通过 `oops.gui.open(UIID.SkillBox, { wave, poolLv })` 弹出。 + * 2. 从 SkillBoxPool[wave] 抽 3 张卡,渲染到 card1 / card2 / card3 三个 CardComp 槽位。 + * 3. 玩家点中其中一张卡后,直接以该卡为 payload 分发 UseSkillCard 事件, + * 由 MissSkillsComp 接管并实例化 SkillBoxComp(走 SkillBoxCardConfig 路径)。 + * 4. 提供「刷新」按钮(扣除 refreshRemain 一次)和「看广告刷新」按钮(回调留空, + * 待接入广告 SDK 后会把 adRefreshRemain 累加 +3)。 + * + * 关键设计: + * - **强制必选**:不绑定关闭按钮,玩家只能点中 3 张卡之一才能关闭弹窗。 + * - **免费领取**:cost 强制 0,dispatchEvent(UseSkillCard) 不走 CoinAdd 扣费。 + * - **次数持久化**:refreshRemain / adRefreshRemain 存于 smc.vmdata.mission_data, + * 跨波次保留,每局 mission 开始时由 MissionComp.data_init() 重置为 1/0。 + * + * 依赖: + * - CardComp —— 复用其渲染/交互逻辑(免费版:card_cost=0) + * - SkillBoxPool / getSkillBoxCards (CardSet) —— 5 级硬编码技能池 + * - GameEvent.UseSkillCard —— 技能使用事件 + * - UIID.SkillBox (GameUIConfig) —— 弹窗 prefab 路径 + * - smc.vmdata.mission_data —— 刷新次数持久化 + */ +import { mLogger } from "../common/Logger"; +import { _decorator, Label, Node, Button } 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 { GameEvent } from "../common/config/GameEvent"; +import { oops } from "db://oops-framework/core/Oops"; +import { smc } from "../common/SingletonModuleComp"; +import { getSkillBoxCards, SkillBoxCardConfig } from "../common/config/CardSet"; +import { UIID } from "../common/config/GameUIConfig"; +import { CardComp } from "./CardComp"; + +const { ccclass, property } = _decorator; + +/** + * MSkillBoxComp —— 技能三选一弹窗控制器 + * + * 由 oops.gui.open(UIID.SkillBox, { wave, poolLv }) 实例化。 + */ +@ccclass('MSkillBoxComp') +@ecs.register('MSkillBoxComp', false) +export class MSkillBoxComp extends CCComp { + /** 是否启用调试日志 */ + private debugMode: boolean = true; + + // ======================== 编辑器绑定节点 ======================== + + /** 卡牌槽位 1 节点(需挂 CardComp) */ + @property(Node) + card1: Node = null! + /** 卡牌槽位 2 节点(需挂 CardComp) */ + @property(Node) + card2: Node = null! + /** 卡牌槽位 3 节点(需挂 CardComp) */ + @property(Node) + card3: Node = null! + /** 刷新按钮(消耗 1 次 refreshRemain 重抽 3 张) */ + @property(Node) + refreshBtn: Node = null! + /** 看广告刷新按钮(回调留空,后续接入广告 SDK 后累加 adRefreshRemain +3) */ + @property(Node) + adRefreshBtn: Node = null! + /** 刷新次数显示标签(可选,显示 "1/1" 形式) */ + @property(Label) + refreshCountLabel: Label = null! + + // ======================== 运行时状态 ======================== + + /** 当前波次(1/5/10/15/20) */ + private currentWave: number = 0; + /** 当前卡池等级(预留扩展,目前未使用) */ + private currentPoolLv: number = 1; + /** 3 个 CardComp 子控制器引用(有序) */ + private cardComps: CardComp[] = []; + /** 是否已派发 UseSkillCard(防重复触发关闭) */ + private hasPicked: boolean = false; + + // ======================== 生命周期 ======================== + + onLoad() { + // 监听任务结束,自动关闭弹窗(避免玩家关游戏时残留) + oops.message.on(GameEvent.MissionEnd, this.onMissionEnd, this); + this.bindEvents(); + } + + onAdded(args: { wave?: number; poolLv?: number }) { + this.currentWave = Math.max(0, Math.floor(Number(args?.wave ?? 0))); + this.currentPoolLv = Math.max(1, Math.floor(Number(args?.poolLv ?? 1))); + this.hasPicked = false; + this.cacheCardComps(); + this.rollAndRender(); + this.refreshRefreshCountUI(); + mLogger.log(this.debugMode, "MSkillBoxComp", "opened", { + wave: this.currentWave, + poolLv: this.currentPoolLv, + refreshRemain: this.getRefreshRemain(), + adRefreshRemain: this.getAdRefreshRemain(), + }); + } + + onDestroy() { + super.onDestroy(); + this.unbindEvents(); + oops.message.off(GameEvent.MissionEnd, this.onMissionEnd, this); + } + + onMissionEnd() { + // 任务结束时强制关闭弹窗 + oops.gui.remove(UIID.SkillBox); + } + + init() { + // 弹窗组件无需额外 init,onAdded 阶段完成所有初始化 + } + + update(dt: number) { + // 弹窗无帧更新逻辑 + } + + reset() { + // ECS 组件移除时清理 + } + + // ======================== 内部:CardComp 缓存 ======================== + + /** + * 缓存 3 个卡槽上的 CardComp 引用。 + * 与 MissionCardComp.cacheCardComps() 同源实现,确保即开即用。 + */ + private cacheCardComps() { + this.cardComps = []; + const slots: (Node | null)[] = [this.card1, this.card2, this.card3]; + for (let i = 0; i < slots.length; i++) { + const node = slots[i]; + if (!node) continue; + const comp = node.getComponent(CardComp) || node.addComponent(CardComp); + this.cardComps.push(comp); + } + } + + // ======================== 内部:抽卡与渲染 ======================== + + /** + * 从 SkillBoxPool[currentWave] 抽 3 张并渲染到 3 个卡槽。 + * 渲染时强制 cost=0,触发 free 路径。 + */ + private rollAndRender() { + const cards = getSkillBoxCards(this.currentWave, 3); + for (let i = 0; i < this.cardComps.length; i++) { + const comp = this.cardComps[i]; + if (!comp) continue; + if (i < cards.length) { + comp.applyDrawCard(cards[i]); + comp.card_cost = 0; // 强制免费 + } else { + comp.clearBySystem(); + } + } + } + + /** 重新抽 3 张(玩家点 refreshBtn) */ + private reroll() { + if (this.hasPicked) return; + this.rollAndRender(); + mLogger.log(this.debugMode, "MSkillBoxComp", "reroll", { + refreshRemain: this.getRefreshRemain(), + adRefreshRemain: this.getAdRefreshRemain(), + }); + } + + // ======================== 内部:刷新次数持久化 ======================== + + /** 读取当前总可用刷新次数(普通 + 广告奖励) */ + private getRefreshRemain(): number { + const d = smc.vmdata?.mission_data; + if (!d) return 0; + return Math.max(0, Math.floor(Number(d.skill_box_refresh_remain ?? 0))); + } + + /** 读取广告奖励次数(待接入 SDK 后使用) */ + private getAdRefreshRemain(): number { + const d = smc.vmdata?.mission_data; + if (!d) return 0; + return Math.max(0, Math.floor(Number(d.skill_box_ad_refresh_remain ?? 0))); + } + + /** 消耗一次刷新(优先用普通次数,再用广告奖励) */ + private consumeRefresh(): boolean { + const d = smc.vmdata?.mission_data; + if (!d) return false; + const remain = this.getRefreshRemain(); + const adRemain = this.getAdRefreshRemain(); + if (remain + adRemain <= 0) return false; + if (remain > 0) { + d.skill_box_refresh_remain = remain - 1; + } else { + d.skill_box_ad_refresh_remain = adRemain - 1; + } + return true; + } + + /** 同步刷新次数显示 */ + private refreshRefreshCountUI() { + if (!this.refreshCountLabel) return; + const total = this.getRefreshRemain() + this.getAdRefreshRemain(); + this.refreshCountLabel.string = `${total}`; + } + + // ======================== 内部:玩家选择 ======================== + + /** + * 监听每个 CardComp 的 UseSkillCard 派发,以关闭弹窗。 + * 由于 CardComp.useCard 内部已经 dispatchEvent(UseSkillCard, payload), + * 这里只需监听事件并在识别为本弹窗的卡时关闭。 + */ + private onSkillCardUsed(event: string, args: any) { + if (this.hasPicked) return; + const payload = args ?? event; + if (!payload) return; + const uuid = Number(payload?.uuid ?? 0); + // 仅处理本弹窗抽出的 SkillBox 卡(uuid >= 9000) + if (uuid < 9000) return; + this.hasPicked = true; + mLogger.log(this.debugMode, "MSkillBoxComp", "player picked skill card", { uuid }); + oops.gui.remove(UIID.SkillBox); + } + + // ======================== 按钮事件 ======================== + + private bindEvents() { + this.refreshBtn?.on(Button.EventType.CLICK, this.onRefreshClick, this); + this.adRefreshBtn?.on(Button.EventType.CLICK, this.onAdRefreshClick, this); + oops.message.on(GameEvent.UseSkillCard, this.onSkillCardUsed, this); + } + + private unbindEvents() { + this.refreshBtn?.off(Button.EventType.CLICK, this.onRefreshClick, this); + this.adRefreshBtn?.off(Button.EventType.CLICK, this.onAdRefreshClick, this); + oops.message.off(GameEvent.UseSkillCard, this.onSkillCardUsed, this); + } + + private onRefreshClick() { + if (this.hasPicked) return; + if (this.getRefreshRemain() + this.getAdRefreshRemain() <= 0) { + oops.gui.toast("刷新次数已用完,请观看广告获取"); + return; + } + if (!this.consumeRefresh()) return; + this.reroll(); + this.refreshRefreshCountUI(); + } + + private onAdRefreshClick() { + // TODO: 接入广告 SDK 后,在广告播放成功回调中: + // smc.vmdata.mission_data.skill_box_ad_refresh_remain += 3; + // this.refreshRefreshCountUI(); + // 当前为占位实现,仅打印日志提示 + mLogger.log(this.debugMode, "MSkillBoxComp", "onAdRefreshClick", "TODO: 接入广告 SDK,成功后 adRefreshRemain += 3"); + oops.gui.toast("广告功能即将上线"); + } +} diff --git a/assets/script/game/map/MSkillBoxComp.ts.meta b/assets/script/game/map/MSkillBoxComp.ts.meta new file mode 100644 index 00000000..88ae9795 --- /dev/null +++ b/assets/script/game/map/MSkillBoxComp.ts.meta @@ -0,0 +1,9 @@ +{ + "ver": "4.0.24", + "importer": "typescript", + "imported": true, + "uuid": "85b247fa-1f22-411a-b3a6-82e9797512e1", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/assets/script/game/map/MissSkillsComp.ts b/assets/script/game/map/MissSkillsComp.ts index a242ee1e..32b1cd18 100644 --- a/assets/script/game/map/MissSkillsComp.ts +++ b/assets/script/game/map/MissSkillsComp.ts @@ -28,6 +28,7 @@ import { SkillBoxComp } from "./SkillBoxComp"; import { oops } from "db://oops-framework/core/Oops"; import { GameEvent } from "../common/config/GameEvent"; import { smc } from "../common/SingletonModuleComp"; +import { SkillBoxCardConfig } from "../common/config/CardSet"; const { ccclass, property } = _decorator; /** 技能槽位数据结构 */ @@ -55,7 +56,7 @@ export class MissSkillsComp extends CCComp { private debugMode: boolean = true; /** 技能卡 Prefab(在编辑器中赋值) */ - @property({type: Prefab}) + @property({ type: Prefab }) private skill_box: Prefab = null; /** @@ -67,13 +68,13 @@ export class MissSkillsComp extends CCComp { { x: -320, y: 240, used: false, node: null }, { x: -240, y: 240, used: false, node: null }, { x: -160, y: 240, used: false, node: null }, - { x: -80, y: 240, used: false, node: null }, - { x: 0, y: 240, used: false, node: null }, + { x: -80, y: 240, used: false, node: null }, + { x: 0, y: 240, used: false, node: null }, { x: -320, y: 320, used: false, node: null }, { x: -240, y: 320, used: false, node: null }, { x: -160, y: 320, used: false, node: null }, - { x: -80, y: 320, used: false, node: null }, - { x: 0, y: 320, used: false, node: null }, + { x: -80, y: 320, used: false, node: null }, + { x: 0, y: 320, used: false, node: null }, ]; /** 注册事件监听 */ @@ -141,17 +142,36 @@ export class MissSkillsComp extends CCComp { * 处理使用技能卡事件:提取 uuid 和 card_lv 后调用 addSkill。 * @param event 事件名 * @param args 卡牌数据(含 uuid、card_lv) + * + * 兼容两种数据源: + * - 普通卡池(uuid < 9000):走 addSkill(uuid, card_lv) 旧流程 + * - SkillBox 卡池(uuid >= 9000 且 payload 含 s_uuid): + * 视为 SkillBoxCardConfig,使用 addSkillByConfig 走新流程 */ private onUseSkillCard(event: string, args: any) { const payload = args ?? event; const uuid = Number(payload?.uuid ?? 0); const card_lv = Math.max(1, Math.floor(Number(payload?.card_lv ?? 1))); if (!uuid) return; - this.addSkill(uuid, card_lv); + if (this.isSkillBoxPayload(payload)) { + this.addSkillByConfig(payload as SkillBoxCardConfig); + } else { + this.addSkill(uuid, card_lv); + } + } + + /** + * 判断 payload 是否为 SkillBox 三选一弹窗的卡牌配置。 + * 识别规则:uuid >= 9000 且 payload 含 s_uuid 字段。 + */ + private isSkillBoxPayload(payload: any): boolean { + if (!payload) return false; + const uuid = Number(payload.uuid ?? 0); + return uuid >= 9000 && Number(payload.s_uuid ?? 0) > 0; } start() { - + } /** @@ -166,7 +186,7 @@ export class MissSkillsComp extends CCComp { addSkill(uuid: number, card_lv: number) { // 技能节点的父容器 var parent = smc.map.MapView.scene.entityLayer!.node!.getChildByName("SKILL")!; - + if (!this.skill_box) { mLogger.error(this.debugMode, "MissSkillsComp", "skill_box prefab not set"); return; @@ -183,7 +203,7 @@ export class MissSkillsComp extends CCComp { const node = instantiate(this.skill_box); node.parent = parent; node.setPosition(new Vec3(this.slots[emptyIndex].x, this.slots[emptyIndex].y, 0)); - + this.slots[emptyIndex].used = true; this.slots[emptyIndex].node = node; @@ -192,6 +212,37 @@ export class MissSkillsComp extends CCComp { comp.init(uuid, card_lv); } + /** + * 在场上添加一个 SkillBox 弹窗产出的技能卡(uuid >= 9000): + * 流程与 addSkill 相同,但初始化走 initWithConfig 以支持 overrides / s_uuid。 + * + * @param skillBoxCard SkillBoxCardConfig 完整卡牌配置 + */ + addSkillByConfig(skillBoxCard: SkillBoxCardConfig) { + var parent = smc.map.MapView.scene.entityLayer!.node!.getChildByName("SKILL")!; + + if (!this.skill_box) { + mLogger.error(this.debugMode, "MissSkillsComp", "skill_box prefab not set"); + return; + } + + const emptyIndex = this.slots.findIndex(slot => !slot.used); + if (emptyIndex === -1) { + mLogger.warn(this.debugMode, "MissSkillsComp", "skill_box slots are full"); + return; + } + + const node = instantiate(this.skill_box); + node.parent = parent; + node.setPosition(new Vec3(this.slots[emptyIndex].x, this.slots[emptyIndex].y, 0)); + + this.slots[emptyIndex].used = true; + this.slots[emptyIndex].node = node; + + const comp = node.getComponent(SkillBoxComp) || node.addComponent(SkillBoxComp); + comp.initWithConfig(skillBoxCard); + } + /** ECS 组件移除时销毁节点 */ reset() { this.node.destroy(); diff --git a/assets/script/game/map/MissionCardComp.ts b/assets/script/game/map/MissionCardComp.ts index 3107ca1f..2a262d32 100644 --- a/assets/script/game/map/MissionCardComp.ts +++ b/assets/script/game/map/MissionCardComp.ts @@ -37,7 +37,7 @@ import { _decorator, instantiate, Label, Node, NodeEventType, Prefab, SpriteAtla import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS"; import { CCComp } from "../../../../extensions/oops-plugin-framework/assets/module/common/CCComp"; import { GameEvent } from "../common/config/GameEvent"; -import { CARD_POOL_INIT_LEVEL, CARD_POOL_MAX_LEVEL, CARD_POOL_UPGRADE_DISCOUNT_PER_WAVE, CardConfig, CardType, CardsUpSet, drawCardsByRule, getCardsByLv, SpecialRefreshCardList, SpecialRefreshHeroType, SpecialUpgradeCardList } from "../common/config/CardSet"; +import { CARD_POOL_INIT_LEVEL, CARD_POOL_MAX_LEVEL, CARD_POOL_UPGRADE_DISCOUNT_PER_WAVE, CardConfig, CardType, CardsUpSet, drawCardsByRule, getCardsByLv, SKILL_BOX_TRIGGER_WAVES, SpecialRefreshCardList, SpecialRefreshHeroType, SpecialUpgradeCardList } from "../common/config/CardSet"; import { CardComp } from "./CardComp"; import { oops } from "db://oops-framework/core/Oops"; import { HeroAttrsComp } from "../hero/HeroAttrsComp"; @@ -48,6 +48,7 @@ import { FacSet, FightSet } from "../common/config/GameSet"; import { MoveComp } from "../hero/MoveComp"; import { MissionHeroComp } from "./MissionHeroComp"; import { MissionEconomy } from "./MissionEconomy"; +import { UIID } from "../common/config/GameUIConfig"; const { ccclass, property } = _decorator; @@ -323,13 +324,35 @@ export class MissionCardComp extends CCComp { } /** 新一波:展开面板 → 刷新费用 UI → 重新抽卡分发 */ - private onNewWave() { + private onNewWave(event?: string, args?: any) { this.isBattlePhase = false; this.enterPreparePhase(); this.updateCoinAndCostUI(); this.layoutCardSlots(); const cards = this.buildDrawCards(); this.dispatchCardsToSlots(cards); + + // 固定波次(1/5/10/15/20)弹出技能三选一弹窗 + const wave = Number(args?.wave ?? 0); + if (this.isSkillBoxTriggerWave(wave)) { + this.openSkillBox(wave); + } + } + + /** 判断 wave 是否属于技能弹窗触发波次 */ + private isSkillBoxTriggerWave(wave: number): boolean { + if (!wave || wave <= 0) return false; + return SKILL_BOX_TRIGGER_WAVES.includes(wave); + } + + /** 打开技能三选一弹窗(MSkillBoxComp) */ + private openSkillBox(wave: number) { + if (smc.map?.MapView) { + oops.gui.open(UIID.SkillBox, { wave, poolLv: this.poolLv }); + mLogger.log(this.debugMode, "MissionCardComp", "openSkillBox", { wave, poolLv: this.poolLv }); + } else { + mLogger.warn(this.debugMode, "MissionCardComp", "openSkillBox skipped, smc.map.MapView not ready"); + } } /** 解除按钮监听,避免节点销毁后回调泄漏 */ @@ -637,12 +660,8 @@ export class MissionCardComp extends CCComp { /** 构建本次抽卡结果,保证最终可分发3条数据 */ private buildDrawCards(): CardConfig[] { - let targetType: CardType | CardType[] | undefined = undefined; - if (this.isBattlePhase) { - targetType = CardType.Skill; - } else { - targetType = [CardType.Hero, CardType.SpecialRefresh]; - } + // 技能卡已不再通过常规刷新分发,统一走 MSkillBoxComp 固定波次弹窗 + const targetType: CardType[] = [CardType.Hero, CardType.SpecialRefresh]; const cards = getCardsByLv(this.poolLv, targetType); /** 正常情况下直接取前3 */ diff --git a/assets/script/game/map/MissionComp.ts b/assets/script/game/map/MissionComp.ts index a8e71bd1..0d259ded 100644 --- a/assets/script/game/map/MissionComp.ts +++ b/assets/script/game/map/MissionComp.ts @@ -727,6 +727,9 @@ export class MissionComp extends CCComp { smc.vmdata.mission_data.coin = Math.max(0, Math.floor(CardInitCoins)); // 【评分系统 - 效率分】记录初始获得的金币收入 smc.vmdata.scores.gold_earned += smc.vmdata.mission_data.coin; + // 技能三选一弹窗:每局重置 1 次普通刷新 + 清零广告累计次数 + smc.vmdata.mission_data.skill_box_refresh_remain = 1; + smc.vmdata.mission_data.skill_box_ad_refresh_remain = 0; } // ======================== 波次管理 ======================== diff --git a/assets/script/game/map/SkillBoxComp.ts b/assets/script/game/map/SkillBoxComp.ts index 6aa848ac..9da64d4f 100644 --- a/assets/script/game/map/SkillBoxComp.ts +++ b/assets/script/game/map/SkillBoxComp.ts @@ -29,8 +29,8 @@ import { mLogger } from "../common/Logger"; import { _decorator, Node, Prefab, Sprite, Label, Vec3, resources, SpriteAtlas } 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 { CardPoolList } from "../common/config/CardSet"; -import { SkillSet } from "../common/config/SkillSet"; +import { CardPoolList, SkillBoxCardConfig } from "../common/config/CardSet"; +import { SkillOverrides, SkillSet } from "../common/config/SkillSet"; import { oops } from "db://oops-framework/core/Oops"; import { GameEvent } from "../common/config/GameEvent"; import { smc } from "../common/SingletonModuleComp"; @@ -49,8 +49,8 @@ export class SkillBoxComp extends CCComp { private debugMode: boolean = true; /** 技能图标节点 */ - @property({type: Node}) - private icon_node:Node= null; + @property({ type: Node }) + private icon_node: Node = null; /** 剩余次数标签 */ @property(Label) @@ -68,6 +68,8 @@ export class SkillBoxComp extends CCComp { private trigger_times: number = 1; /** 触发间隔(秒,仅持续技能有效) */ private trigger_interval: number = 0; + /** 技能参数覆盖(来自 SkillBoxCardConfig.overrides,触发时随事件派发) */ + private skill_overrides: SkillOverrides | null = null; // ======================== 运行时状态 ======================== @@ -115,7 +117,7 @@ export class SkillBoxComp extends CCComp { init(uuid: number, card_lv: number) { this.s_uuid = uuid; this.card_lv = card_lv; - + // 查询触发配置 const config = CardPoolList.find(c => c.uuid === uuid); if (config) { @@ -123,6 +125,7 @@ export class SkillBoxComp extends CCComp { this.trigger_times = config.t_times ?? 1; this.trigger_interval = config.t_inv ?? 0; } + this.skill_overrides = null; this.current_trigger_times = 0; this.timer = 0; @@ -143,6 +146,39 @@ export class SkillBoxComp extends CCComp { } } + /** + * 使用 SkillBoxCardConfig 初始化(MSkillBoxComp 三选一弹窗场景) + * + * 与 init(uuid, card_lv) 的区别: + * - 直接以 s_uuid 字段作为实际生效技能 + * - 触发参数(is_inst / t_times / t_inv)取自 SkillBoxCardConfig + * - overrides 在 triggerSkill 时随事件一起派发,由技能执行系统按需应用 + */ + initWithConfig(skillBoxCard: SkillBoxCardConfig) { + this.s_uuid = skillBoxCard.s_uuid; + this.card_lv = Math.max(1, Math.floor(skillBoxCard.card_lv ?? 1)); + this.is_instant = skillBoxCard.is_inst ?? true; + this.trigger_times = skillBoxCard.t_num ?? skillBoxCard.t_times ?? 1; + this.trigger_interval = skillBoxCard.t_inv ?? 0; + this.skill_overrides = skillBoxCard.overrides ?? null; + + this.current_trigger_times = 0; + this.timer = 0; + this.initialized = true; + + this.updateUI(); + + if (this.is_instant) { + this.triggerSkill(); + this.current_trigger_times++; + if (this.current_trigger_times >= this.trigger_times) { + this.scheduleOnce(() => { + this.node.destroy(); + }, 1.0); + } + } + } + /** * 更新 UI: * - 图标:从 uicons 图集获取。 @@ -160,7 +196,7 @@ export class SkillBoxComp extends CCComp { } } } - + // 更新剩余次数标签 if (this.info_label) { if (!this.is_instant) { @@ -178,7 +214,7 @@ export class SkillBoxComp extends CCComp { private onFightStart() { if (!this.initialized) return; this.in_combat = true; - + if (!this.is_instant) { this.timer = 0; // 重置计时器 } @@ -201,7 +237,7 @@ export class SkillBoxComp extends CCComp { private handleNewWave() { if (!this.initialized) return; this.in_combat = false; - + if (!this.is_instant) { if (this.current_trigger_times >= this.trigger_times) { this.node.destroy(); @@ -233,7 +269,7 @@ export class SkillBoxComp extends CCComp { this.triggerSkill(); this.current_trigger_times++; this.updateUI(); - + // 次数用完 → 延迟销毁 if (this.current_trigger_times >= this.trigger_times) { this.scheduleOnce(() => { @@ -256,12 +292,14 @@ export class SkillBoxComp extends CCComp { const localPos = this.node.position; const parentPos = this.node.parent ? this.node.parent.position : new Vec3(0, 0, 0); targetPos.set(parentPos.x + localPos.x, parentPos.y + localPos.y, 0); - + + // 将 SkillBoxCardConfig 的 overrides 一起派发,技能执行系统可按需合并到基础 SkillSet 配置 oops.message.dispatchEvent(GameEvent.TriggerSkill, { s_uuid: this.s_uuid, isCardSkill: true, // 标记为卡牌技能(区别于英雄自身技能) card_lv: this.card_lv, - targetPos: targetPos + targetPos: targetPos, + overrides: this.skill_overrides ?? undefined }); }