diff --git a/assets/resources/common/prefab/window.prefab b/assets/resources/common/prefab/window.prefab index b7a21d7f..86944b2e 100644 --- a/assets/resources/common/prefab/window.prefab +++ b/assets/resources/common/prefab/window.prefab @@ -787,7 +787,7 @@ "_contentSize": { "__type__": "cc.Size", "width": 540, - "height": 26.46 + "height": 44.1 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -812,11 +812,11 @@ "__prefab": { "__id__": 44 }, - "_lineHeight": 21, + "_lineHeight": 35, "_string": "RichText", "_horizontalAlign": 0, "_verticalAlign": 1, - "_fontSize": 20, + "_fontSize": 30, "_fontColor": { "__type__": "cc.Color", "r": 255, diff --git a/assets/script/game/common/CommonPrompt.ts b/assets/script/game/common/CommonPrompt.ts index c633a875..7f4c862c 100644 --- a/assets/script/game/common/CommonPrompt.ts +++ b/assets/script/game/common/CommonPrompt.ts @@ -21,6 +21,7 @@ */ import { _decorator, Button, Color, Component, EventTouch, Label, Node, NodeEventType, RichText, Tween, tween, Vec3 } from "cc"; import { oops } from "db://oops-framework/core/Oops"; +import { RICH_OUTLINE_COLOR, RICH_OUTLINE_WIDTH } from "./RichOutline"; const { ccclass, property } = _decorator; @@ -181,6 +182,14 @@ export class CommonPrompt extends Component { if (this.config.titleColor) { this.lab_title.color = new Color().fromHEX(this.config.titleColor); } + this.ensureTitleOutline(); + } + + /** 标题描边:Cocos 3.8+ 废弃 LabelOutline 组件,改用 Label 内建 outlineColor/outlineWidth */ + private ensureTitleOutline() { + if (!this.lab_title || !this.lab_title.isValid) return; + this.lab_title.outlineColor = new Color().fromHEX(RICH_OUTLINE_COLOR); + this.lab_title.outlineWidth = RICH_OUTLINE_WIDTH; } private setContent() { diff --git a/assets/script/game/map/HerosListComp.ts b/assets/script/game/map/HerosListComp.ts index 476e1e62..6b0e8c58 100644 --- a/assets/script/game/map/HerosListComp.ts +++ b/assets/script/game/map/HerosListComp.ts @@ -27,6 +27,7 @@ import { buildHeroSkillDesc } from "../common/HeroSkillText"; import { outlineRich } from "../common/RichOutline"; import { GameEvent } from "../common/config/GameEvent"; import { HERO_UPGRADE_NEED_FRAGMENTS, RARITY_BG_COLORS } from "../common/config/GameSet"; +import { canHeroUpgrade } from "../common/config/heroUpSet"; import { CardLiteComp } from "./CardLiteComp"; import { ChipComp } from "./ChipComp"; import { SmallTipComp } from "./SmallTipComp"; @@ -336,7 +337,16 @@ export class HerosListComp extends CCComp { this.cards_node.removeAllChildren() const sorted = [...HeroList].sort((a, b) => { - return (HeroInfo[a]?.rarity ?? 1) - (HeroInfo[b]?.rarity ?? 1); + const ga = smc.getHeroGrowth(a) + const gb = smc.getHeroGrowth(b) + // 可升级的一批排在最左 + const ca = canHeroUpgrade(ga.lv, ga.fragments) ? 0 : 1 + const cb = canHeroUpgrade(gb.lv, gb.fragments) ? 0 : 1 + if (ca !== cb) return ca - cb + // 同批内:现有等级降序优先 + if (ga.lv !== gb.lv) return gb.lv - ga.lv + // 等级相同:品质降序(rarity 越大品质越高) + return (HeroInfo[b]?.rarity ?? 1) - (HeroInfo[a]?.rarity ?? 1) }); for (const uuid of sorted) {