refactor(game): 拆分装备卡配置与逻辑,独立管理装备系统

1. 将装备卡从原技能卡池拆分至独立的EquipSet.ts配置
2. 新增专用的装备盒实体与事件流程,替换原有技能卡复用逻辑
3. 调整FieldSkillHelper以支持装备卡的属性加成统计
4. 优化装备商店与抽卡逻辑,移除装备卡的抽卡参与
This commit is contained in:
pan
2026-07-22 12:55:57 +08:00
parent e17ffeb2fd
commit fd056b4433
8 changed files with 124 additions and 115 deletions

View File

@@ -4,18 +4,19 @@
*
* 职责:
* 1. 渲染单个装备卡的显示信息(名称、等级、属性词条、图标)。
* 2. 处理购买点击 → 扣费 → 派发 UseSkillCard 事件触发装备生效。
* 2. 处理购买点击 → 扣费 → 派发 UseEquipCard 事件触发装备生效。
*
* 装备使用机制:
* 与技能卡使用流程一致——购买后派发 GameEvent.UseSkillCard
* 由 MissSkillsComp 接收并创建 SkillBoxComp 实体,
* SkillBoxComp 按 Field 类型被动驻场,属性加成由 FieldSkillHelper 全局聚合。
* 与技能卡使用流程一致——购买后派发 GameEvent.UseEquipCard
* 由 MissEquipComp 接收并创建 EquipBoxComp 实体,
* EquipBoxComp 按 Field 类型被动驻场,属性加成由 FieldSkillHelper 全局聚合。
*/
import { mLogger } from "../common/Logger";
import { _decorator, Node, Sprite, Label, NodeEventType } 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 { CardConfig, CardPoolList } from "../common/config/CardSet";
import { CardConfig } from "../common/config/CardSet";
import { EquipPoolList } from "../common/config/EquipSet";
import { FieldSkillSet } from "../common/config/SkillSet";
import { oops } from "db://oops-framework/core/Oops";
import { GameEvent } from "../common/config/GameEvent";
@@ -106,7 +107,7 @@ export class EquipListComp extends CCComp {
updateUI() {
if (!this.cardData) return;
const cardConfig = CardPoolList.find(c => c.uuid === this.cardData!.uuid);
const cardConfig = EquipPoolList.find(c => c.uuid === this.cardData!.uuid);
// 名称
if (this.name_label) {
@@ -191,8 +192,8 @@ export class EquipListComp extends CCComp {
return;
}
// 派发 UseSkillCard装备生效流程与技能卡一致
oops.message.dispatchEvent(GameEvent.UseSkillCard, this.cardData);
// 派发 UseEquipCard装备生效流程由 MissEquipComp 接收处理
oops.message.dispatchEvent(GameEvent.UseEquipCard, this.cardData);
// 标记已购买
this.isPurchased = true;