- 在GameEvent枚举中添加UseItemCard事件 - 创建ItemSet物品配置表,包含8种不同效果的物品 - 在HeroAttrsComp中添加物品使用逻辑,处理物品效果应用 - 修改MissionCardComp支持物品购买界面和购买逻辑 - 添加物品购买后的视觉反馈和状态管理
106 lines
2.4 KiB
TypeScript
106 lines
2.4 KiB
TypeScript
import { Attrs, BType } from "./HeroAttrs";
|
||
|
||
/**
|
||
* 物品配置接口
|
||
*/
|
||
export interface ItemConf {
|
||
id: number;
|
||
name: string;
|
||
desc: string;
|
||
price: number;
|
||
duration: number; // 持续时间(秒)
|
||
attr: Attrs; // 提升的属性
|
||
value: number; // 提升的值
|
||
bType: BType; // 值类型(数值/百分比)
|
||
}
|
||
|
||
/**
|
||
* 物品配置表
|
||
* 20秒强效果,60秒弱效果
|
||
*/
|
||
export const ItemSet: Record<number, ItemConf> = {
|
||
// ==================== 20秒强效果 (价格: 100) ====================
|
||
1001: {
|
||
id: 1001,
|
||
name: "狂暴药水",
|
||
desc: "20秒内攻击力+50%",
|
||
price: 100,
|
||
duration: 20,
|
||
attr: Attrs.AP,
|
||
value: 50,
|
||
bType: BType.RATIO
|
||
},
|
||
1002: {
|
||
id: 1002,
|
||
name: "急速药水",
|
||
desc: "20秒内攻速+50%",
|
||
price: 100,
|
||
duration: 20,
|
||
attr: Attrs.AS,
|
||
value: 50,
|
||
bType: BType.RATIO
|
||
},
|
||
1003: {
|
||
id: 1003,
|
||
name: "金钟罩",
|
||
desc: "20秒内防御+50%",
|
||
price: 100,
|
||
duration: 20,
|
||
attr: Attrs.DEF,
|
||
value: 50,
|
||
bType: BType.RATIO
|
||
},
|
||
1004: {
|
||
id: 1004,
|
||
name: "神行药水",
|
||
desc: "20秒内移速+50%",
|
||
price: 100,
|
||
duration: 20,
|
||
attr: Attrs.SPEED,
|
||
value: 50,
|
||
bType: BType.RATIO
|
||
},
|
||
|
||
// ==================== 60秒弱效果 (价格: 50) ====================
|
||
2001: {
|
||
id: 2001,
|
||
name: "力量药剂",
|
||
desc: "60秒内攻击力+20%",
|
||
price: 50,
|
||
duration: 60,
|
||
attr: Attrs.AP,
|
||
value: 20,
|
||
bType: BType.RATIO
|
||
},
|
||
2002: {
|
||
id: 2002,
|
||
name: "敏捷药剂",
|
||
desc: "60秒内攻速+20%",
|
||
price: 50,
|
||
duration: 60,
|
||
attr: Attrs.AS,
|
||
value: 20,
|
||
bType: BType.RATIO
|
||
},
|
||
2003: {
|
||
id: 2003,
|
||
name: "护甲药剂",
|
||
desc: "60秒内防御+20%",
|
||
price: 50,
|
||
duration: 60,
|
||
attr: Attrs.DEF,
|
||
value: 20,
|
||
bType: BType.RATIO
|
||
},
|
||
2004: {
|
||
id: 2004,
|
||
name: "轻灵药剂",
|
||
desc: "60秒内移速+20%",
|
||
price: 50,
|
||
duration: 60,
|
||
attr: Attrs.SPEED,
|
||
value: 20,
|
||
bType: BType.RATIO
|
||
},
|
||
};
|