refactor: 将代码中的card_lv统一替换为rarity
本次提交完成了全项目范围内术语的统一替换,将原本指代卡牌品质/等级的card_lv字段全部重命名为rarity,对齐了设计文档中的命名规范,避免了术语混淆: 1. 更新了所有配置文件、组件类、数据结构中的字段定义 2. 同步修改了注释、文档说明中的相关表述 3. 修正了英雄、技能、装备卡牌的品质显示逻辑 4. 调整了背景颜色切换、属性计算等相关业务逻辑
This commit is contained in:
@@ -96,7 +96,7 @@ export class MissionHeroComp extends CCComp {
|
||||
/** 是否正在消费召唤队列(防止并发) */
|
||||
is_processing_queue: boolean = false
|
||||
/** 召唤请求队列:按职业优先级排序后串行登场 */
|
||||
summon_queue: { uuid: number; hero_lv: number; card_lv: number; role: HRole }[] = []
|
||||
summon_queue: { uuid: number; hero_lv: number; rarity: number; role: HRole }[] = []
|
||||
/** 英雄出生序计数器(编队排队/渲染排序的稳定决胜) */
|
||||
private heroSpawnOrder = 0
|
||||
/** 预留英雄列表 */
|
||||
@@ -160,12 +160,12 @@ export class MissionHeroComp extends CCComp {
|
||||
|
||||
/**
|
||||
* 召唤请求入口:
|
||||
* 从事件参数中提取 uuid / hero_lv / card_lv,放入串行队列。
|
||||
* 从事件参数中提取 uuid / hero_lv / rarity,放入串行队列。
|
||||
* 队列按职业优先级(坦克→战士→刺客→射手→法师→辅助,HRole 升序)排序,
|
||||
* 保证高优先级职业先登场。
|
||||
*
|
||||
* @param event 事件名
|
||||
* @param args { uuid, hero_lv, card_lv }
|
||||
* @param args { uuid, hero_lv, rarity }
|
||||
*/
|
||||
private async call_hero(event: string, args: any) {
|
||||
const payload = args ?? event;
|
||||
@@ -174,10 +174,10 @@ export class MissionHeroComp extends CCComp {
|
||||
// payload.hero_lv 保留作为下限兜底,防止外部显式指定更高等级
|
||||
const outer_lv = smc.getHeroOuterLv(uuid);
|
||||
const hero_lv = Math.max(outer_lv, Math.max(1, Number(payload?.hero_lv ?? 1)));
|
||||
const card_lv = Math.max(1, Number(payload?.card_lv ?? 1));
|
||||
const rarity = Math.max(1, Number(payload?.rarity ?? 1));
|
||||
const role = HeroInfo[uuid]?.role ?? HRole.Support;
|
||||
|
||||
this.summon_queue.push({ uuid, hero_lv, card_lv, role });
|
||||
this.summon_queue.push({ uuid, hero_lv, rarity, role });
|
||||
// 按职业优先级稳定排序:HRole 升序,同职业保持入队先后
|
||||
this.summon_queue.sort((a, b) => a.role - b.role);
|
||||
this.processSummonQueue();
|
||||
@@ -224,10 +224,10 @@ export class MissionHeroComp extends CCComp {
|
||||
*
|
||||
* @param uuid 英雄 UUID
|
||||
* @param hero_lv 英雄等级
|
||||
* @param card_lv 卡牌等级(驱动 bg_node 颜色)
|
||||
* @param rarity 卡牌等级(驱动 bg_node 颜色)
|
||||
* @returns 创建的 Hero 实体
|
||||
*/
|
||||
private spawnHeroAt(uuid: number, hero_lv: number, card_lv: number) {
|
||||
private spawnHeroAt(uuid: number, hero_lv: number, rarity: number) {
|
||||
let hero = ecs.getEntity<Hero>(Hero);
|
||||
let scale = 1
|
||||
const role = HeroInfo[uuid]?.role ?? HRole.Support;
|
||||
@@ -241,7 +241,7 @@ export class MissionHeroComp extends CCComp {
|
||||
const landingPos = slot.landingPos;
|
||||
|
||||
let spawnPos: Vec3 = v3(landingPos.x, landingPos.y + MissionHeroComp.HERO_DROP_HEIGHT, 0);
|
||||
hero.load(spawnPos, scale, uuid, landingPos.y, hero_lv, card_lv, finalPosIndex);
|
||||
hero.load(spawnPos, scale, uuid, landingPos.y, hero_lv, rarity, finalPosIndex);
|
||||
|
||||
// 登记出生序,供编队排队/渲染排序做稳定决胜
|
||||
const move = hero.get(MoveComp);
|
||||
@@ -289,7 +289,7 @@ export class MissionHeroComp extends CCComp {
|
||||
while (this.summon_queue.length > 0) {
|
||||
const payload = this.summon_queue.shift();
|
||||
if (!payload) continue;
|
||||
this.spawnHeroAt(payload.uuid, payload.hero_lv, payload.card_lv);
|
||||
this.spawnHeroAt(payload.uuid, payload.hero_lv, payload.rarity);
|
||||
// 登场间隔:让掉落动画逐个播放,避免同帧堆叠
|
||||
if (this.summon_queue.length > 0) {
|
||||
await new Promise<void>(resolve => setTimeout(resolve, MissionHeroComp.SUMMON_INTERVAL * 1000));
|
||||
|
||||
Reference in New Issue
Block a user