Files
pixelheros/.trae/skills/HeroInfo_to_CardPoolList/SKILL.md
walkpan 750097dcf7 feat: 同步 HeroInfo 到 CardPoolList 并排序英雄卡
根据 heroSet.ts 中的 HeroInfo 配置,更新 CardSet.ts 的 CardPoolList。
- 新增英雄卡条目 5012 和 5013
- 更新现有英雄卡的 lv 字段以匹配 HeroInfo.cards_lv
- 按 lv 升序对英雄卡进行排序,保持非英雄卡顺序不变
2026-03-20 20:56:36 +08:00

2.5 KiB
Raw Blame History

name, description
name description
HeroInfo_to_CardPoolList 将 Cocos Creator 项目中 heroSet.ts 的 HeroInfo 全量同步到 CardSet.ts 的 CardPoolList。只要用户提到“根据 HeroInfo 自动补全/同步 CardPoolList”“按 cards_lv 映射 CardPoolList.lv”“按 HeroInfo.lv 映射 hero_lv”就应立即使用本技能执行批量转换与校验。

HeroInfo_to_CardPoolList

适用场景

当用户提出以下目标时使用本技能:

  • HeroInfo 里的所有英雄补进 CardPoolList
  • 保证卡池条目和英雄配置一一对应
  • 批量同步等级映射关系,避免手动漏配

固定输入位置

  • 英雄源:assets/script/game/common/config/heroSet.ts
  • 卡池目标:assets/script/game/common/config/CardSet.ts

固定映射规则

  • 仅处理英雄条目(CardType.Hero
  • CardPoolList.uuid = HeroInfo.uuid
  • CardPoolList.lv = HeroInfo.cards_lv
  • CardPoolList.hero_lv = HeroInfo.lv
  • 英雄条目按 CardPoolList.lv 升序排序(同级按 uuid 升序)
  • 未指定时,英雄卡默认使用:
    • type: CardType.Hero
    • cost: 3
    • weight: 25

执行流程

  1. 读取 heroSet.ts,定位 export const HeroInfo 对象。
  2. 解析所有英雄项(按实际对象内容为准,不依赖号段硬编码)。
  3. 提取每个英雄的 uuidcards_lvlv
  4. 读取 CardSet.tsCardPoolList
  5. 仅对 type: CardType.Hero 条目做“新增或更新”:
    • 已存在同 uuid:更新 lvhero_lv
    • 不存在同 uuid:按默认字段新增
  6. 对全部英雄卡条目按 lv 升序重排(同级按 uuid 升序)。
  7. 非英雄卡(如 Special/Skill/Buff/Debuff)保持原样和原顺序。
  8. 输出结果后做一致性校验:
    • HeroInfo 英雄数量 == CardPoolList 英雄数量
    • 每个英雄 uuid 都能在 CardPoolList 找到
    • 每个条目都满足 lv=cards_lvhero_lv=HeroInfo.lv
    • 英雄条目顺序满足 lv 升序

输出要求

  • 优先直接修改 CardSet.ts,不新建额外文档文件。
  • 最终反馈必须包含:
    • 新增了多少英雄条目
    • 更新了多少已有英雄条目
    • 是否存在无法映射的异常条目

失败处理

出现以下情况必须停止并明确报错:

  • HeroInfo 结构不存在或语法异常
  • 英雄缺失 uuid/cards_lv/lv 任一关键字段
  • CardPoolList 结构不存在

质量门槛

  • 不改动与本任务无关的字段
  • 不改变非英雄卡逻辑
  • 修改后需确认 TypeScript 诊断无新增错误