diff --git a/assets/bundles/battleHero/prefab/buff/双倍符.prefab b/assets/bundles/battleHero/prefab/buff/双倍符.prefab index 1a00376..1bf485a 100644 --- a/assets/bundles/battleHero/prefab/buff/双倍符.prefab +++ b/assets/bundles/battleHero/prefab/buff/双倍符.prefab @@ -46,8 +46,8 @@ }, "_lscale": { "__type__": "cc.Vec3", - "x": 0.8, - "y": 0.8, + "x": 1, + "y": 1, "z": 1 }, "_mobility": 0, @@ -62,7 +62,7 @@ }, { "__type__": "cc.Node", - "_name": "属性卡", + "_name": "双倍符", "_objFlags": 0, "__editorExtras__": {}, "_parent": { @@ -96,8 +96,8 @@ }, "_lscale": { "__type__": "cc.Vec3", - "x": 0.7, - "y": 0.7, + "x": 0.5, + "y": 0.5, "z": 1 }, "_mobility": 0, @@ -125,7 +125,7 @@ "_contentSize": { "__type__": "cc.Size", "width": 106, - "height": 143 + "height": 141 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -136,7 +136,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "0cnK1M/9hDTZ+s6Ij+iI3I" + "fileId": "58pZ0ADudDEoJ647y1fZ+G" }, { "__type__": "cc.Sprite", @@ -161,7 +161,7 @@ "a": 255 }, "_spriteFrame": { - "__uuid__": "b3e8a199-b05d-4ec8-b419-1430dac12143@f9941", + "__uuid__": "e32c1feb-56b1-4349-a7c2-043ad8344e24@f9941", "__expectedType__": "cc.SpriteFrame" }, "_type": 0, @@ -181,7 +181,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "82dbEEEUtIgpnY4h6hFk40" + "fileId": "7857qmFABATLcUCTI+0e2j" }, { "__type__": "cc.PrefabInfo", @@ -191,7 +191,7 @@ "asset": { "__id__": 0 }, - "fileId": "fekcqmH2RI8pfVxAtmBiIL", + "fileId": "d17kz4S8NEereFfac9ATcL", "instance": null, "targetOverrides": null, "nestedPrefabInstanceRoots": null @@ -210,8 +210,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 100 + "width": 83, + "height": 83 }, "_anchorPoint": { "__type__": "cc.Vec2", diff --git a/assets/bundles/battleHero/prefab/buff/四倍符.prefab b/assets/bundles/battleHero/prefab/buff/四倍符.prefab index cdfbafd..aec1387 100644 --- a/assets/bundles/battleHero/prefab/buff/四倍符.prefab +++ b/assets/bundles/battleHero/prefab/buff/四倍符.prefab @@ -46,8 +46,8 @@ }, "_lscale": { "__type__": "cc.Vec3", - "x": 0.8, - "y": 0.8, + "x": 1, + "y": 1, "z": 1 }, "_mobility": 0, @@ -62,7 +62,7 @@ }, { "__type__": "cc.Node", - "_name": "属性卡", + "_name": "四倍符", "_objFlags": 0, "__editorExtras__": {}, "_parent": { @@ -96,8 +96,8 @@ }, "_lscale": { "__type__": "cc.Vec3", - "x": 0.7, - "y": 0.7, + "x": 0.5, + "y": 0.5, "z": 1 }, "_mobility": 0, @@ -125,7 +125,7 @@ "_contentSize": { "__type__": "cc.Size", "width": 106, - "height": 143 + "height": 141 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -136,7 +136,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "0cnK1M/9hDTZ+s6Ij+iI3I" + "fileId": "3fLq0qcv9NqIB6vXAmJni1" }, { "__type__": "cc.Sprite", @@ -161,7 +161,7 @@ "a": 255 }, "_spriteFrame": { - "__uuid__": "b3e8a199-b05d-4ec8-b419-1430dac12143@f9941", + "__uuid__": "677bc857-d81e-43e2-a0bd-90f19e44cf19@f9941", "__expectedType__": "cc.SpriteFrame" }, "_type": 0, @@ -181,7 +181,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "82dbEEEUtIgpnY4h6hFk40" + "fileId": "b7Hp8iY9xGyY1tevRSoXeZ" }, { "__type__": "cc.PrefabInfo", @@ -191,7 +191,7 @@ "asset": { "__id__": 0 }, - "fileId": "fekcqmH2RI8pfVxAtmBiIL", + "fileId": "c90PKXpfhKGIQXHHkMoZYq", "instance": null, "targetOverrides": null, "nestedPrefabInstanceRoots": null diff --git a/assets/bundles/battleHero/prefab/buff/衰弱符.prefab b/assets/bundles/battleHero/prefab/buff/衰弱符.prefab index 457dd4a..5401e86 100644 --- a/assets/bundles/battleHero/prefab/buff/衰弱符.prefab +++ b/assets/bundles/battleHero/prefab/buff/衰弱符.prefab @@ -46,8 +46,8 @@ }, "_lscale": { "__type__": "cc.Vec3", - "x": 0.8, - "y": 0.8, + "x": 1, + "y": 1, "z": 1 }, "_mobility": 0, @@ -62,7 +62,7 @@ }, { "__type__": "cc.Node", - "_name": "属性卡", + "_name": "衰弱符", "_objFlags": 0, "__editorExtras__": {}, "_parent": { @@ -96,8 +96,8 @@ }, "_lscale": { "__type__": "cc.Vec3", - "x": 0.7, - "y": 0.7, + "x": 0.5, + "y": 0.5, "z": 1 }, "_mobility": 0, @@ -125,7 +125,7 @@ "_contentSize": { "__type__": "cc.Size", "width": 106, - "height": 143 + "height": 141 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -136,7 +136,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "0cnK1M/9hDTZ+s6Ij+iI3I" + "fileId": "4eZt2RS89I36/xPKUGL6OZ" }, { "__type__": "cc.Sprite", @@ -161,7 +161,7 @@ "a": 255 }, "_spriteFrame": { - "__uuid__": "b3e8a199-b05d-4ec8-b419-1430dac12143@f9941", + "__uuid__": "e03f74f9-2a5d-4960-9674-01c792894c27@f9941", "__expectedType__": "cc.SpriteFrame" }, "_type": 0, @@ -181,7 +181,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "82dbEEEUtIgpnY4h6hFk40" + "fileId": "574C0FKl9L8KWZLjm4uurq" }, { "__type__": "cc.PrefabInfo", @@ -191,7 +191,7 @@ "asset": { "__id__": 0 }, - "fileId": "fekcqmH2RI8pfVxAtmBiIL", + "fileId": "e6+dDzYB9HG5dlyQdgF/Kz", "instance": null, "targetOverrides": null, "nestedPrefabInstanceRoots": null diff --git a/assets/bundles/battleHero/prefab/buff/随机牌.prefab b/assets/bundles/battleHero/prefab/buff/随机牌.prefab index 791ef39..c355e0a 100644 --- a/assets/bundles/battleHero/prefab/buff/随机牌.prefab +++ b/assets/bundles/battleHero/prefab/buff/随机牌.prefab @@ -46,8 +46,8 @@ }, "_lscale": { "__type__": "cc.Vec3", - "x": 0.8, - "y": 0.8, + "x": 1, + "y": 1, "z": 1 }, "_mobility": 0, @@ -62,7 +62,7 @@ }, { "__type__": "cc.Node", - "_name": "属性卡", + "_name": "随机牌", "_objFlags": 0, "__editorExtras__": {}, "_parent": { @@ -96,8 +96,8 @@ }, "_lscale": { "__type__": "cc.Vec3", - "x": 0.7, - "y": 0.7, + "x": 0.5, + "y": 0.5, "z": 1 }, "_mobility": 0, @@ -125,7 +125,7 @@ "_contentSize": { "__type__": "cc.Size", "width": 106, - "height": 143 + "height": 141 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -136,7 +136,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "0cnK1M/9hDTZ+s6Ij+iI3I" + "fileId": "5dh/GLht1DT6giFrNF1KLn" }, { "__type__": "cc.Sprite", @@ -161,7 +161,7 @@ "a": 255 }, "_spriteFrame": { - "__uuid__": "b3e8a199-b05d-4ec8-b419-1430dac12143@f9941", + "__uuid__": "bc1651e3-c056-4eb8-ba1f-f2a3fae4c985@f9941", "__expectedType__": "cc.SpriteFrame" }, "_type": 0, @@ -181,7 +181,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "82dbEEEUtIgpnY4h6hFk40" + "fileId": "dfv+SDKltPSLF6sJ8l+0Hs" }, { "__type__": "cc.PrefabInfo", @@ -191,7 +191,7 @@ "asset": { "__id__": 0 }, - "fileId": "fekcqmH2RI8pfVxAtmBiIL", + "fileId": "c1Y7xH1chHVpafC2j4OXmN", "instance": null, "targetOverrides": null, "nestedPrefabInstanceRoots": null diff --git a/assets/bundles/battleHero/texture/双倍符.png b/assets/bundles/battleHero/texture/双倍符.png new file mode 100644 index 0000000..a39eb5f Binary files /dev/null and b/assets/bundles/battleHero/texture/双倍符.png differ diff --git a/assets/bundles/battleHero/texture/双倍符.png.meta b/assets/bundles/battleHero/texture/双倍符.png.meta new file mode 100644 index 0000000..b64cb74 --- /dev/null +++ b/assets/bundles/battleHero/texture/双倍符.png.meta @@ -0,0 +1,134 @@ +{ + "ver": "1.0.27", + "importer": "image", + "imported": true, + "uuid": "e32c1feb-56b1-4349-a7c2-043ad8344e24", + "files": [ + ".json", + ".png" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "e32c1feb-56b1-4349-a7c2-043ad8344e24@6c48a", + "displayName": "双倍符", + "id": "6c48a", + "name": "texture", + "userData": { + "wrapModeS": "clamp-to-edge", + "wrapModeT": "clamp-to-edge", + "imageUuidOrDatabaseUri": "e32c1feb-56b1-4349-a7c2-043ad8344e24", + "isUuid": true, + "visible": false, + "minfilter": "linear", + "magfilter": "linear", + "mipfilter": "none", + "anisotropy": 0 + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "e32c1feb-56b1-4349-a7c2-043ad8344e24@f9941", + "displayName": "双倍符", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0.5, + "trimX": 47, + "trimY": 29, + "width": 106, + "height": 141, + "rawWidth": 200, + "rawHeight": 200, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "packable": true, + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -53, + -70.5, + 0, + 53, + -70.5, + 0, + -53, + 70.5, + 0, + 53, + 70.5, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 47, + 171, + 153, + 171, + 47, + 30, + 153, + 30 + ], + "nuv": [ + 0.235, + 0.15, + 0.765, + 0.15, + 0.235, + 0.855, + 0.765, + 0.855 + ], + "minPos": [ + -53, + -70.5, + 0 + ], + "maxPos": [ + 53, + 70.5, + 0 + ] + }, + "isUuid": true, + "imageUuidOrDatabaseUri": "e32c1feb-56b1-4349-a7c2-043ad8344e24@6c48a", + "atlasUuid": "", + "trimType": "auto" + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "fixAlphaTransparencyArtifacts": false, + "hasAlpha": true, + "redirect": "e32c1feb-56b1-4349-a7c2-043ad8344e24@6c48a" + } +} diff --git a/assets/bundles/battleHero/texture/四倍符.png b/assets/bundles/battleHero/texture/四倍符.png new file mode 100644 index 0000000..b295f98 Binary files /dev/null and b/assets/bundles/battleHero/texture/四倍符.png differ diff --git a/assets/bundles/battleHero/texture/四倍符.png.meta b/assets/bundles/battleHero/texture/四倍符.png.meta new file mode 100644 index 0000000..8c985ad --- /dev/null +++ b/assets/bundles/battleHero/texture/四倍符.png.meta @@ -0,0 +1,134 @@ +{ + "ver": "1.0.27", + "importer": "image", + "imported": true, + "uuid": "677bc857-d81e-43e2-a0bd-90f19e44cf19", + "files": [ + ".json", + ".png" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "677bc857-d81e-43e2-a0bd-90f19e44cf19@6c48a", + "displayName": "四倍符", + "id": "6c48a", + "name": "texture", + "userData": { + "wrapModeS": "clamp-to-edge", + "wrapModeT": "clamp-to-edge", + "imageUuidOrDatabaseUri": "677bc857-d81e-43e2-a0bd-90f19e44cf19", + "isUuid": true, + "visible": false, + "minfilter": "linear", + "magfilter": "linear", + "mipfilter": "none", + "anisotropy": 0 + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "677bc857-d81e-43e2-a0bd-90f19e44cf19@f9941", + "displayName": "四倍符", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0.5, + "trimX": 47, + "trimY": 29, + "width": 106, + "height": 141, + "rawWidth": 200, + "rawHeight": 200, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "packable": true, + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -53, + -70.5, + 0, + 53, + -70.5, + 0, + -53, + 70.5, + 0, + 53, + 70.5, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 47, + 171, + 153, + 171, + 47, + 30, + 153, + 30 + ], + "nuv": [ + 0.235, + 0.15, + 0.765, + 0.15, + 0.235, + 0.855, + 0.765, + 0.855 + ], + "minPos": [ + -53, + -70.5, + 0 + ], + "maxPos": [ + 53, + 70.5, + 0 + ] + }, + "isUuid": true, + "imageUuidOrDatabaseUri": "677bc857-d81e-43e2-a0bd-90f19e44cf19@6c48a", + "atlasUuid": "", + "trimType": "auto" + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "fixAlphaTransparencyArtifacts": false, + "hasAlpha": true, + "redirect": "677bc857-d81e-43e2-a0bd-90f19e44cf19@6c48a" + } +} diff --git a/assets/bundles/battleHero/texture/衰弱符.png b/assets/bundles/battleHero/texture/衰弱符.png new file mode 100644 index 0000000..3fc7826 Binary files /dev/null and b/assets/bundles/battleHero/texture/衰弱符.png differ diff --git a/assets/bundles/battleHero/texture/衰弱符.png.meta b/assets/bundles/battleHero/texture/衰弱符.png.meta new file mode 100644 index 0000000..fddf6e6 --- /dev/null +++ b/assets/bundles/battleHero/texture/衰弱符.png.meta @@ -0,0 +1,134 @@ +{ + "ver": "1.0.27", + "importer": "image", + "imported": true, + "uuid": "e03f74f9-2a5d-4960-9674-01c792894c27", + "files": [ + ".json", + ".png" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "e03f74f9-2a5d-4960-9674-01c792894c27@6c48a", + "displayName": "衰弱符", + "id": "6c48a", + "name": "texture", + "userData": { + "wrapModeS": "clamp-to-edge", + "wrapModeT": "clamp-to-edge", + "imageUuidOrDatabaseUri": "e03f74f9-2a5d-4960-9674-01c792894c27", + "isUuid": true, + "visible": false, + "minfilter": "linear", + "magfilter": "linear", + "mipfilter": "none", + "anisotropy": 0 + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "e03f74f9-2a5d-4960-9674-01c792894c27@f9941", + "displayName": "衰弱符", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0.5, + "trimX": 47, + "trimY": 29, + "width": 106, + "height": 141, + "rawWidth": 200, + "rawHeight": 200, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "packable": true, + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -53, + -70.5, + 0, + 53, + -70.5, + 0, + -53, + 70.5, + 0, + 53, + 70.5, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 47, + 171, + 153, + 171, + 47, + 30, + 153, + 30 + ], + "nuv": [ + 0.235, + 0.15, + 0.765, + 0.15, + 0.235, + 0.855, + 0.765, + 0.855 + ], + "minPos": [ + -53, + -70.5, + 0 + ], + "maxPos": [ + 53, + 70.5, + 0 + ] + }, + "isUuid": true, + "imageUuidOrDatabaseUri": "e03f74f9-2a5d-4960-9674-01c792894c27@6c48a", + "atlasUuid": "", + "trimType": "auto" + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "fixAlphaTransparencyArtifacts": false, + "hasAlpha": true, + "redirect": "e03f74f9-2a5d-4960-9674-01c792894c27@6c48a" + } +} diff --git a/assets/bundles/battleHero/texture/随机牌.png b/assets/bundles/battleHero/texture/随机牌.png new file mode 100644 index 0000000..d35359f Binary files /dev/null and b/assets/bundles/battleHero/texture/随机牌.png differ diff --git a/assets/bundles/battleHero/texture/随机牌.png.meta b/assets/bundles/battleHero/texture/随机牌.png.meta new file mode 100644 index 0000000..8fabbeb --- /dev/null +++ b/assets/bundles/battleHero/texture/随机牌.png.meta @@ -0,0 +1,134 @@ +{ + "ver": "1.0.27", + "importer": "image", + "imported": true, + "uuid": "bc1651e3-c056-4eb8-ba1f-f2a3fae4c985", + "files": [ + ".json", + ".png" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "bc1651e3-c056-4eb8-ba1f-f2a3fae4c985@6c48a", + "displayName": "随机牌", + "id": "6c48a", + "name": "texture", + "userData": { + "wrapModeS": "clamp-to-edge", + "wrapModeT": "clamp-to-edge", + "imageUuidOrDatabaseUri": "bc1651e3-c056-4eb8-ba1f-f2a3fae4c985", + "isUuid": true, + "visible": false, + "minfilter": "linear", + "magfilter": "linear", + "mipfilter": "none", + "anisotropy": 0 + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "bc1651e3-c056-4eb8-ba1f-f2a3fae4c985@f9941", + "displayName": "随机牌", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0.5, + "trimX": 47, + "trimY": 29, + "width": 106, + "height": 141, + "rawWidth": 200, + "rawHeight": 200, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "packable": true, + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -53, + -70.5, + 0, + 53, + -70.5, + 0, + -53, + 70.5, + 0, + 53, + 70.5, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 47, + 171, + 153, + 171, + 47, + 30, + 153, + 30 + ], + "nuv": [ + 0.235, + 0.15, + 0.765, + 0.15, + 0.235, + 0.855, + 0.765, + 0.855 + ], + "minPos": [ + -53, + -70.5, + 0 + ], + "maxPos": [ + 53, + 70.5, + 0 + ] + }, + "isUuid": true, + "imageUuidOrDatabaseUri": "bc1651e3-c056-4eb8-ba1f-f2a3fae4c985@6c48a", + "atlasUuid": "", + "trimType": "auto" + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "fixAlphaTransparencyArtifacts": false, + "hasAlpha": true, + "redirect": "bc1651e3-c056-4eb8-ba1f-f2a3fae4c985@6c48a" + } +} diff --git a/assets/bundles/icons/shopSkill/双倍符.png b/assets/bundles/icons/shopSkill/双倍符.png new file mode 100644 index 0000000..a39eb5f Binary files /dev/null and b/assets/bundles/icons/shopSkill/双倍符.png differ diff --git a/assets/bundles/icons/shopSkill/双倍符.png.meta b/assets/bundles/icons/shopSkill/双倍符.png.meta new file mode 100644 index 0000000..43a6e2f --- /dev/null +++ b/assets/bundles/icons/shopSkill/双倍符.png.meta @@ -0,0 +1,134 @@ +{ + "ver": "1.0.27", + "importer": "image", + "imported": true, + "uuid": "c4c9e759-0fdd-404f-8149-12f6c5069a71", + "files": [ + ".json", + ".png" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "c4c9e759-0fdd-404f-8149-12f6c5069a71@6c48a", + "displayName": "双倍符", + "id": "6c48a", + "name": "texture", + "userData": { + "wrapModeS": "clamp-to-edge", + "wrapModeT": "clamp-to-edge", + "imageUuidOrDatabaseUri": "c4c9e759-0fdd-404f-8149-12f6c5069a71", + "isUuid": true, + "visible": false, + "minfilter": "linear", + "magfilter": "linear", + "mipfilter": "none", + "anisotropy": 0 + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "c4c9e759-0fdd-404f-8149-12f6c5069a71@f9941", + "displayName": "双倍符", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0.5, + "trimX": 47, + "trimY": 29, + "width": 106, + "height": 141, + "rawWidth": 200, + "rawHeight": 200, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "packable": true, + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -53, + -70.5, + 0, + 53, + -70.5, + 0, + -53, + 70.5, + 0, + 53, + 70.5, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 47, + 171, + 153, + 171, + 47, + 30, + 153, + 30 + ], + "nuv": [ + 0.235, + 0.15, + 0.765, + 0.15, + 0.235, + 0.855, + 0.765, + 0.855 + ], + "minPos": [ + -53, + -70.5, + 0 + ], + "maxPos": [ + 53, + 70.5, + 0 + ] + }, + "isUuid": true, + "imageUuidOrDatabaseUri": "c4c9e759-0fdd-404f-8149-12f6c5069a71@6c48a", + "atlasUuid": "", + "trimType": "auto" + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "fixAlphaTransparencyArtifacts": false, + "hasAlpha": true, + "redirect": "c4c9e759-0fdd-404f-8149-12f6c5069a71@6c48a" + } +} diff --git a/assets/bundles/icons/shopSkill/四倍符.png b/assets/bundles/icons/shopSkill/四倍符.png new file mode 100644 index 0000000..b295f98 Binary files /dev/null and b/assets/bundles/icons/shopSkill/四倍符.png differ diff --git a/assets/bundles/icons/shopSkill/四倍符.png.meta b/assets/bundles/icons/shopSkill/四倍符.png.meta new file mode 100644 index 0000000..93ec10c --- /dev/null +++ b/assets/bundles/icons/shopSkill/四倍符.png.meta @@ -0,0 +1,134 @@ +{ + "ver": "1.0.27", + "importer": "image", + "imported": true, + "uuid": "12f5d695-a367-4a1c-8b32-ac4ca1931429", + "files": [ + ".json", + ".png" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "12f5d695-a367-4a1c-8b32-ac4ca1931429@6c48a", + "displayName": "四倍符", + "id": "6c48a", + "name": "texture", + "userData": { + "wrapModeS": "clamp-to-edge", + "wrapModeT": "clamp-to-edge", + "imageUuidOrDatabaseUri": "12f5d695-a367-4a1c-8b32-ac4ca1931429", + "isUuid": true, + "visible": false, + "minfilter": "linear", + "magfilter": "linear", + "mipfilter": "none", + "anisotropy": 0 + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "12f5d695-a367-4a1c-8b32-ac4ca1931429@f9941", + "displayName": "四倍符", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0.5, + "trimX": 47, + "trimY": 29, + "width": 106, + "height": 141, + "rawWidth": 200, + "rawHeight": 200, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "packable": true, + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -53, + -70.5, + 0, + 53, + -70.5, + 0, + -53, + 70.5, + 0, + 53, + 70.5, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 47, + 171, + 153, + 171, + 47, + 30, + 153, + 30 + ], + "nuv": [ + 0.235, + 0.15, + 0.765, + 0.15, + 0.235, + 0.855, + 0.765, + 0.855 + ], + "minPos": [ + -53, + -70.5, + 0 + ], + "maxPos": [ + 53, + 70.5, + 0 + ] + }, + "isUuid": true, + "imageUuidOrDatabaseUri": "12f5d695-a367-4a1c-8b32-ac4ca1931429@6c48a", + "atlasUuid": "", + "trimType": "auto" + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "fixAlphaTransparencyArtifacts": false, + "hasAlpha": true, + "redirect": "12f5d695-a367-4a1c-8b32-ac4ca1931429@6c48a" + } +} diff --git a/assets/bundles/icons/shopSkill/衰弱符.png b/assets/bundles/icons/shopSkill/衰弱符.png new file mode 100644 index 0000000..3fc7826 Binary files /dev/null and b/assets/bundles/icons/shopSkill/衰弱符.png differ diff --git a/assets/bundles/icons/shopSkill/衰弱符.png.meta b/assets/bundles/icons/shopSkill/衰弱符.png.meta new file mode 100644 index 0000000..d051b92 --- /dev/null +++ b/assets/bundles/icons/shopSkill/衰弱符.png.meta @@ -0,0 +1,134 @@ +{ + "ver": "1.0.27", + "importer": "image", + "imported": true, + "uuid": "9f8101bf-be76-489b-ba7a-7327baad0f16", + "files": [ + ".json", + ".png" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "9f8101bf-be76-489b-ba7a-7327baad0f16@6c48a", + "displayName": "衰弱符", + "id": "6c48a", + "name": "texture", + "userData": { + "wrapModeS": "clamp-to-edge", + "wrapModeT": "clamp-to-edge", + "imageUuidOrDatabaseUri": "9f8101bf-be76-489b-ba7a-7327baad0f16", + "isUuid": true, + "visible": false, + "minfilter": "linear", + "magfilter": "linear", + "mipfilter": "none", + "anisotropy": 0 + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "9f8101bf-be76-489b-ba7a-7327baad0f16@f9941", + "displayName": "衰弱符", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0.5, + "trimX": 47, + "trimY": 29, + "width": 106, + "height": 141, + "rawWidth": 200, + "rawHeight": 200, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "packable": true, + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -53, + -70.5, + 0, + 53, + -70.5, + 0, + -53, + 70.5, + 0, + 53, + 70.5, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 47, + 171, + 153, + 171, + 47, + 30, + 153, + 30 + ], + "nuv": [ + 0.235, + 0.15, + 0.765, + 0.15, + 0.235, + 0.855, + 0.765, + 0.855 + ], + "minPos": [ + -53, + -70.5, + 0 + ], + "maxPos": [ + 53, + 70.5, + 0 + ] + }, + "isUuid": true, + "imageUuidOrDatabaseUri": "9f8101bf-be76-489b-ba7a-7327baad0f16@6c48a", + "atlasUuid": "", + "trimType": "auto" + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "fixAlphaTransparencyArtifacts": false, + "hasAlpha": true, + "redirect": "9f8101bf-be76-489b-ba7a-7327baad0f16@6c48a" + } +} diff --git a/assets/bundles/icons/shopSkill/随机牌.png b/assets/bundles/icons/shopSkill/随机牌.png new file mode 100644 index 0000000..d35359f Binary files /dev/null and b/assets/bundles/icons/shopSkill/随机牌.png differ diff --git a/assets/bundles/icons/shopSkill/随机牌.png.meta b/assets/bundles/icons/shopSkill/随机牌.png.meta new file mode 100644 index 0000000..cee00c8 --- /dev/null +++ b/assets/bundles/icons/shopSkill/随机牌.png.meta @@ -0,0 +1,134 @@ +{ + "ver": "1.0.27", + "importer": "image", + "imported": true, + "uuid": "021da34c-de0f-42fc-835e-258acfe91618", + "files": [ + ".json", + ".png" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "021da34c-de0f-42fc-835e-258acfe91618@6c48a", + "displayName": "随机牌", + "id": "6c48a", + "name": "texture", + "userData": { + "wrapModeS": "clamp-to-edge", + "wrapModeT": "clamp-to-edge", + "imageUuidOrDatabaseUri": "021da34c-de0f-42fc-835e-258acfe91618", + "isUuid": true, + "visible": false, + "minfilter": "linear", + "magfilter": "linear", + "mipfilter": "none", + "anisotropy": 0 + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "021da34c-de0f-42fc-835e-258acfe91618@f9941", + "displayName": "随机牌", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0.5, + "trimX": 47, + "trimY": 29, + "width": 106, + "height": 141, + "rawWidth": 200, + "rawHeight": 200, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "packable": true, + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -53, + -70.5, + 0, + 53, + -70.5, + 0, + -53, + 70.5, + 0, + 53, + 70.5, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 47, + 171, + 153, + 171, + 47, + 30, + 153, + 30 + ], + "nuv": [ + 0.235, + 0.15, + 0.765, + 0.15, + 0.235, + 0.855, + 0.765, + 0.855 + ], + "minPos": [ + -53, + -70.5, + 0 + ], + "maxPos": [ + 53, + 70.5, + 0 + ] + }, + "isUuid": true, + "imageUuidOrDatabaseUri": "021da34c-de0f-42fc-835e-258acfe91618@6c48a", + "atlasUuid": "", + "trimType": "auto" + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "fixAlphaTransparencyArtifacts": false, + "hasAlpha": true, + "redirect": "021da34c-de0f-42fc-835e-258acfe91618@6c48a" + } +} diff --git a/assets/script/battle/view/CocosBagBoardView.ts b/assets/script/battle/view/CocosBagBoardView.ts index bf18e66..aba2970 100644 --- a/assets/script/battle/view/CocosBagBoardView.ts +++ b/assets/script/battle/view/CocosBagBoardView.ts @@ -6443,9 +6443,10 @@ if (weapon2Id === GRID_WEAPON2_ID) return true; const data = this._resolveTextGridData(grid); const isPeachTree = grid.isPeachTreeTile(); + const isBagItem = this._isBagItemEntity(data); // 五行数字与旧 Single=1 编号重叠,数字格子一律 Hero,勿再开 Desc1 - const opensDesc1 = isPeachTree; - const hasHeroDesc = !isPeachTree && !!(data.tower && data.weapon1Id > 0); + const opensDesc1 = isPeachTree || isBagItem; + const hasHeroDesc = !isPeachTree && !isBagItem && !!(data.tower && data.weapon1Id > 0); const canRange = this._canShowType1Range(grid); if ( @@ -6485,6 +6486,7 @@ if (weapon2Id === GRID_WEAPON2_ID) return true; entity, runtime: data.runtime ?? null, isPeachTree: isPeachTree, + isBagItem: isBagItem, enemyCamp: this._isEnemyTextGrid(grid), weaponWorldPos: layout ? { x: layout.weaponWorldPos.x, y: layout.weaponWorldPos.y, z: layout.weaponWorldPos.z } @@ -6652,9 +6654,21 @@ if (weapon2Id === GRID_WEAPON2_ID) return true; private _gridCanShowWeaponDesc(grid: TextGrid): boolean { const data = this._resolveTextGridData(grid); if (grid.isPeachTreeTile()) return !!data.tile; + if (this._isBagItemEntity(data)) return !!data.tile; return !!(data.tower && data.weapon1Id > 0); } + /** + * 背包功能符 / 倍率卡 / 属性卡(走 Desc1 名称+描述,非 Hero 数值面板)。 + * @param data 字块快照 + */ + private _isBagItemEntity(data: TextGridData | TextGridEntityData | null | undefined): boolean { + if (!data) return false; + if (Math.floor(Number(data.battleCardKind) || 0) > 0) return true; + const tileType = Math.floor(Number(data.tileType) || Number(data.tile?.type) || 0); + return isBagToolTextType(tileType); + } + private _onMapGridTouchEnd(event: EventTouch): void { if (this._activeDrag) return; const mapIndex = this._resolveMapGridAt(event.getUILocation()); diff --git a/assets/script/ui/BattleWeaponDesc1/UIBattleWeaponDesc1.ts b/assets/script/ui/BattleWeaponDesc1/UIBattleWeaponDesc1.ts index e94b5cd..381522f 100644 --- a/assets/script/ui/BattleWeaponDesc1/UIBattleWeaponDesc1.ts +++ b/assets/script/ui/BattleWeaponDesc1/UIBattleWeaponDesc1.ts @@ -26,13 +26,16 @@ import type { TileEntitySnapshot, TowerRuntimeSnapshot } from '../../battle/comb import { TowerQueryService } from '../../battle/combat/TowerQueryService'; import { getBattleBuffDigitStatHost } from '../../battle/combat/BattleBuffDigitStatHost'; import { deriveTowerSetupStats, TowerStatDisplay } from '../../battle/combat/TowerStatResolver'; +import { bagToolPrefabName, isBagToolTextType } from 'db://assets/mx/module/merge'; import { heroNormalSkillId, textIconName } from '../../battle/config/BattleHeroTable'; import { applyGlyphSpineSkin } from '../../battle/view/GlyphSpineSkin'; import { TextGrid } from '../../battle/view/TextGrid'; import { PEACH_TREE_WEAPON2_ID } from '../../battle/bag/BagPrepConfig'; import { WeaponComposeConfigProvider } from '../../battle/bag/WeaponComposeConfigProvider'; +import { BATTLE_HERO_BUFF_PATH } from '../../battle/res/BattleHeroResCollector'; import { GBundle, GPath } from '../../game/ConfigRes'; import { TableNames } from '../../game/ConfigTableData'; +import { BattleBuffFunctionType } from '../../manager/battleBuff/BattleBuffTypes'; import { ensureSpineSkeletonDataRuntime } from 'db://assets/mx/module/lang/spineRuntimePatch'; const { ccclass } = _decorator; @@ -42,6 +45,8 @@ export interface BattleWeaponDesc1PanelData { runtime?: TowerRuntimeSnapshot | null; /** 蟠桃树(weapon2Id=102) */ isPeachTree?: boolean; + /** 功能符 / 倍率卡 / 属性卡(名称+描述,无攻击数值) */ + isBagItem?: boolean; /** 敌方阵营(预留;单字详情暂与己方同形) */ enemyCamp?: boolean; weaponWorldPos?: { x: number; y: number; z?: number }; @@ -49,6 +54,14 @@ export interface BattleWeaponDesc1PanelData { trySwitchAtUiPos?: (uiPos: { x: number; y: number }) => boolean; } +/** 功能符 type → 详情描述(Text 表无 desc 字段) */ +const BAG_TOOL_DESC: { [type: number]: string } = { + 10: '拖到己方数字上,数字等级+1(最高14级)。可丢进垃圾桶回收。', + 11: '拖到己方数字上,数字等级+2(最高14级)。可丢进垃圾桶回收。', + 12: '拖到己方数字上,随机转换五行属性(不会保持当前属性)。可丢进垃圾桶回收。', + 13: '拖到敌方大于1级的数字上,等级-1。可丢进垃圾桶回收。', +}; + const LOG = '[UIBattleWeaponDesc1]'; /** 图鉴内隐藏 textGrid 子节点 */ const GLYPH_HIDE_CHILDREN = ['select', 'redSelect', 'canUpEff', 'trail1', 'trail2', 'trail3']; @@ -64,6 +77,8 @@ export class UIBattleWeaponDesc1 extends Auto_BattleWeaponDesc1 { private _panelLifeGen = 0; /** ui_node 下挂的字形节点 */ private _glyphNode: Node | null = null; + /** 字形是否来自 res 对象池(功能符/产卡) */ + private _glyphFromPool = false; /** 普通字攻击数值区 */ private _uiAtkNode: Node | null = null; /** 蟠桃树信息区 */ @@ -151,6 +166,7 @@ export class UIBattleWeaponDesc1 extends Auto_BattleWeaponDesc1 { const data = this.prema as BattleWeaponDesc1PanelData | null; if (!data?.entity?.tile) return; const tile = data.entity.tile; + if (data.isBagItem || this._isBagItemEntity(data.entity)) return; if (data.isPeachTree || this._isPeachText(tile)) return; const w1 = this._resolveHero(data.entity); const runtime = this._resolveLiveRuntime(data.runtime ?? null, data.entity); @@ -176,6 +192,13 @@ export class UIBattleWeaponDesc1 extends Auto_BattleWeaponDesc1 { const { entity } = data; const tile = entity.tile; + const isBagItem = !!data.isBagItem || this._isBagItemEntity(entity); + if (isBagItem) { + this._refreshBagItemPanel(entity); + this._applyPanelPosition(data); + return; + } + const isPeachText = !!data.isPeachTree || this._isPeachText(tile); const w1 = this._resolveHero(entity); const runtime = this._resolveLiveRuntime(data.runtime ?? null, entity); @@ -282,10 +305,16 @@ export class UIBattleWeaponDesc1 extends Auto_BattleWeaponDesc1 { } private _clearGlyphNode(): void { - if (this._glyphNode?.isValid) { - this._glyphNode.destroy(); - } + const held = this._glyphNode; this._glyphNode = null; + if (held?.isValid) { + if (this._glyphFromPool) { + gg.res.putNode(held); + } else { + held.destroy(); + } + } + this._glyphFromPool = false; if (this.ui_node?.isValid) { this.ui_node.removeAllChildren(); } @@ -296,6 +325,110 @@ export class UIBattleWeaponDesc1 extends Auto_BattleWeaponDesc1 { return Math.floor(Number(tile.id) || 0) === PEACH_TREE_WEAPON2_ID; } + /** + * 是否功能符 / 产卡。 + * @param entity 字块快照 + */ + private _isBagItemEntity(entity: TileEntitySnapshot): boolean { + if (Math.floor(Number(entity.battleCardKind) || 0) > 0) return true; + const tileType = Math.floor(Number(entity.tileType) || Number(entity.tile?.type) || 0); + return isBagToolTextType(tileType); + } + + /** + * 功能符 / 产卡:图标 + 名称 + 描述(复用蟠桃信息区,隐藏等级与 CD)。 + * @param entity 字块快照 + */ + private _refreshBagItemPanel(entity: TileEntitySnapshot): void { + const info = this._resolveBagItemInfo(entity); + if (this.lb_name) this.lb_name.string = info.name ? gg.lang.get(info.name) : ''; + if (this.lb_level) this.lb_level.string = ''; + if (this.lb_lvMax) this.lb_lvMax.string = ''; + if (this._uiAtkNode?.isValid) this._uiAtkNode.active = false; + if (this.ui_campNode?.isValid) this.ui_campNode.active = false; + const peachPanel = this._uiPeachNode ?? this.ui_peachNode; + if (peachPanel?.isValid) peachPanel.active = true; + if (this.lb_time) this.lb_time.string = ''; + if (this._lbPeachSkillDesc) { + this._lbPeachSkillDesc.string = info.desc ? gg.lang.get(info.desc) : ''; + } + this._refreshBagItemGlyph(info.prefabName); + } + + /** + * 解析道具展示名、描述、buff 预制体名。 + * @param entity 字块快照 + */ + private _resolveBagItemInfo(entity: TileEntitySnapshot): { name: string; desc: string; prefabName: string } { + const cardKind = Math.floor(Number(entity.battleCardKind) || 0); + if (cardKind > 0) { + const ft = cardKind === 1 ? BattleBuffFunctionType.MultiplierCard : BattleBuffFunctionType.AttrCard; + const row = this._battleBuffByFunctionType(ft); + const fallbackName = cardKind === 1 ? '倍率卡' : '属性卡'; + return { + name: row?.name ? String(row.name) : fallbackName, + desc: row?.desc ? String(row.desc) : '', + prefabName: fallbackName, + }; + } + const tileType = Math.floor(Number(entity.tileType) || Number(entity.tile?.type) || 0); + const prefabName = bagToolPrefabName(tileType) ?? ''; + const desc = BAG_TOOL_DESC[tileType] ?? ''; + if (!prefabName) { + console.log(LOG, '功能符预制体名缺失', tileType, entity.tile?.id); + } + if (!desc) { + console.log(LOG, '功能符描述缺失', tileType, entity.tile?.id); + } + return { name: prefabName, desc, prefabName }; + } + + /** + * 按 functiontype 取首条 Battlebuff(产卡说明)。 + * @param ft Battlebuff.functiontype + */ + private _battleBuffByFunctionType(ft: BattleBuffFunctionType): ITableBattlebuff | null { + const list = gg.data.table.getTableList(TableNames.Battlebuff) ?? []; + for (let i = 0; i < list.length; i++) { + if (Number(list[i].functiontype) === ft) return list[i]; + } + console.log(LOG, 'Battlebuff 缺失 functiontype=', ft); + return null; + } + + /** + * ui_node 挂载 battleHero/prefab/buff 预制体。 + * @param prefabName 预制体名 + */ + private _refreshBagItemGlyph(prefabName: string): void { + if (!this.ui_node?.isValid) return; + this._clearGlyphNode(); + if (!prefabName) { + this.ui_node.active = false; + return; + } + let node: Node | null = null; + try { + node = gg.res.getNode(BATTLE_HERO_BUFF_PATH, prefabName, GBundle.BattleHero); + } catch (e) { + console.log(LOG, '产卡/功能符预制体加载异常', prefabName, String(e)); + this.ui_node.active = false; + return; + } + if (!node?.isValid) { + console.log(LOG, '产卡/功能符预制体缺失', prefabName); + this.ui_node.active = false; + return; + } + node.parent = this.ui_node; + node.setPosition(0, 0, 0); + node.setScale(GLYPH_SCALE, GLYPH_SCALE, 1); + node.active = true; + this._glyphNode = node; + this._glyphFromPool = true; + this.ui_node.active = true; + } + /** 解析 Hero 行(部署快照缺失时按 weapon1Id / 蟠桃 id 兜底) */ private _resolveHero(entity: TileEntitySnapshot): ITableHero | null { const fromTower = entity.tower?.config ?? null;