diff --git a/assets/resources/gui/element/herobox.prefab b/assets/resources/gui/element/herobox.prefab index 54b72568..338d3766 100644 --- a/assets/resources/gui/element/herobox.prefab +++ b/assets/resources/gui/element/herobox.prefab @@ -40,23 +40,23 @@ "__id__": 165 }, { - "__id__": 433 + "__id__": 441 } ], "_active": true, "_components": [ { - "__id__": 466 + "__id__": 474 }, { - "__id__": 468 + "__id__": 476 }, { - "__id__": 470 + "__id__": 478 } ], "_prefab": { - "__id__": 626 + "__id__": 634 }, "_lpos": { "__type__": "cc.Vec3", @@ -3038,24 +3038,24 @@ ], "_active": true, "_components": [ - { - "__id__": 422 - }, - { - "__id__": 424 - }, - { - "__id__": 426 - }, - { - "__id__": 428 - }, { "__id__": 430 + }, + { + "__id__": 432 + }, + { + "__id__": 434 + }, + { + "__id__": 436 + }, + { + "__id__": 438 } ], "_prefab": { - "__id__": 432 + "__id__": 440 }, "_lpos": { "__type__": "cc.Vec3", @@ -8409,27 +8409,30 @@ "_children": [ { "__id__": 383 + }, + { + "__id__": 415 } ], "_active": true, "_components": [ { - "__id__": 415 + "__id__": 423 }, { - "__id__": 417 + "__id__": 425 }, { - "__id__": 419 + "__id__": 427 } ], "_prefab": { - "__id__": 421 + "__id__": 429 }, "_lpos": { "__type__": "cc.Vec3", "x": 0, - "y": -71.13500000000002, + "y": -146.13500000000002, "z": 0 }, "_lrot": { @@ -8740,7 +8743,7 @@ "value": { "__type__": "cc.Vec3", "x": 0, - "y": 0, + "y": 75, "z": 0 } }, @@ -8912,6 +8915,174 @@ "1866cg+2xFI5dnowlaw71s" ] }, + { + "__type__": "cc.Node", + "_name": "RichText", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 382 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 416 + }, + { + "__id__": 418 + }, + { + "__id__": 420 + } + ], + "_prefab": { + "__id__": 422 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": -20, + "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__": 415 + }, + "_enabled": true, + "__prefab": { + "__id__": 417 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 190, + "height": 150 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "d7ZPkMN6pDgI7CuEPo3CSp" + }, + { + "__type__": "cc.RichText", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 415 + }, + "_enabled": true, + "__prefab": { + "__id__": 419 + }, + "_lineHeight": 16, + "_string": "RichText", + "_horizontalAlign": 0, + "_verticalAlign": 0, + "_fontSize": 15, + "_fontColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_maxWidth": 0, + "_fontFamily": "Arial", + "_font": null, + "_isSystemFontUsed": true, + "_userDefinedFont": null, + "_cacheMode": 0, + "_imageAtlas": null, + "_handleTouchEvent": true, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "889LOJLftHH5Cibnm6dPyL" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 415 + }, + "_enabled": true, + "__prefab": { + "__id__": 421 + }, + "_alignFlags": 40, + "_target": null, + "_left": 10, + "_right": 10, + "_top": 2120, + "_bottom": 2080, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 120, + "_originalHeight": 40, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "a6YmDaXoZAJpOQsCfYoWnD" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "9aQIA8dvFEwIV7tWyw1rvr", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, { "__type__": "cc.UITransform", "_name": "", @@ -8922,12 +9093,12 @@ }, "_enabled": true, "__prefab": { - "__id__": 416 + "__id__": 424 }, "_contentSize": { "__type__": "cc.Size", "width": 210, - "height": 40 + "height": 190 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -8950,7 +9121,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 418 + "__id__": 426 }, "_alignFlags": 40, "_target": null, @@ -8986,7 +9157,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 420 + "__id__": 428 }, "_resizeMode": 1, "_layoutType": 2, @@ -9037,7 +9208,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 423 + "__id__": 431 }, "_contentSize": { "__type__": "cc.Size", @@ -9065,7 +9236,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 425 + "__id__": 433 }, "_type": 0, "_inverted": false, @@ -9087,7 +9258,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 427 + "__id__": 435 }, "_alignFlags": 45, "_target": null, @@ -9123,7 +9294,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 429 + "__id__": 437 }, "_resizeMode": 0, "_layoutType": 2, @@ -9161,7 +9332,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 431 + "__id__": 439 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -9220,26 +9391,26 @@ }, "_children": [ { - "__id__": 434 + "__id__": 442 }, { - "__id__": 453 + "__id__": 461 } ], "_active": false, "_components": [ { - "__id__": 459 + "__id__": 467 }, { - "__id__": 461 + "__id__": 469 }, { - "__id__": 463 + "__id__": 471 } ], "_prefab": { - "__id__": 465 + "__id__": 473 }, "_lpos": { "__type__": "cc.Vec3", @@ -9274,17 +9445,17 @@ "__type__": "cc.Node", "_objFlags": 0, "_parent": { - "__id__": 433 + "__id__": 441 }, "_prefab": { - "__id__": 435 + "__id__": 443 }, "__editorExtras__": {} }, { "__type__": "cc.PrefabInfo", "root": { - "__id__": 434 + "__id__": 442 }, "asset": { "__uuid__": "b8282f33-ab04-44c5-b349-4bdc291374e6", @@ -9292,7 +9463,7 @@ }, "fileId": "53+ryxPCZCH4lnXIdDcAFq", "instance": { - "__id__": 436 + "__id__": 444 }, "targetOverrides": null }, @@ -9306,37 +9477,37 @@ "mountedComponents": [], "propertyOverrides": [ { - "__id__": 437 + "__id__": 445 }, { - "__id__": 439 - }, - { - "__id__": 440 - }, - { - "__id__": 441 - }, - { - "__id__": 442 - }, - { - "__id__": 444 - }, - { - "__id__": 446 + "__id__": 447 }, { "__id__": 448 }, + { + "__id__": 449 + }, { "__id__": 450 }, { - "__id__": 451 + "__id__": 452 }, { - "__id__": 452 + "__id__": 454 + }, + { + "__id__": 456 + }, + { + "__id__": 458 + }, + { + "__id__": 459 + }, + { + "__id__": 460 } ], "removedComponents": [] @@ -9344,7 +9515,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 438 + "__id__": 446 }, "propertyPath": [ "_name" @@ -9360,7 +9531,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 438 + "__id__": 446 }, "propertyPath": [ "_lpos" @@ -9375,7 +9546,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 438 + "__id__": 446 }, "propertyPath": [ "_lrot" @@ -9391,7 +9562,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 438 + "__id__": 446 }, "propertyPath": [ "_euler" @@ -9406,7 +9577,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 443 + "__id__": 451 }, "propertyPath": [ "_contentSize" @@ -9426,7 +9597,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 445 + "__id__": 453 }, "propertyPath": [ "_contentSize" @@ -9446,7 +9617,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 447 + "__id__": 455 }, "propertyPath": [ "_contentSize" @@ -9466,7 +9637,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 449 + "__id__": 457 }, "propertyPath": [ "_left" @@ -9482,7 +9653,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 449 + "__id__": 457 }, "propertyPath": [ "_right" @@ -9492,7 +9663,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 449 + "__id__": 457 }, "propertyPath": [ "_top" @@ -9502,7 +9673,7 @@ { "__type__": "CCPropertyOverrideInfo", "targetInfo": { - "__id__": 449 + "__id__": 457 }, "propertyPath": [ "_bottom" @@ -9515,20 +9686,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 433 + "__id__": 441 }, "_children": [], "_active": true, "_components": [ { - "__id__": 454 + "__id__": 462 }, { - "__id__": 456 + "__id__": 464 } ], "_prefab": { - "__id__": 458 + "__id__": 466 }, "_lpos": { "__type__": "cc.Vec3", @@ -9565,11 +9736,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 453 + "__id__": 461 }, "_enabled": true, "__prefab": { - "__id__": 455 + "__id__": 463 }, "_contentSize": { "__type__": "cc.Size", @@ -9593,11 +9764,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 453 + "__id__": 461 }, "_enabled": true, "__prefab": { - "__id__": 457 + "__id__": 465 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -9651,11 +9822,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 433 + "__id__": 441 }, "_enabled": true, "__prefab": { - "__id__": 460 + "__id__": 468 }, "_contentSize": { "__type__": "cc.Size", @@ -9679,11 +9850,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 433 + "__id__": 441 }, "_enabled": true, "__prefab": { - "__id__": 462 + "__id__": 470 }, "_alignFlags": 45, "_target": null, @@ -9715,11 +9886,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 433 + "__id__": 441 }, "_enabled": true, "__prefab": { - "__id__": 464 + "__id__": 472 }, "_id": "" }, @@ -9750,7 +9921,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 467 + "__id__": 475 }, "_contentSize": { "__type__": "cc.Size", @@ -9778,7 +9949,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 469 + "__id__": 477 }, "_alignFlags": 0, "_target": null, @@ -9814,13 +9985,13 @@ }, "_enabled": true, "__prefab": { - "__id__": 471 + "__id__": 479 }, "icon_node": { - "__id__": 472 + "__id__": 480 }, "bg_node": { - "__id__": 512 + "__id__": 520 }, "name_label": { "__id__": 88 @@ -9829,7 +10000,10 @@ "__id__": 391 }, "noHero": { - "__id__": 433 + "__id__": 441 + }, + "skill_label": { + "__id__": 418 }, "ap_all_label": { "__id__": 109 @@ -9924,20 +10098,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 473 + "__id__": 481 }, "_children": [], "_active": true, "_components": [ { - "__id__": 507 + "__id__": 515 }, { - "__id__": 509 + "__id__": 517 } ], "_prefab": { - "__id__": 511 + "__id__": 519 }, "_lpos": { "__type__": "cc.Vec3", @@ -9978,38 +10152,38 @@ }, "_children": [ { - "__id__": 474 - }, - { - "__id__": 472 + "__id__": 482 }, { "__id__": 480 }, { - "__id__": 486 + "__id__": 488 }, { - "__id__": 492 + "__id__": 494 + }, + { + "__id__": 500 } ], "_active": true, "_components": [ { - "__id__": 498 + "__id__": 506 }, { - "__id__": 500 + "__id__": 508 }, { - "__id__": 502 + "__id__": 510 }, { - "__id__": 504 + "__id__": 512 } ], "_prefab": { - "__id__": 506 + "__id__": 514 }, "_lpos": { "__type__": "cc.Vec3", @@ -10046,20 +10220,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 473 + "__id__": 481 }, "_children": [], "_active": true, "_components": [ { - "__id__": 475 + "__id__": 483 }, { - "__id__": 477 + "__id__": 485 } ], "_prefab": { - "__id__": 479 + "__id__": 487 }, "_lpos": { "__type__": "cc.Vec3", @@ -10096,11 +10270,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 474 + "__id__": 482 }, "_enabled": true, "__prefab": { - "__id__": 476 + "__id__": 484 }, "_contentSize": { "__type__": "cc.Size", @@ -10124,11 +10298,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 474 + "__id__": 482 }, "_enabled": true, "__prefab": { - "__id__": 478 + "__id__": 486 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -10182,20 +10356,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 473 + "__id__": 481 }, "_children": [], "_active": false, "_components": [ { - "__id__": 481 + "__id__": 489 }, { - "__id__": 483 + "__id__": 491 } ], "_prefab": { - "__id__": 485 + "__id__": 493 }, "_lpos": { "__type__": "cc.Vec3", @@ -10232,11 +10406,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 480 + "__id__": 488 }, "_enabled": true, "__prefab": { - "__id__": 482 + "__id__": 490 }, "_contentSize": { "__type__": "cc.Size", @@ -10260,11 +10434,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 480 + "__id__": 488 }, "_enabled": true, "__prefab": { - "__id__": 484 + "__id__": 492 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -10318,20 +10492,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 473 + "__id__": 481 }, "_children": [], "_active": false, "_components": [ { - "__id__": 487 + "__id__": 495 }, { - "__id__": 489 + "__id__": 497 } ], "_prefab": { - "__id__": 491 + "__id__": 499 }, "_lpos": { "__type__": "cc.Vec3", @@ -10368,11 +10542,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 486 + "__id__": 494 }, "_enabled": true, "__prefab": { - "__id__": 488 + "__id__": 496 }, "_contentSize": { "__type__": "cc.Size", @@ -10396,11 +10570,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 486 + "__id__": 494 }, "_enabled": true, "__prefab": { - "__id__": 490 + "__id__": 498 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -10454,20 +10628,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 473 + "__id__": 481 }, "_children": [], "_active": false, "_components": [ { - "__id__": 493 + "__id__": 501 }, { - "__id__": 495 + "__id__": 503 } ], "_prefab": { - "__id__": 497 + "__id__": 505 }, "_lpos": { "__type__": "cc.Vec3", @@ -10504,11 +10678,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 492 + "__id__": 500 }, "_enabled": true, "__prefab": { - "__id__": 494 + "__id__": 502 }, "_contentSize": { "__type__": "cc.Size", @@ -10532,11 +10706,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 492 + "__id__": 500 }, "_enabled": true, "__prefab": { - "__id__": 496 + "__id__": 504 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -10590,11 +10764,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 473 + "__id__": 481 }, "_enabled": true, "__prefab": { - "__id__": 499 + "__id__": 507 }, "_contentSize": { "__type__": "cc.Size", @@ -10618,11 +10792,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 473 + "__id__": 481 }, "_enabled": true, "__prefab": { - "__id__": 501 + "__id__": 509 }, "_type": 0, "_inverted": false, @@ -10640,11 +10814,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 473 + "__id__": 481 }, "_enabled": true, "__prefab": { - "__id__": 503 + "__id__": 511 }, "_alignFlags": 45, "_target": null, @@ -10676,11 +10850,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 473 + "__id__": 481 }, "_enabled": true, "__prefab": { - "__id__": 505 + "__id__": 513 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -10735,11 +10909,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 472 + "__id__": 480 }, "_enabled": true, "__prefab": { - "__id__": 508 + "__id__": 516 }, "_contentSize": { "__type__": "cc.Size", @@ -10763,11 +10937,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 472 + "__id__": 480 }, "_enabled": true, "__prefab": { - "__id__": 510 + "__id__": 518 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -10822,35 +10996,35 @@ }, "_children": [ { - "__id__": 513 + "__id__": 521 }, { - "__id__": 529 + "__id__": 537 }, { - "__id__": 545 + "__id__": 553 }, { - "__id__": 561 + "__id__": 569 }, { - "__id__": 577 + "__id__": 585 }, { - "__id__": 593 + "__id__": 601 } ], "_active": true, "_components": [ { - "__id__": 621 + "__id__": 629 }, { - "__id__": 623 + "__id__": 631 } ], "_prefab": { - "__id__": 625 + "__id__": 633 }, "_lpos": { "__type__": "cc.Vec3", @@ -10887,27 +11061,27 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 512 + "__id__": 520 }, "_children": [ { - "__id__": 514 + "__id__": 522 } ], "_active": true, "_components": [ { - "__id__": 522 + "__id__": 530 }, { - "__id__": 524 + "__id__": 532 }, { - "__id__": 526 + "__id__": 534 } ], "_prefab": { - "__id__": 528 + "__id__": 536 }, "_lpos": { "__type__": "cc.Vec3", @@ -10944,23 +11118,23 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 513 + "__id__": 521 }, "_children": [], "_active": true, "_components": [ { - "__id__": 515 + "__id__": 523 }, { - "__id__": 517 + "__id__": 525 }, { - "__id__": 519 + "__id__": 527 } ], "_prefab": { - "__id__": 521 + "__id__": 529 }, "_lpos": { "__type__": "cc.Vec3", @@ -10997,11 +11171,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 514 + "__id__": 522 }, "_enabled": true, "__prefab": { - "__id__": 516 + "__id__": 524 }, "_contentSize": { "__type__": "cc.Size", @@ -11025,11 +11199,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 514 + "__id__": 522 }, "_enabled": true, "__prefab": { - "__id__": 518 + "__id__": 526 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -11073,11 +11247,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 514 + "__id__": 522 }, "_enabled": true, "__prefab": { - "__id__": 520 + "__id__": 528 }, "_alignFlags": 45, "_target": null, @@ -11122,11 +11296,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 513 + "__id__": 521 }, "_enabled": true, "__prefab": { - "__id__": 523 + "__id__": 531 }, "_contentSize": { "__type__": "cc.Size", @@ -11150,11 +11324,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 513 + "__id__": 521 }, "_enabled": true, "__prefab": { - "__id__": 525 + "__id__": 533 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -11198,11 +11372,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 513 + "__id__": 521 }, "_enabled": true, "__prefab": { - "__id__": 527 + "__id__": 535 }, "_alignFlags": 45, "_target": null, @@ -11247,27 +11421,27 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 512 + "__id__": 520 }, "_children": [ { - "__id__": 530 + "__id__": 538 } ], "_active": true, "_components": [ { - "__id__": 538 + "__id__": 546 }, { - "__id__": 540 + "__id__": 548 }, { - "__id__": 542 + "__id__": 550 } ], "_prefab": { - "__id__": 544 + "__id__": 552 }, "_lpos": { "__type__": "cc.Vec3", @@ -11304,23 +11478,23 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 529 + "__id__": 537 }, "_children": [], "_active": true, "_components": [ { - "__id__": 531 + "__id__": 539 }, { - "__id__": 533 + "__id__": 541 }, { - "__id__": 535 + "__id__": 543 } ], "_prefab": { - "__id__": 537 + "__id__": 545 }, "_lpos": { "__type__": "cc.Vec3", @@ -11357,11 +11531,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 530 + "__id__": 538 }, "_enabled": true, "__prefab": { - "__id__": 532 + "__id__": 540 }, "_contentSize": { "__type__": "cc.Size", @@ -11385,11 +11559,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 530 + "__id__": 538 }, "_enabled": true, "__prefab": { - "__id__": 534 + "__id__": 542 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -11430,11 +11604,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 530 + "__id__": 538 }, "_enabled": true, "__prefab": { - "__id__": 536 + "__id__": 544 }, "_alignFlags": 45, "_target": null, @@ -11479,11 +11653,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 529 + "__id__": 537 }, "_enabled": true, "__prefab": { - "__id__": 539 + "__id__": 547 }, "_contentSize": { "__type__": "cc.Size", @@ -11507,11 +11681,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 529 + "__id__": 537 }, "_enabled": true, "__prefab": { - "__id__": 541 + "__id__": 549 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -11555,11 +11729,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 529 + "__id__": 537 }, "_enabled": true, "__prefab": { - "__id__": 543 + "__id__": 551 }, "_alignFlags": 45, "_target": null, @@ -11604,27 +11778,27 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 512 + "__id__": 520 }, "_children": [ { - "__id__": 546 + "__id__": 554 } ], "_active": true, "_components": [ { - "__id__": 554 + "__id__": 562 }, { - "__id__": 556 + "__id__": 564 }, { - "__id__": 558 + "__id__": 566 } ], "_prefab": { - "__id__": 560 + "__id__": 568 }, "_lpos": { "__type__": "cc.Vec3", @@ -11661,23 +11835,23 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 545 + "__id__": 553 }, "_children": [], "_active": true, "_components": [ { - "__id__": 547 + "__id__": 555 }, { - "__id__": 549 + "__id__": 557 }, { - "__id__": 551 + "__id__": 559 } ], "_prefab": { - "__id__": 553 + "__id__": 561 }, "_lpos": { "__type__": "cc.Vec3", @@ -11714,11 +11888,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 546 + "__id__": 554 }, "_enabled": true, "__prefab": { - "__id__": 548 + "__id__": 556 }, "_contentSize": { "__type__": "cc.Size", @@ -11742,11 +11916,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 546 + "__id__": 554 }, "_enabled": true, "__prefab": { - "__id__": 550 + "__id__": 558 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -11790,11 +11964,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 546 + "__id__": 554 }, "_enabled": true, "__prefab": { - "__id__": 552 + "__id__": 560 }, "_alignFlags": 45, "_target": null, @@ -11839,11 +12013,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 545 + "__id__": 553 }, "_enabled": true, "__prefab": { - "__id__": 555 + "__id__": 563 }, "_contentSize": { "__type__": "cc.Size", @@ -11867,11 +12041,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 545 + "__id__": 553 }, "_enabled": true, "__prefab": { - "__id__": 557 + "__id__": 565 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -11915,11 +12089,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 545 + "__id__": 553 }, "_enabled": true, "__prefab": { - "__id__": 559 + "__id__": 567 }, "_alignFlags": 45, "_target": null, @@ -11964,27 +12138,27 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 512 + "__id__": 520 }, "_children": [ { - "__id__": 562 + "__id__": 570 } ], "_active": true, "_components": [ { - "__id__": 570 + "__id__": 578 }, { - "__id__": 572 + "__id__": 580 }, { - "__id__": 574 + "__id__": 582 } ], "_prefab": { - "__id__": 576 + "__id__": 584 }, "_lpos": { "__type__": "cc.Vec3", @@ -12021,23 +12195,23 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 561 + "__id__": 569 }, "_children": [], "_active": true, "_components": [ { - "__id__": 563 + "__id__": 571 }, { - "__id__": 565 + "__id__": 573 }, { - "__id__": 567 + "__id__": 575 } ], "_prefab": { - "__id__": 569 + "__id__": 577 }, "_lpos": { "__type__": "cc.Vec3", @@ -12074,11 +12248,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 562 + "__id__": 570 }, "_enabled": true, "__prefab": { - "__id__": 564 + "__id__": 572 }, "_contentSize": { "__type__": "cc.Size", @@ -12102,11 +12276,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 562 + "__id__": 570 }, "_enabled": true, "__prefab": { - "__id__": 566 + "__id__": 574 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -12150,11 +12324,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 562 + "__id__": 570 }, "_enabled": true, "__prefab": { - "__id__": 568 + "__id__": 576 }, "_alignFlags": 45, "_target": null, @@ -12199,11 +12373,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 561 + "__id__": 569 }, "_enabled": true, "__prefab": { - "__id__": 571 + "__id__": 579 }, "_contentSize": { "__type__": "cc.Size", @@ -12227,11 +12401,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 561 + "__id__": 569 }, "_enabled": true, "__prefab": { - "__id__": 573 + "__id__": 581 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -12275,11 +12449,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 561 + "__id__": 569 }, "_enabled": true, "__prefab": { - "__id__": 575 + "__id__": 583 }, "_alignFlags": 45, "_target": null, @@ -12324,27 +12498,27 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 512 + "__id__": 520 }, "_children": [ { - "__id__": 578 + "__id__": 586 } ], "_active": true, "_components": [ { - "__id__": 586 + "__id__": 594 }, { - "__id__": 588 + "__id__": 596 }, { - "__id__": 590 + "__id__": 598 } ], "_prefab": { - "__id__": 592 + "__id__": 600 }, "_lpos": { "__type__": "cc.Vec3", @@ -12381,23 +12555,23 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 577 + "__id__": 585 }, "_children": [], "_active": true, "_components": [ { - "__id__": 579 + "__id__": 587 }, { - "__id__": 581 + "__id__": 589 }, { - "__id__": 583 + "__id__": 591 } ], "_prefab": { - "__id__": 585 + "__id__": 593 }, "_lpos": { "__type__": "cc.Vec3", @@ -12434,11 +12608,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 578 + "__id__": 586 }, "_enabled": true, "__prefab": { - "__id__": 580 + "__id__": 588 }, "_contentSize": { "__type__": "cc.Size", @@ -12462,11 +12636,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 578 + "__id__": 586 }, "_enabled": true, "__prefab": { - "__id__": 582 + "__id__": 590 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -12510,11 +12684,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 578 + "__id__": 586 }, "_enabled": true, "__prefab": { - "__id__": 584 + "__id__": 592 }, "_alignFlags": 45, "_target": null, @@ -12559,11 +12733,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 577 + "__id__": 585 }, "_enabled": true, "__prefab": { - "__id__": 587 + "__id__": 595 }, "_contentSize": { "__type__": "cc.Size", @@ -12587,11 +12761,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 577 + "__id__": 585 }, "_enabled": true, "__prefab": { - "__id__": 589 + "__id__": 597 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -12635,11 +12809,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 577 + "__id__": 585 }, "_enabled": true, "__prefab": { - "__id__": 591 + "__id__": 599 }, "_alignFlags": 45, "_target": null, @@ -12684,27 +12858,27 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 512 + "__id__": 520 }, "_children": [ - { - "__id__": 594 - }, { "__id__": 602 }, { "__id__": 610 + }, + { + "__id__": 618 } ], "_active": false, "_components": [ { - "__id__": 618 + "__id__": 626 } ], "_prefab": { - "__id__": 620 + "__id__": 628 }, "_lpos": { "__type__": "cc.Vec3", @@ -12741,183 +12915,8 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 593 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 595 - }, - { - "__id__": 597 - }, - { - "__id__": 599 - } - ], - "_prefab": { "__id__": 601 }, - "_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__": 594 - }, - "_enabled": true, - "__prefab": { - "__id__": 596 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 96, - "height": 96 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "e2LJMsJCxMdZP6mZ0DhjCz" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 594 - }, - "_enabled": true, - "__prefab": { - "__id__": 598 - }, - "_customMaterial": null, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 87, - "g": 126, - "b": 185, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73@9bd48", - "__expectedType__": "cc.SpriteFrame" - }, - "_type": 1, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "cdw29+nndGY4mHhULUKpcp" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 594 - }, - "_enabled": true, - "__prefab": { - "__id__": 600 - }, - "_alignFlags": 45, - "_target": null, - "_left": 2, - "_right": 2, - "_top": 2, - "_bottom": 2, - "_horizontalCenter": 0, - "_verticalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 48, - "_originalHeight": 48, - "_alignMode": 2, - "_lockFlags": 0, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "c29FKZj1dLY7MBfjR9CZ1j" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "deVarRuaFN1LhVMF8Wr72H", - "instance": null, - "targetOverrides": null, - "nestedPrefabInstanceRoots": null - }, - { - "__type__": "cc.Node", - "_name": "ItemFrame_Square_03_InnerBorder2", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 593 - }, "_children": [], "_active": true, "_components": [ @@ -12977,8 +12976,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 88, - "height": 88 + "width": 96, + "height": 96 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -12989,7 +12988,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "76Sa4mmOZMQrMumtAHxyo2" + "fileId": "e2LJMsJCxMdZP6mZ0DhjCz" }, { "__type__": "cc.Sprite", @@ -13008,13 +13007,13 @@ "_dstBlendFactor": 4, "_color": { "__type__": "cc.Color", - "r": 38, - "g": 61, - "b": 112, + "r": 87, + "g": 126, + "b": 185, "a": 255 }, "_spriteFrame": { - "__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73@d2e99", + "__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73@9bd48", "__expectedType__": "cc.SpriteFrame" }, "_type": 1, @@ -13034,7 +13033,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "a8HgrX5AFGlZ/cUTnUe2mr" + "fileId": "cdw29+nndGY4mHhULUKpcp" }, { "__type__": "cc.Widget", @@ -13050,10 +13049,10 @@ }, "_alignFlags": 45, "_target": null, - "_left": 6, - "_right": 6, - "_top": 6, - "_bottom": 6, + "_left": 2, + "_right": 2, + "_top": 2, + "_bottom": 2, "_horizontalCenter": 0, "_verticalCenter": 0, "_isAbsLeft": true, @@ -13062,15 +13061,15 @@ "_isAbsBottom": true, "_isAbsHorizontalCenter": true, "_isAbsVerticalCenter": true, - "_originalWidth": 40, - "_originalHeight": 40, + "_originalWidth": 48, + "_originalHeight": 48, "_alignMode": 2, "_lockFlags": 0, "_id": "" }, { "__type__": "cc.CompPrefabInfo", - "fileId": "ea6Ym3niBBkZkK1S3FsMEf" + "fileId": "c29FKZj1dLY7MBfjR9CZ1j" }, { "__type__": "cc.PrefabInfo", @@ -13080,18 +13079,18 @@ "asset": { "__id__": 0 }, - "fileId": "68ynJ6KthFHKvnm/9hhwDy", + "fileId": "deVarRuaFN1LhVMF8Wr72H", "instance": null, "targetOverrides": null, "nestedPrefabInstanceRoots": null }, { "__type__": "cc.Node", - "_name": "ItemFrame_Square_03_Border", + "_name": "ItemFrame_Square_03_InnerBorder2", "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 593 + "__id__": 601 }, "_children": [], "_active": true, @@ -13150,6 +13149,181 @@ "__prefab": { "__id__": 612 }, + "_contentSize": { + "__type__": "cc.Size", + "width": 88, + "height": 88 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "76Sa4mmOZMQrMumtAHxyo2" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 610 + }, + "_enabled": true, + "__prefab": { + "__id__": 614 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 38, + "g": 61, + "b": 112, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "cb93c900-b440-4571-91d1-7da1636e3d73@d2e99", + "__expectedType__": "cc.SpriteFrame" + }, + "_type": 1, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "a8HgrX5AFGlZ/cUTnUe2mr" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 610 + }, + "_enabled": true, + "__prefab": { + "__id__": 616 + }, + "_alignFlags": 45, + "_target": null, + "_left": 6, + "_right": 6, + "_top": 6, + "_bottom": 6, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 40, + "_originalHeight": 40, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "ea6Ym3niBBkZkK1S3FsMEf" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "68ynJ6KthFHKvnm/9hhwDy", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.Node", + "_name": "ItemFrame_Square_03_Border", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 601 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 619 + }, + { + "__id__": 621 + }, + { + "__id__": 623 + } + ], + "_prefab": { + "__id__": 625 + }, + "_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__": 618 + }, + "_enabled": true, + "__prefab": { + "__id__": 620 + }, "_contentSize": { "__type__": "cc.Size", "width": 100, @@ -13172,11 +13346,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 610 + "__id__": 618 }, "_enabled": true, "__prefab": { - "__id__": 614 + "__id__": 622 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -13217,11 +13391,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 610 + "__id__": 618 }, "_enabled": true, "__prefab": { - "__id__": 616 + "__id__": 624 }, "_alignFlags": 45, "_target": null, @@ -13266,11 +13440,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 593 + "__id__": 601 }, "_enabled": true, "__prefab": { - "__id__": 619 + "__id__": 627 }, "_contentSize": { "__type__": "cc.Size", @@ -13307,11 +13481,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 512 + "__id__": 520 }, "_enabled": true, "__prefab": { - "__id__": 622 + "__id__": 630 }, "_contentSize": { "__type__": "cc.Size", @@ -13335,11 +13509,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 512 + "__id__": 520 }, "_enabled": true, "__prefab": { - "__id__": 624 + "__id__": 632 }, "_alignFlags": 45, "_target": null, @@ -13390,21 +13564,21 @@ "instance": null, "targetOverrides": [ { - "__id__": 627 + "__id__": 635 }, { - "__id__": 629 + "__id__": 637 }, { - "__id__": 631 + "__id__": 639 }, { - "__id__": 633 + "__id__": 641 } ], "nestedPrefabInstanceRoots": [ { - "__id__": 434 + "__id__": 442 }, { "__id__": 383 @@ -13431,7 +13605,7 @@ "__id__": 27 }, "targetInfo": { - "__id__": 628 + "__id__": 636 } }, { @@ -13443,7 +13617,7 @@ { "__type__": "cc.TargetOverrideInfo", "source": { - "__id__": 470 + "__id__": 478 }, "sourceInfo": null, "propertyPath": [ @@ -13453,7 +13627,7 @@ "__id__": 27 }, "targetInfo": { - "__id__": 630 + "__id__": 638 } }, { @@ -13465,7 +13639,7 @@ { "__type__": "cc.TargetOverrideInfo", "source": { - "__id__": 470 + "__id__": 478 }, "sourceInfo": null, "propertyPath": [ @@ -13475,7 +13649,7 @@ "__id__": 27 }, "targetInfo": { - "__id__": 632 + "__id__": 640 } }, { @@ -13487,7 +13661,7 @@ { "__type__": "cc.TargetOverrideInfo", "source": { - "__id__": 470 + "__id__": 478 }, "sourceInfo": null, "propertyPath": [ @@ -13497,7 +13671,7 @@ "__id__": 383 }, "targetInfo": { - "__id__": 634 + "__id__": 642 } }, { diff --git a/assets/script/game/common/config/HeroSkillDesc.ts b/assets/script/game/common/config/HeroSkillDesc.ts index 471b995f..f5ff13cc 100644 --- a/assets/script/game/common/config/HeroSkillDesc.ts +++ b/assets/script/game/common/config/HeroSkillDesc.ts @@ -8,10 +8,15 @@ * 依据结构化配置动态拼出,数值永远来自 mergeSkillParams 合并后的实时配置, * 杜绝"改数值忘改文案"的漂移。 * + * 输出(双格式,供 UI 按需取用): + * - buildSkillDesc(source) → 纯文本(Label 用),数值无颜色 + * - buildSkillDescRich(source) → 富文本(RichText 用,BBCode),数值用 高亮 + * 两者共用同一套结构化行构建逻辑,仅渲染阶段区分,保证纯/富文本内容严格一致。 + * * 通用性(纯配置驱动): * 1. 触发框架:按触发类型遍历(SkillSet + overrides,不动) * 2. 效果文案:查 SkillDescSet 结构化模板渲染 - * 3. 目标/单位/属性名:由本模块统一语义化(target/hit_count、ATTR_NAME) + * 3. 目标/属性名:由本模块统一语义化(target/hit_count、ATTR_NAME) * * 数据源(入参抽象 ISkillDescSource): * heroInfo(静态 1 级配置)与 HeroAttrsComp(运行时应用 evolve 后的当前等级配置) @@ -49,8 +54,19 @@ export interface ISkillDescSource { } /** - * 需要遍历的触发技能类型列表(不含 Field 和 Revive,这两者结构不同需单独处理) + * 一条能力的结构化行:数值片段单独抽出,供富文本高亮与纯文本复用。 + * 渲染结果 = prefix + value(可高亮) + suffix。 */ +interface ISkillLine { + /** 数值前的文本(含触发条件、技能名、目标、动词等) */ + prefix: string; + /** 需要高亮的核心数值文本(如 "15%"、"4次"、"+30"),无数值时为 "" */ + value: string; + /** 数值后的文本(如 ",持续5秒" 之类尾部补充) */ + suffix: string; +} + +/** 需要遍历的触发技能类型列表(不含 Field 和 Revive,这两者结构不同需单独处理) */ const TRIGGER_KEYS: SkillTriggerType[] = [ SkillTriggerType.Call, SkillTriggerType.Dead, @@ -60,24 +76,16 @@ const TRIGGER_KEYS: SkillTriggerType[] = [ SkillTriggerType.Atked, ]; -/** - * 属性标准中文名映射(文字表达标准层的统一称谓,供 evolve 额外加成文案使用) - * 仅覆盖 evolve.ap_bonus / hp_bonus 用到的属性;其余按需补充。 - */ +/** 属性标准中文名映射(统一称谓,供 evolve 额外加成文案使用),仅覆盖 ap_bonus/hp_bonus 用到的属性 */ const ATTR_NAME: Partial> = { [Attrs.ap]: "攻击力", [Attrs.hp_max]: "最大生命", }; -/** - * 解析目标描述文本(与战斗 SCastSystem 目标选取语义严格一致) - * - * Why: Team 下 hit_count 表示"从全队中选取 N 个目标"(随机/血量最低), - * 并非全体。全体友方仅在 Ally / All 或未限定数量的 Team 群体光环语义下使用。 - * - * @param skill 合并 overrides 后的技能配置 - * @returns 目标短语,如 "自身"/"随机2名队友"/"血量最低队友"/"全体友方"/"敌方" - */ +/** 富文本数值高亮色(项目色板:金色,与等级配色协调) */ +const RICH_VALUE_COLOR = "#F1C40F"; + +/** 解析目标描述文本(与战斗 SCastSystem 目标选取语义严格一致) */ function buildTargetDesc(skill: SkillConfig): string { switch (skill.TGroup) { case TGroup.Self: @@ -89,9 +97,9 @@ function buildTargetDesc(skill: SkillConfig): string { return "全体友方"; case TGroup.Team: { const n = Math.max(1, Math.floor(skill.hit_count ?? 1)); - // 治疗类命中的是血量最低队友(SCastSystem.pickHealTargetsByMostMissingHp) + // 治疗类命中最缺血队友(SCastSystem.pickHealTargetsByMostMissingHp) if (skill.kind === SkillKind.Heal) { - return n > 1 ? `${n}名血量最低队友` : "血量最低队友"; + return n > 1 ? `${n}名最缺血队友` : "最缺血队友"; } return `随机${n}名队友`; } @@ -101,28 +109,53 @@ function buildTargetDesc(skill: SkillConfig): string { } /** - * 占位符模板替换 + * 占位符模板替换,并把"核心数值片段"用 \x01...\x02 标记,便于上层拆分高亮。 + * + * Why: 模板中 {value}{unit} 是玩家最关心的数值。这里在渲染时将其单独包裹, + * 使富文本可对其单独上色,纯文本则剥离标记后原样拼接,保证两种输出内容一致。 + * + * @returns 含 \x01hlValue\x02 标记的完整文本 */ -function renderTemplate(templ: string, vars: Record): string { +function renderTemplate(templ: string, vars: Record, hlValue: string): string { let out = templ; for (const key of Object.keys(vars)) { out = out.split(`{${key}}`).join(String(vars[key])); } - return out; + // 用 \x01...\x02 包裹数值片段作为标记,便于上层拆分为 prefix/value/suffix + return out.split(hlValue).join(`\x01${hlValue}\x02`); } /** - * 根据合并后的技能配置生成效果描述文本(查 SkillDescSet 结构化模板渲染) + * 由一行模板渲染结果构造结构化行(剥离 \x01\x02 标记,把数值片段拆到 value 字段) + * @param head 行首(触发条件:技能名 ) + * @param rendered 已用 \x01...\x02 标记数值片段的效果文本 + */ +function makeLine(head: string, rendered: string): ISkillLine { + const start = rendered.indexOf("\x01"); + const end = rendered.indexOf("\x02"); + if (start >= 0 && end > start) { + // 恰好含一个数值片段:prefix=行首+数值前文本,value=数值,suffix=数值后文本 + return { + prefix: `${head}${rendered.slice(0, start)}`, + value: rendered.slice(start + 1, end), + suffix: rendered.slice(end + 1), + }; + } + // 无数值片段(未命中模板或兜底 info):剥离残留标记,整行作为 prefix,不高亮 + return { prefix: `${head}${rendered.replace(/[\x01\x02]/g, "")}`, value: "", suffix: "" }; +} + +/** + * 根据合并后的技能配置构造结构化效果行(查 SkillDescSet 模板渲染 + 数值高亮抽取) * * 计时模式默认值兜底: * overrides 仅给 timed_buff_id 而未覆写 buff_value / buff_duration 时, - * 从 BuffList[timed_buff_id] 取默认值(value=modifiers[0].value,dur=duration), - * 保证 1 级基础档文案也完整(如占卜师 1 级"攻击力+30,持续5秒")。 + * 从 BuffList[timed_buff_id] 取默认值,保证 1 级基础档文案完整。 */ -function buildEffectDesc(skill: SkillConfig): string { +function buildEffectLine(head: string, skill: SkillConfig): ISkillLine { const desc = SkillDescSet[skill.uuid]; - // 未入表技能回退基础备注 info,保证未迁移技能不报错 - if (!desc) return String(skill.info ?? ""); + // 未入表技能回退基础备注 info,无法抽出数值,整行不高亮 + if (!desc) return { prefix: `${head}${String(skill.info ?? "")}`, value: "", suffix: "" }; const buff = skill.timed_buff_id !== undefined ? BuffList[skill.timed_buff_id] : undefined; const isTimed = buff !== undefined && !!desc.templTimed; @@ -135,45 +168,43 @@ function buildEffectDesc(skill: SkillConfig): string { value = buff!.modifiers?.[0]?.value ?? buff!.tick?.damage_or_heal ?? 0; } value = value ?? 0; - - // 持续时间:overrides 覆写优先,否则用 BuffList 默认 duration const dur = skill.buff_duration ?? buff?.duration ?? 0; - return renderTemplate(templ, { + // 高亮片段 = 数值 + 单位(如 "15%"、"4次"、"+30"),是玩家视觉焦点 + const hlValue = `${value}${desc.unit}`; + const rendered = renderTemplate(templ, { target: buildTargetDesc(skill), value: value, unit: desc.unit, verb: desc.verb, dur: dur, - }); + }, hlValue); + return makeLine(head, rendered); } /** - * 计算当前等级下 revive 的实际复活次数与回血百分比,生成完整复活文案 - * - * 与战斗 HeroAtkSystem 语义一致: - * 复活次数 = r_num + floor((lv - 1) * upr) - * 回血百分比 = SkillSet[revive.s_uuid].ap + * 复活(revive)结构化行:复刻战斗公式,高亮复活次数与回血百分比 + * 复活次数 = r_num + floor((lv - 1) * upr);回血百分比 = SkillSet[s_uuid].ap */ -function buildReviveDesc(source: ISkillDescSource): string { +function buildReviveLine(source: ISkillDescSource): ISkillLine | null { const revive = source.revive; - if (!revive) return ""; + if (!revive) return null; const base = SkillSet[revive.s_uuid]; - if (!base) return ""; + if (!base) return null; const lv = Math.max(1, source.lv ?? 1); const maxCount = revive.r_num + Math.floor((lv - 1) * revive.upr); const hpPct = base.ap ?? 0; const tpl = SkillTriggerDesc[SkillTriggerType.Revive] ?? "复活时"; - return `${tpl}:${base.name} 可复活${maxCount}次,每次恢复${hpPct}%生命`; + // 高亮片段选回血百分比(数值中最关键的收益指标) + return { + prefix: `${tpl}:${base.name} 可复活${maxCount}次,每次恢复`, + value: `${hpPct}%`, + suffix: "生命", + }; } -/** - * 累计当前等级已生效的 evolve 额外属性加成(ap_bonus / hp_bonus),生成文案行 - * - * Why: evolve 的属性加成不体现在触发技能配置里,若不平铺成文字,面板上该部分 - * 能力会静默丢失。这里按 lv 从 2 级累计到当前等级,逐条输出。 - */ -function buildEvolveBonusLines(source: ISkillDescSource): string[] { +/** evolve 额外属性加成(ap/hp)累计结构化行:高亮累计数值 */ +function buildEvolveBonusLines(source: ISkillDescSource): ISkillLine[] { const evolve = source.evolve; if (!evolve) return []; const lv = Math.max(1, source.lv ?? 1); @@ -185,28 +216,20 @@ function buildEvolveBonusLines(source: ISkillDescSource): string[] { apTotal += evo.ap_bonus ?? 0; hpTotal += evo.hp_bonus ?? 0; } - const lines: string[] = []; - if (apTotal !== 0) lines.push(`成长:额外+${apTotal}${ATTR_NAME[Attrs.ap] ?? "攻击力"}`); - if (hpTotal !== 0) lines.push(`成长:额外+${hpTotal}${ATTR_NAME[Attrs.hp_max] ?? "最大生命"}`); + const lines: ISkillLine[] = []; + if (apTotal !== 0) lines.push({ prefix: "成长:额外", value: `+${apTotal}`, suffix: ATTR_NAME[Attrs.ap] ?? "攻击力" }); + if (hpTotal !== 0) lines.push({ prefix: "成长:额外", value: `+${hpTotal}`, suffix: ATTR_NAME[Attrs.hp_max] ?? "最大生命" }); return lines; } /** - * 将英雄的触发技能/能力配置转换为标准可读描述文本 - * - * 处理流程: - * 1. 遍历 6 种标准触发技能,查 SkillSet + mergeSkillParams + SkillDescSet 拼行。 - * 2. 处理 field(驻场光环):读 FieldSkillSet 的 type+value 结构化配置。 - * 3. 处理 revive(复活):体现复活次数与回血百分比。 - * 4. 处理 evolve 额外属性加成(ap_bonus/hp_bonus)累计文案。 - * - * @param source 触发技能数据源(heroInfo 静态配置 或 HeroAttrsComp 运行时当前等级配置) - * @returns 多行描述文本,每行一条能力,用 \n 分隔 + * 构建全部能力结构化行(触发技能 + 驻场光环 + 复活 + evolve 加成)。 + * 纯文本与富文本两个公开接口共用此结果,仅渲染阶段不同。 */ -export function buildSkillDesc(source: ISkillDescSource): string { - const lines: string[] = []; +function buildSkillLines(source: ISkillDescSource): ISkillLine[] { + const lines: ISkillLine[] = []; - // ---- 第一步:6 种标准触发技能 ---- + // ---- 6 种标准触发技能 ---- for (const key of TRIGGER_KEYS) { const arr = source[key] as { s_uuid: number; t_num: number; overrides?: SkillOverrides }[] | undefined; if (!arr?.length) continue; @@ -216,26 +239,50 @@ export function buildSkillDesc(source: ISkillDescSource): string { if (!base) continue; const skill = mergeSkillParams(base, item.overrides); const trigger = tpl.replace("n", String(item.t_num)); - lines.push(`${trigger}:${base.name} ${buildEffectDesc(skill)}`); + lines.push(buildEffectLine(`${trigger}:${base.name} `, skill)); } } - // ---- 第二步:驻场光环(field)---- + // ---- 驻场光环(field):读 FieldSkillSet 结构化 info,不抽数值 ---- const fieldUuids = source[SkillTriggerType.Field] as number[] | undefined; if (fieldUuids?.length) { const tpl = SkillTriggerDesc[SkillTriggerType.Field] ?? "场上存活"; for (const uuid of fieldUuids) { const fs = FieldSkillSet[uuid]; - if (fs) lines.push(`${tpl}:${fs.name} ${fs.info}`); + if (fs) lines.push({ prefix: `${tpl}:${fs.name} ${fs.info}`, value: "", suffix: "" }); } } - // ---- 第三步:复活(revive)---- - const reviveLine = buildReviveDesc(source); + // ---- 复活(revive)---- + const reviveLine = buildReviveLine(source); if (reviveLine) lines.push(reviveLine); - // ---- 第四步:evolve 额外属性加成(ap/hp)---- + // ---- evolve 额外属性加成(ap/hp)---- lines.push(...buildEvolveBonusLines(source)); - return lines.join("\n"); + return lines; +} + +/** + * 纯文本描述(Label 用):数值无颜色。 + * @param source 触发技能数据源(heroInfo 静态配置 或 HeroAttrsComp 运行时当前等级配置) + * @returns 多行纯文本,每行一条能力,用 \n 分隔 + */ +export function buildSkillDesc(source: ISkillDescSource): string { + return buildSkillLines(source) + .map(l => `${l.prefix}${l.value}${l.suffix}`) + .join("\n"); +} + +/** + * 富文本描述(RichText 用,BBCode):数值用 高亮。 + * @param source 触发技能数据源(同 buildSkillDesc) + * @returns 多行富文本串,数值片段包裹 ,用 \n 分隔 + */ +export function buildSkillDescRich(source: ISkillDescSource): string { + return buildSkillLines(source) + .map(l => l.value + ? `${l.prefix}${l.value}${l.suffix}` + : `${l.prefix}${l.suffix}`) + .join("\n"); } diff --git a/assets/script/game/map/HeroBoxComp.ts b/assets/script/game/map/HeroBoxComp.ts index 26e6824f..831e3460 100644 --- a/assets/script/game/map/HeroBoxComp.ts +++ b/assets/script/game/map/HeroBoxComp.ts @@ -12,7 +12,7 @@ * - HeroInfo(heroSet)—— 英雄静态配置 */ import { mLogger } from "../common/Logger"; -import { _decorator, Node, Sprite, Label, resources, AnimationClip, SpriteFrame, NodeEventType, UITransform, Tween, tween, Vec3 } from "cc"; +import { _decorator, Node, Sprite, Label, RichText, resources, AnimationClip, SpriteFrame, NodeEventType, UITransform, Tween, tween, Vec3 } from "cc"; import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS"; import { CCComp } from "../../../../extensions/oops-plugin-framework/assets/module/common/CCComp"; import { oops } from "db://oops-framework/core/Oops"; @@ -20,7 +20,7 @@ import { GameEvent } from "../common/config/GameEvent"; import { HeroInfo } from "../common/config/heroSet"; import { HeroAttrsComp } from "../hero/HeroAttrsComp"; import { getLvColor } from "../common/config/GameSet"; -import { buildSkillDesc } from "../common/config/HeroSkillDesc"; +import { buildSkillDescRich } from "../common/config/HeroSkillDesc"; const { ccclass, property } = _decorator; @@ -53,9 +53,11 @@ export class HeroBoxComp extends CCComp { @property(Node) private noHero: Node = null; - /** 技能描述标签(多行,展示当前等级触发技能) */ - @property(Label) - private skill_label: Label = null; + /** 技能描述富文本(多行,展示当前等级触发技能,数值高亮) */ + @property(RichText) + private skill_label: RichText = null; + /** 技能描述富文本内容缓存(避免 refresh 降频内重复重解析排版) */ + private skillDescCache: string = ""; // ======================== 战斗信息标签(总值 + 附加值) ======================== @@ -329,6 +331,7 @@ export class HeroBoxComp extends CCComp { if (this.skill_label && this.skill_label.isValid) { this.skill_label.string = ""; } + this.skillDescCache = ""; } /** @@ -396,9 +399,14 @@ export class HeroBoxComp extends CCComp { const finalCritDmg = this.model.getFinalCritDamage(); this.setStatRow(this.crit_dmg_all_label, this.crit_dmg_plus_label, finalCritDmg, finalCritDmg - (this.model.crit_damage ?? 0), "%"); - // ---- 技能描述(当前等级触发技能,读运行时 model 最终配置) ---- + // ---- 技能描述(当前等级触发技能,读运行时 model 最终配置;数值富文本高亮) ---- if (this.skill_label && this.skill_label.isValid) { - this.skill_label.string = buildSkillDesc(this.model); + // 缓存未变则跳过重设,避免 refresh 降频内 RichText 重复重解析排版 + const desc = buildSkillDescRich(this.model); + if (desc !== this.skillDescCache) { + this.skillDescCache = desc; + this.skill_label.string = desc; + } } // ---- 图标(UUID 变化时重新加载首帧动画) ----