refactor(common): 调整弹窗预制体尺寸与文本样式
1. 调整弹窗内容区域高度与文本行高、字号 2. 为通用弹窗标题添加描边支持 3. 优化英雄列表排序逻辑 首先调整了通用弹窗预制体的文本样式参数,修复Cocos 3.8+的Label描边适配,同时重构英雄列表排序规则,将可升级英雄优先展示并按等级、品质降序排列。
This commit is contained in:
@@ -787,7 +787,7 @@
|
|||||||
"_contentSize": {
|
"_contentSize": {
|
||||||
"__type__": "cc.Size",
|
"__type__": "cc.Size",
|
||||||
"width": 540,
|
"width": 540,
|
||||||
"height": 26.46
|
"height": 44.1
|
||||||
},
|
},
|
||||||
"_anchorPoint": {
|
"_anchorPoint": {
|
||||||
"__type__": "cc.Vec2",
|
"__type__": "cc.Vec2",
|
||||||
@@ -812,11 +812,11 @@
|
|||||||
"__prefab": {
|
"__prefab": {
|
||||||
"__id__": 44
|
"__id__": 44
|
||||||
},
|
},
|
||||||
"_lineHeight": 21,
|
"_lineHeight": 35,
|
||||||
"_string": "<color=#00ff00>Rich</color><color=#0fffff>Text</color>",
|
"_string": "<color=#00ff00>Rich</color><color=#0fffff>Text</color>",
|
||||||
"_horizontalAlign": 0,
|
"_horizontalAlign": 0,
|
||||||
"_verticalAlign": 1,
|
"_verticalAlign": 1,
|
||||||
"_fontSize": 20,
|
"_fontSize": 30,
|
||||||
"_fontColor": {
|
"_fontColor": {
|
||||||
"__type__": "cc.Color",
|
"__type__": "cc.Color",
|
||||||
"r": 255,
|
"r": 255,
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
*/
|
*/
|
||||||
import { _decorator, Button, Color, Component, EventTouch, Label, Node, NodeEventType, RichText, Tween, tween, Vec3 } from "cc";
|
import { _decorator, Button, Color, Component, EventTouch, Label, Node, NodeEventType, RichText, Tween, tween, Vec3 } from "cc";
|
||||||
import { oops } from "db://oops-framework/core/Oops";
|
import { oops } from "db://oops-framework/core/Oops";
|
||||||
|
import { RICH_OUTLINE_COLOR, RICH_OUTLINE_WIDTH } from "./RichOutline";
|
||||||
|
|
||||||
const { ccclass, property } = _decorator;
|
const { ccclass, property } = _decorator;
|
||||||
|
|
||||||
@@ -181,6 +182,14 @@ export class CommonPrompt extends Component {
|
|||||||
if (this.config.titleColor) {
|
if (this.config.titleColor) {
|
||||||
this.lab_title.color = new Color().fromHEX(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() {
|
private setContent() {
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ import { buildHeroSkillDesc } from "../common/HeroSkillText";
|
|||||||
import { outlineRich } from "../common/RichOutline";
|
import { outlineRich } from "../common/RichOutline";
|
||||||
import { GameEvent } from "../common/config/GameEvent";
|
import { GameEvent } from "../common/config/GameEvent";
|
||||||
import { HERO_UPGRADE_NEED_FRAGMENTS, RARITY_BG_COLORS } from "../common/config/GameSet";
|
import { HERO_UPGRADE_NEED_FRAGMENTS, RARITY_BG_COLORS } from "../common/config/GameSet";
|
||||||
|
import { canHeroUpgrade } from "../common/config/heroUpSet";
|
||||||
import { CardLiteComp } from "./CardLiteComp";
|
import { CardLiteComp } from "./CardLiteComp";
|
||||||
import { ChipComp } from "./ChipComp";
|
import { ChipComp } from "./ChipComp";
|
||||||
import { SmallTipComp } from "./SmallTipComp";
|
import { SmallTipComp } from "./SmallTipComp";
|
||||||
@@ -336,7 +337,16 @@ export class HerosListComp extends CCComp {
|
|||||||
this.cards_node.removeAllChildren()
|
this.cards_node.removeAllChildren()
|
||||||
|
|
||||||
const sorted = [...HeroList].sort((a, b) => {
|
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) {
|
for (const uuid of sorted) {
|
||||||
|
|||||||
Reference in New Issue
Block a user